RCS
Deliver app-like messaging experiences natively in users’ default messaging apps with RCS Business Messaging. Orbit provides RCS via DotGo’s RBM Hub (the same RCS aggregator powering bot registration, template approval, and carrier delivery throughout Orbit), supporting rich cards, carousels, suggested actions, and branded sender profiles.Send an RCS Message
body), a standalone rich_card, or a
rich_card_carousel — they are mutually exclusive. Each suggestion chip is
either a reply ({ text, postback_data }) or an action
({ text, open_url | dial_action | view_location_action }).
Send a Rich Card
Send a Carousel
Carousels render 2–10 cards viarich_card_carousel.card_contents. A
single-card carousel renders as malformed on Android — use rich_card for one
card.
Features
- Rich cards — image, title, description, and action buttons in a single message
- Carousels — horizontally scrollable card collections (up to 10 cards)
- Suggested replies & actions — tap-to-reply buttons and deep links
- Branded sender — verified business name, logo, and color in the chat thread
- Typing indicators — real-time composing indicators
- Read receipts — delivery and read confirmation
- SMS fallback — automatic fallback to SMS when RCS is unavailable
RCS Availability
RCS is supported on Android devices with Google Messages. When the recipient’s device cannot receive RCS (Apple device, older Android, RBM not enrolled, or the carrier does not bridge to the RBM hub), Orbit can automatically retry the send over SMS without changing your request. The fallback chain is configured per organization, not per request. Once configured, every RCS send transparently retries the next channel in the chain when delivery fails for an RCS-specific reason (capability check returnsnot_capable, all RCS providers exhaust their attempts, or the recipient has
not opted in to RCS in their messaging app).
Configure RCS → SMS fallback
The cross-channel fallback chain lives on the organization, undersettings.cross_channel_fallback. Enable it once from the dashboard:
- Open Settings → Channels → Cross-Channel Fallback.
- Add a rule with Primary: RCS and Fallback: SMS (you can chain more
channels — e.g.
RCS → WhatsApp → SMS— and they will be tried in order). - Save. The change takes effect on the next send; no redeploy or send-path change is required.
What triggers the fallback
- Capability check fails — Orbit’s capability cache (or a live Dotgo
probe) reports
not_capablefor the recipient’s number. The RCS attempt short-circuits withRCS_NOT_SUPPORTEDand the router advances to the next channel in the chain. - All RCS providers fail — every registered RCS provider returns a non-retryable error within the configured retry budget.
- TCPA opt-out re-check — when the chain falls through to SMS, Orbit re-runs the SMS opt-out + DNC check against the recipient. If they have opted out of SMS (even though they accepted RCS), the message is suppressed rather than delivered over SMS.
/messages/rcs does not accept a fallback field
— passing one is ignored. Fallback behavior is entirely driven by the
organization-level configuration so it stays consistent across every send
path (API, campaigns, journeys, inbox replies) without requiring callers to
remember to set a flag.