ComparisoniMessage API8 min read
iMessage vs SMS vs RCS for AI agents
iMessage, SMS and RCS compared for AI agents: who can write first, registration, formatting, buttons and consent, with Flow fallback built in.

The short answer
For an AI agent, the three channels differ less in looks than in rules. iMessage is rich and, on Flow, customers text first unless you add outbound. SMS reaches almost any phone but needs registration and consent, and RCS adds richer content on supported phones. Choose by who must write first, what you need to show and which rules you can meet.
Building on the iMessage API? Build on iMessage with Flow: one agent for iMessage, WhatsApp and Telegram. New to it? Read the iMessage API guide.
The three in short
- iMessage is Apple’s service between Apple devices. It brings blue bubbles, tapbacks, typing indicators, read receipts, effects and rich media. Apple has no public server API, so you reach it through a third-party provider.
- SMS is the carrier text. It reaches almost any phone, has tight size limits and, in the US, needs registration for business use.
- RCS is the carrier-backed upgrade to SMS, with richer content on supported phones and networks.
For an agent, the question is less “which looks best” and more “which rules can I live with”.
Rules that matter for agents
| iMessage | SMS | RCS | |
|---|---|---|---|
| Who can write first | Depends on the provider and plan. On Flow, customers text first unless the dedicated line has the outbound add-on | Anyone, subject to registration and consent | Depends on the provider |
| US registration | Not applicable to iMessage itself | A2P 10DLC registration required from 10-digit numbers | Depends on the sender and carrier |
| Reach | Apple devices | Almost any phone | Supported phones and networks |
| With Flow | Shared or dedicated US numbers | SMS fallback from the same number | RCS fallback from the same number |
Registration takes time and has fees, which is why many teams add iMessage beside SMS. Flow keeps the conversation and handler the same when a message falls back.
What each can show
For an agent, the content limits shape the design. From Flow’s content types docs:
| iMessage | SMS | |
|---|---|---|
| Text length | Up to 9,999 characters | Short; carriers segment long text |
| Media | Images, video, audio, documents, voice notes | Limited |
| Buttons | None; numbered text with fallback | None; numbered text with fallback |
| Reactions | Tapbacks | Not applicable |
| Typing | Within 5 minutes of the last message | Not applicable |
| Formatting | Markdown becomes plain text with fallback | Plain text |
Flow’s simulated SMS rules also say a document or a location from a contact over SMS answers 422 unsupported_content. Design the agent so the key answer fits in plain text, and treat anything richer as a bonus.
Consent and opt-outs
SMS has the strictest consent rules. In Flow’s simulated SMS channel, the rules a real sender follows hold too:
- A send before the contact’s first turn is a start that needs their recorded consent.
- A turn with the text STOP opts the contact out, and START lifts it.
On iMessage, consent happens in Messages: a customer opts in by texting the line, so a reply-only line makes consent simpler, because the person starts the conversation. Either way, get clear permission, honour a stop request at once and keep a record. The rules differ by country and use case, so ask your own lawyer. The iMessage API guide covers sensitive data.
How to choose
- Your users are on iPhones and you want the best experience: iMessage with Flow’s shared or dedicated US numbers.
- You must reach everyone, or start conversations at scale: SMS or RCS, with registration and consent in place.
- You want both: Flow gives you iMessage with SMS and RCS fallback from the same number and conversation API.
- You also need WhatsApp and Telegram: see one agent on iMessage, WhatsApp and Telegram.
Frequently asked questions
What is the difference between iMessage, SMS and RCS?
iMessage is Apple's messaging service between Apple devices, with blue bubbles, tapbacks, typing and effects. SMS is the carrier text message that reaches almost any phone. RCS is the carrier-backed upgrade to SMS with richer content on supported phones and networks.
Which is best for an AI agent?
It depends on your users and your rules. iMessage gives the richest experience on iPhones. SMS reaches almost everyone but needs US registration and clear consent. Many teams want iMessage first with SMS or RCS fallback.
Do I need registration to send SMS in the US?
Anyone sending SMS or MMS from a US 10-digit number must follow the applicable A2P 10DLC registration rules. Check the requirements for your sender and use case before you build.
Does Flow support SMS and RCS fallback?
Yes. Flow can continue the same conversation over SMS or RCS from the same number when a customer cannot receive iMessage.
Do buttons work on SMS and iMessage?
Neither has native buttons. On Flow, with fallback set to auto, buttons are sent as numbered text and the person's answer comes back as a button reply with the button's ID.
How do opt-outs work on SMS?
In Flow's simulated SMS rules, a start needs the contact's recorded consent, a message with the text STOP opts the contact out and START lifts it. Real rules depend on your country and use case, so ask your lawyer.
Keep reading
All posts: the Flow blog. The Flow docs have the reference.
From reading to building
Your agent, on iMessage and everywhere else.
Flow gives your agent an iMessage line, and the same code answers on WhatsApp and Telegram and works as an MCP server and CLI. See how it works on iMessage.
Build on iMessage with Flow