RCS Business Messaging: 5 Templates You Can Use Today
Building for RCS? The GSMA Universal Profile is 200+ pages. Most developers just need working templates and a validation checklist.
After building RCS X — an RCS emulator for developers — we distilled the most useful patterns into this guide.
Template 1: Text Message with Suggested Actions
The most useful RCS message type. Adds quick-reply buttons to guide user interaction.
{"contentMessage":{"text":"What would you like to do today?","suggestions":[{"action":{"text":"📦 Track Order","postbackData":"track_order"}},{"action":{"text":"🛒 Place Order","postbackData":"place_order"}},{"action":{"text":"📞 Contact Support","postbackData":"contact_support"}},{"action":{"text":"📍 Find Store","postbackData":"find_store"}}]}}
Key rules:
- Max 4 suggestions per message
- Suggestion text: max 25 characters
-
postbackData: max 200 characters - Use emoji sparingly for visual hierarchy
Template 2: Rich Card (Vertical + Media)
The workhorse of RCS messaging. Image + title + description + buttons.
{"contentMessage":{"richCard":{"standaloneCard":{"cardOrientation":"VERTICAL","cardContent":{"title":"Coffee Time ☕","description":"Start your morning with the perfect cup. Fresh roasted beans delivered to your door.","media":{"height":"MEDIUM","contentInfo":{"fileUrl":"https://your-cdn.com/images/coffee-hero.jpg","mimeType":"image/jpeg"}},"suggestions":[{"action":{"text":"Order Now","postbackData":"order_coffee"}},{"action":{"text":"View Menu","postbackData":"view_menu"}}]}}}}}
Media height options:
-
SHORT— 112dp (thumbnail/icon) -
MEDIUM— 168dp (standard, recommended) -
TALL— 280dp (hero/feature image)
Image specs: Max 3.5MB JPEG, 1MB PNG. Recommended 600x340px for MEDIUM.
Template 3: Carousel (2 Cards)
Multiple cards in a swipeable carousel. Max 10 cards per carousel.
{"contentMessage":{"richCard":{"carouselCard":{"cardWidth":"MEDIUM","cardContents":[{"title":"Eiffel Tower","description":"Iconic landmark of Paris.","media":{"height":"MEDIUM","contentInfo":{"fileUrl":"https://your-cdn.com/images/eiffel.jpg","mimeType":"image/jpeg"}},"suggestions":[{"reply":{"text":"Book Eiffel Tour","postbackData":"book_eiffel"}}]},{"title":"Louvre Museum","description":"Worlds largest art museum.","media":{"height":"MEDIUM","contentInfo":{"fileUrl":"https://your-cdn.com/images/louvre.jpg","mimeType":"image/jpeg"}},"suggestions":[{"reply":{"text":"Book Louvre Tour","postbackData":"book_louvre"}}]}]}}}}
Carousel rules: cardWidth is SMALL or MEDIUM. All cards must have the same width. Best engagement: 2-5 cards.
Template 4: Calendar Action
Add events directly to the users calendar from an RCS message.
{"contentMessage":{"text":"Join our product launch event!","suggestions":[{"action":{"text":"Add to Calendar","postbackData":"add_launch_calendar","fallbackUrl":"https://your-site.com/event.ics","createCalendarEventAction":{"startTime":"2026-06-15T10:00:00Z","endTime":"2026-06-15T12:00:00Z","title":"Product Launch 2026","description":"Join us for the live launch of our new product line."}}}]}}
Always include fallbackUrl for devices that dont support calendar actions.
Template 5: AI Agent Message (MCP-Compatible)
For AI agents sending to RCS via MCP server.
{"rcsMessage":{"messageId":"msg_agent_001","conversationId":"conv_abc123","participantId":"+1234567890","type":"text","text":"Hello from your AI assistant! 🤖 How can I help you today?","suggestions":[{"action":{"text":"Ask a Question","postbackData":"ask_question"}},{"action":{"text":"View Options","postbackData":"view_options"}}]}}
GSMA Validation Quick Checklist
Before carrier submission, verify:
- [ ]
contentMessagewrapper is present - [ ] Valid JSON (no trailing commas, proper quotes)
- [ ] Text length ≤ 3072 characters
- [ ] UTF-8 encoding throughout
- [ ]
cardOrientationis VERTICAL or HORIZONTAL (required for rich cards) - [ ]
titlemax 200 chars,descriptionmax 2000 chars - [ ] Media
heightis SHORT, MEDIUM, or TALL - [ ]
fileUrlis HTTPS (HTTP is rejected) - [ ] Image max 3.5MB JPEG, 1MB PNG
- [ ] Video max 100MB, MP4 H.264
- [ ] Max 4 suggestions per message/card
- [ ] Suggestion text max 25 characters
- [ ]
postbackDatamax 200 characters - [ ] No duplicate
postbackDatawithin same message - [ ]
messageIdis unique (UUID recommended) - [ ] Brand is registered with carrier
- [ ] Fallback SMS message prepared
Need Your Campaign Validated?
RCS Campaign Validation Service — $49/campaign
We validate your RCS payloads against GSMA specs, test rendering across devices on our emulator, and send you a detailed report with fixes.
- ✓ GSMA compliance check
- ✓ Cross-device rendering test
- ✓ Carrier submission review
- ✓ Detailed fix report with code corrections
- ✓ 24-hour turnaround
- ✓ 2 free re-validations
Email morsy@specialized.live to get started.
SMS → RCS Migration: The 3 Patterns That Matter Most
Pattern 1: Text → Rich Card
SMS: "Your order shipped! Track: https://..."
RCS: Rich card with tracking image + Track Package button
Pattern 2: Keyword → Suggested Action
SMS: "Reply YES to confirm"
RCS: Suggestion button (one tap, zero parsing errors)
Pattern 3: Plain Date → Calendar Action
SMS: "Appointment at 3pm on Friday"
RCS: Calendar Action (one tap to add to calendar)
Key principle: Replace typed input with suggested actions wherever possible. This eliminates parsing errors, reduces user effort, and captures intent precisely.
Free Templates on GitHub
All 5 templates are available on GitHub: Dr-Agentic/rcs-templates
Test Your Payloads Free
Use RCS X to verify rendering, test interactions, and validate payloads — without burning carrier API quotas.
Built by the team behind RCS X — the professional RCS emulator for developers.