RCS Business Messaging: 5 Templates You Can Use Today (JSON + Validation Checklist)

dev.to

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"}}]}}
Enter fullscreen mode Exit fullscreen mode

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"}}]}}}}}
Enter fullscreen mode Exit fullscreen mode

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"}}]}]}}}}
Enter fullscreen mode Exit fullscreen mode

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."}}}]}}
Enter fullscreen mode Exit fullscreen mode

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"}}]}}
Enter fullscreen mode Exit fullscreen mode

GSMA Validation Quick Checklist

Before carrier submission, verify:

  • [ ] contentMessage wrapper is present
  • [ ] Valid JSON (no trailing commas, proper quotes)
  • [ ] Text length ≤ 3072 characters
  • [ ] UTF-8 encoding throughout
  • [ ] cardOrientation is VERTICAL or HORIZONTAL (required for rich cards)
  • [ ] title max 200 chars, description max 2000 chars
  • [ ] Media height is SHORT, MEDIUM, or TALL
  • [ ] fileUrl is 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
  • [ ] postbackData max 200 characters
  • [ ] No duplicate postbackData within same message
  • [ ] messageId is 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
Enter fullscreen mode Exit fullscreen mode

Pattern 2: Keyword → Suggested Action

SMS: "Reply YES to confirm"
RCS:  Suggestion button (one tap, zero parsing errors)
Enter fullscreen mode Exit fullscreen mode

Pattern 3: Plain Date → Calendar Action

SMS: "Appointment at 3pm on Friday"
RCS:  Calendar Action (one tap to add to calendar)
Enter fullscreen mode Exit fullscreen mode

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.

Source: dev.to

arrow_back Back to News