Build an agentiMessage API9 min read
Flow on iMessage: features, pricing and limits
What an agent on Flow's iMessage line can do, what each plan costs, and the limits that apply: shared and dedicated lines, outbound, groups and restrictions.

The short answer
Flow puts your agent on a real Apple number: customers text it and get blue-bubble replies. Start free, support roughly 200 to 300 people on a $30 shared line, or move to a dedicated line from $100 a month. Dedicated lines can support writing first, subject to availability and warm-up limits. Replies are effectively unlimited.
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.
What an agent can do
An agent on Flow’s iMessage line can do most of what a person can do in Messages. It goes through the same Flow Messaging API as WhatsApp, SMS and Telegram.
Receiving. A customer texts the line from Messages on iPhone, iPad or Mac, from a phone number or an Apple ID email. They can send photos and files, which Flow stores and hands the agent as a file. They can send voice notes, and the agent gets the audio and a transcript. They can tapback a message, or react with any emoji, and add the line to a group so the agent reads every message in it. They can also call the line’s number, and calls can be forwarded to the business.
Sending. The agent can send:
| Feature | What it does |
|---|---|
| Text | Up to 9,999 characters, with emoji and line breaks |
| Rich text | Bold, italic, underline, strikethrough, bigger or smaller text, and animated words |
| Subject line | A bold title above the message |
| Link previews | Rich previews for links, or plain links when turned off |
| Photos and files | Up to 10 images, videos, audio files or documents per message |
| Voice messages | Audio as a real iMessage voice memo (mp3, wav, m4a, caf, aac) |
| Contact card | The business’s contact card, so customers can save it |
| Message effects | Slam, loud, gentle, invisible ink, echo, spotlight, balloons, confetti, love, lasers, fireworks, shooting star, celebration |
| Tapbacks | Love, like, dislike, laugh, emphasize, question, or any emoji, and removing them |
| Threaded replies | Replies to a specific customer message |
| Group chats | Replies in any group the line was added to |
| Typing indicator | Shows “typing…” for up to 60 seconds while the agent works |
| Read receipts | Marks the customer’s messages as read |
| Edit | Changes a sent message within 15 minutes, also in groups |
| Unsend | Takes back a sent message within 2 minutes |
| SMS and RCS fallback | Reaches customers on Android or without iMessage, from the same number |
| Delivery status | Your app is told when each message is sent, delivered or failed |
| Scheduled sends | Queues messages and sends them when the line’s pacing allows |
| Outbound | Messages someone who has never texted the line, on a dedicated line with the outbound add-on |
See tapbacks, typing and effects for how these work through an API.
Getting customers onto the line
Every line comes with an opt-in link and a QR code that opens Messages with the line’s number filled in. The customer’s first text opens the conversation, and every reply after that works. iMessage opt-in links and QR codes shows where to put them.
Without the outbound add-on, the line only replies, so customers must text first. Typing indicators also work only within five minutes of the customer’s last message. Lines are US numbers, and customers anywhere can message them.
Pricing
iMessage is priced on its own, separate from Flow’s other plans, by line type and by how many people the line talks to in a month.
| Plan | Line | Price | People per month | Writes first? |
|---|---|---|---|---|
| Free | Shared | $0 | Up to 25 | No, customers text first |
| Paid shared | Shared | $30 a month | Roughly 200–300 | No, customers text first |
| Dedicated | Your own number | From $100 a month | Varies by plan | No, customers text first |
| Dedicated with outbound | Your own number | From $100 a month; outbound pricing to confirm | Varies by plan | Yes, within the warm-up limits |
- Shared line: one Flow number used by many businesses. Each customer joins a business by texting its join message, and each business sees only its own customers.
- Dedicated line: a number only your business uses. It is the only way to write to people first, and the option for audiences beyond the shared-line range.
- A person is anyone who messaged the line, or was messaged by it, in the calendar month.
- No setup fee. A dedicated line costs only its monthly price.
- The $30 shared plan fits roughly 200 to 300 people a month.
- Which to pick: a pilot fits the free line. An agent that only answers, for roughly 200 to 300 people, fits the $30 shared line. Your own number or more people fits a dedicated line from $100 a month. Reminders, follow-ups or any message the customer did not ask for first need a dedicated line with outbound.
iMessage API pricing shows how Flow’s plans work at different volumes.
Line safety
Flow paces every line automatically to keep it healthy. Replies to customers who wrote in the last 24 hours always go straight out. New outbound conversations ramp up over about three weeks, from a few a day to 40 a day, and if a line sees blocks or failed deliveries, Flow pauses cold sends before the number is at risk. A new dedicated line takes hours to activate, then warms up before it writes first at full rate.
Limits and restrictions
Replies to a customer are effectively unlimited. The limits bite only when a business messages people who have not written recently, or writes first.
| Limit | Value |
|---|---|
| Replies to a customer who wrote in the last 24 hours | No limit, sent right away |
| Different people messaged per line, any 24 hours | 250 |
| Message length | 9,999 characters |
| Attachments per message | Up to 10 |
| Typing indicator | Only within 5 minutes of the customer’s last message |
| Edit window | 15 minutes after sending |
| Unsend window | 2 minutes after sending |
| A queued message not yet sendable | Fails after 72 hours |
Restrictions to know before you build:
- Two-way only. No bulk sends, marketing blasts or cold outreach, even on paid plans.
- Consent happens in Messages. Opting in means texting the line, through the opt-in link, the QR code or a sign-up form that opens Messages. A checkbox on a website, or consent given on another channel, does not count.
- A first message must say who is writing and why, and offer a way to opt out, such as reply STOP. Honour opt-outs right away. A first message from a new line cannot contain marketing, links, emails, phone numbers, prices or attachments.
- No spam, scams, phishing or impersonation, and you must have the right to any brand name you use.
- No regulated data. No health information (HIPAA), card or bank account numbers, or government IDs. Flow refuses iMessage for HIPAA accounts.
- Groups are join-only. The agent replies in groups it was added to, but cannot create a group, rename it, or add or remove people.
- Delivery is not guaranteed. People whose device or country restricts iMessage will not get messages.
- Numbers are US numbers, rented from Flow. Customers anywhere can message them.
For how it compares with other providers, see the best iMessage API. To build on it, start with Build an iMessage AI agent.
Frequently asked questions
How much does Flow's iMessage line cost?
iMessage is priced on its own by line type and the number of people the line talks to in a month. A shared line is free for up to 25 people, a $30 a month shared line fits roughly 200 to 300 people, and a dedicated line, your own number, starts at $100 a month. Dedicated lines can support writing first, subject to availability and warm-up limits.
Can a Flow agent write to people first?
Yes, on a dedicated line, subject to availability and warm-up limits. Shared lines only reply, so customers text first.
Does Flow support group chats on iMessage?
The agent can reply in any group the line was added to, with text, files, effects and threaded replies. Groups are join-only: it cannot create a group, rename it, or add or remove people.
What happens when a customer does not have iMessage?
The same conversation continues over SMS or RCS from the same number.
Can I send marketing messages or bulk texts?
No. iMessage is for conversations people expect. Flow does not allow bulk sends, marketing blasts or cold outreach, even on paid plans.
Can I use iMessage for health information or card numbers?
No. Flow does not allow regulated data on iMessage: no health information (HIPAA), card or bank account numbers or government IDs, and it refuses iMessage for HIPAA accounts.
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