Description
What is RCS Business Messaging?
RCS Business Messaging (RBM) is the business side of RCS (Rich Communication Services), the GSMA standard that upgrades SMS inside the phone's own messages app. A business sends from a verified RCS agent — its name, logo and colour shown at the top of the thread — and can use what plain SMS lacks: rich cards with an image, title, description and buttons; carousels of 2 to 10 cards; suggested replies and suggested actions that dial a number, open a URL, show or share a location or add a calendar event; plus delivery receipts, read receipts and typing indicators. Google, which runs the main RBM platform, now calls it RCS for Business.
RBM travels over mobile data or Wi-Fi like an over-the-top app, but it is a carrier channel: there is nothing to install, the conversation lives in Google Messages on Android, and it reaches only users whose phone, messages app and operator have RCS turned on. iPhones support RCS from iOS 18 on supported carriers, but business messaging on iPhone varies by country and carrier. Everyone RBM cannot reach needs a fallback channel, usually SMS (Short Message Service), so senders either check capability first or react to the platform's "not RCS-capable" response.
RCS business messaging is available in India through Google's RBM on major networks and follows DLT rules: agents are tied to the brand's DLT principal entity, multi-use agents have not been offered, new promotional agents face reputation-based volume limits, and Google restricts the hours in which businesses may start conversations. Since March 2026 Airtel has also agreed to carry RCS business messages through its spam filter, ending its hold-out. Compared with WhatsApp, RBM needs no separate app but its reach depends on device and operator support and its commerce and support tooling is thinner; compared with SMS, it adds branding and interactivity but loses universal reach. The sender identity and its approval are covered on the RCS agent page.
Key takeaways
- RCS Business Messaging (RBM) lets a verified brand send rich cards, carousels and tappable suggestions in the phone's own messages app.
- It needs no extra app, but reaches only users whose phone, messages app and operator support RCS; everyone else needs SMS.
- A send to a number that cannot receive RCS returns 404 NOT_FOUND, which is the cue to fall back to SMS.
- In India, RBM follows DLT rules: agents are tied to the brand's principal entity, and business-initiated sends are limited to permitted hours.
- Limits: text up to 3,072 characters, carousels of 2–10 cards, up to 11 suggestions per message and 25 characters per label.
Usage
RCS Business Messaging in code
# {REGION} must match the agent's hosting regioncurl -X POST "https://{REGION}-rcsbusinessmessaging.googleapis.com/v1/phones/+919812345678/agentMessages?messageId=od-48213-out&agentId={AGENT_ID}" \-H "Authorization: Bearer {ACCESS_TOKEN}" \-H "Content-Type: application/json" \-d '{"contentMessage": {"richCard": {"standaloneCard": {"cardOrientation": "VERTICAL","cardContent": {"title": "Order OD-48213 is out for delivery","description": "Arriving today between 4 and 6 pm.","media": {"height": "TALL","contentInfo": { "fileUrl": "https://example.com/rcs/van.jpg" }},"suggestions": [{ "reply": { "text": "Reschedule", "postbackData": "reschedule:OD-48213" } },{ "action": { "text": "Call courier", "postbackData": "call:OD-48213","dialAction": { "phoneNumber": "+918000000000" } } },{ "action": { "text": "Track live", "postbackData": "track:OD-48213","openUrlAction": { "url": "https://example.com/track/OD-48213" } } }]}}}},"ttl": "7200s"}'# 200 OK -> accepted; DELIVERED and READ arrive later on your webhook# 404 NOT_FOUND -> this number cannot receive RCS from the agent: send SMS instead
One rich card with a reply chip and two suggested actions. The 404 branch is your SMS fallback trigger.
Mechanics
How does RCS Business Messaging work?
step 1 — Launch an agent
Create an RCS agent with its branding and use case, pass brand verification and get it approved on each carrier. Until then it can message invited test devices only.
step 2 — Send to the phone number
POST an
AgentMessageto theagentMessagesendpoint for the user's number. A404 NOT_FOUNDmeans the number cannot receive RCS from this agent right now — send SMS instead.step 3 — Build the content
Use
contentMessagefor text up to 3,072 characters, a file up to 100 MiB, or arichCard(standalone or a carousel of 2–10 cards). Add up to 11 suggestions per message, or 4 per card, each labelled in 25 characters or fewer.step 4 — Receive events on your webhook
The platform posts user events —
DELIVERED,READ,IS_TYPING— and user messages, including taps on suggestions that echo back yourpostbackData.step 5 — Expire or revoke, then fall back
If the phone is offline the platform keeps trying, so set
ttlorexpireTime(up to 15 days) on time-sensitive messages. If noDELIVEREDevent arrives in time, revoke the undelivered message and send the SMS version.
Properties
RCS Business Messaging: key facts and limits
- Where it shows
- The phone's built-in messages app
- Text message
- Up to 3,072 characters
- Carousel
- 2–10 rich cards
- Suggestions
- Up to 11 per message, 4 per rich card, 25-character labels
- Files
- Up to 100 MiB per message
- Not RCS-capable
- Send returns 404 NOT_FOUND
- India rules
- DLT-linked agents; business-initiated sends only in permitted hours
- Usual fallback
- SMS with a DLT-registered template
Why it matters
Why does RCS Business Messaging matter?
RBM is the upgrade path for SMS traffic that deserves more than 160 characters — a delivery update with "Reschedule" and "Call courier" buttons, a boarding pass with a map, an offer carousel. In Android-heavy markets such as India it reaches people in the app they already open for OTPs, under a verified brand instead of a sender code, and it falls back to SMS when RCS is unavailable. That lets marketers and developers treat it as a richer first attempt on the same phone-number list rather than a separate audience to build.
Example
Example: Delivery updates for a Bengaluru rainwear brand
A Bengaluru rainwear brand sends every shipping update as an RCS rich card with "Reschedule", "Call courier" and "Track live" suggestions. Numbers that return 404 get the same update as a single-segment SMS from the brand's DLT header, and customers who prefer WhatsApp — because they already chat with the brand there — get a utility template instead. Rescheduling requests arrive as postbackData on the brand's webhook, so the courier slot changes without an agent typing anything. For its monsoon campaign the brand uses a separate promotional agent, starts with small daily volumes while the agent's reputation builds, and schedules every send inside the permitted daytime hours.
Caveats
Common mistakes with RCS Business Messaging
Sending RCS and SMS at the same time
Firing both channels "to be safe" means many customers get the message twice. Send RCS first, wait for
DELIVEREDwith a timer, revoke anything undelivered, and only then send SMS.Caching RCS capability forever
Users switch phones, messages apps and SIMs, and turn chat features off. Treat capability as something that changes: react to 404 on every send instead of trusting a list built months ago.
Mixing promotions into a transactional agent
Each agent's use case limits what it may send, and India does not offer multi-use agents. Put offers on a promotional agent and keep order and account updates on a transactional one.
Ignoring India's hours and reputation caps
Business-initiated messages outside the permitted hours break Google's India rules, and a new promotional agent starts with low reputation and tight limits. Check the current RBM India guidelines, ramp volume gradually and schedule sends inside the window.
Designing the card first and the SMS last
The SMS fallback has to stand on its own in 160 GSM-7 characters with a registered DLT template. Write that version first, then enrich it for RCS, so both say the same thing.
Notes
Best practices for RCS Business Messaging
- Put the key fact in the card title; descriptions get cut short in carousels.
- Read taps from postbackData rather than parsing the label text, so you can rename buttons safely.
- Use TALL media height so cards render consistently, including on iPhones that support RCS.
- Report RCS and SMS delivery side by side per campaign, so the real reach of each is visible.
Questions
RBM FAQs
- Is RCS Business Messaging available in India?
- Yes. RCS business messaging is available in India through Google's RBM on major networks and follows DLT rules: agents are tied to the brand's DLT principal entity, and business-initiated conversations are limited to permitted hours.
- What is the difference between RCS and SMS?
- RCS adds a verified brand, rich cards, carousels, buttons and read receipts inside the same messages app that shows SMS. SMS reaches every phone without data; RCS needs a capable phone, app and operator, so SMS remains its fallback.
- Should a business use RCS or WhatsApp?
- Use WhatsApp where customers already chat with you and you need two-way support, templates or in-chat commerce. Use RCS to upgrade existing SMS traffic for Android users without asking them to install or open another app, with SMS behind it.
- Does RCS business messaging work on iPhone?
- Partly. iPhones support RCS from iOS 18 on supported carriers, but business messaging on iPhone varies by country and carrier, so keep an SMS fallback for iPhone users.
- What happens if a customer's phone does not support RCS?
- The send fails with 404 NOT_FOUND and nothing is delivered. Your system should then send the SMS version of the message, ideally the same wording, from your registered sender ID.