TL;DR: pick by need
Side by side
All sources as of Oct 2026. ”—” means the vendor does not document it.
When Flow is not the right choice
Pick something else if any of these is true today:- You need a WhatsApp sandbox now. Flow’s WhatsApp is self-serve with your own WhatsApp Business Account, but there is no sandbox yet.
- You need SMS, RCS, voice, email, Slack, Discord or any channel beyond Telegram, WhatsApp and iMessage. None of these is available on Flow yet. Twilio and the other CPaaS providers cover SMS, RCS and voice, the iMessage APIs below fall back to SMS, and Photon lists more channels than Flow, with RCS and SMS fallback on its plans.
- Your agent must start iMessage conversations at scale, or take FaceTime calls. Flow’s iMessage lines answer people who wrote first; writing first is available on request on dedicated lines, within a warm-up. FaceTime attempts only arrive as events. Group chats work on dedicated lines, which are arranged with the Flow team; Flow’s shared line is self-serve through the free trial.
- You must self-host, or keep message data on your own infrastructure. Flow is a hosted service only; its spec and SDKs are open source, the service is not.
- You need a contractual SLA or a compliance certification. Confirm availability with the Flow team before relying on either.
- You run one simple Telegram bot. The Bot API is free, and a few dozen lines of code may be all you need (see below).
- You want a Go SDK today. Flow’s TypeScript SDK is on npm (
@flow-engineer/messaging) and its Python SDK on PyPI (flow-messaging); the Go SDK is coming, so until then Go calls the HTTP API.
The Telegram Bot API directly
The Telegram Bot API directly
The Telegram Bot API directly
Raw is fine when you run one bot, your server is up, and an occasional duplicate or out-of-order message would not matter. Telegram hosts the API for free; you write the bot.What you take on:Then with Flow, over plain HTTP (no SDK needed). Register the URL once with The Flow version is about the same length. The difference is what happens around it: with Flow, a redelivered event cannot make Flow send the webhook-answer reply twice, an outage of up to 3 days loses nothing, and the same handler works on Flow’s iMessage line.
- Downtime. Telegram retries a failed webhook and gives up “after a reasonable amount of attempts” (Telegram, Oct 2026), and keeps undelivered updates for at most 24 hours (Telegram, Oct 2026).
- Order and duplicates.
update_idincreases sequentially so that you can drop repeats and restore the order yourself when updates arrive out of order (Telegram, Oct 2026). - Rate limits. About one message per second per chat, 20 per minute in a group and about 30 per second in bulk unless paid broadcasts are enabled, with
429errors beyond that (Telegram, Oct 2026); the error’sretry_aftergives the seconds to wait (Telegram, Oct 2026). - Sending twice. If a send times out, you cannot tell whether it went out, so you need your own guard against repeating it.
- Who can be messaged. Bots cannot start conversations; the person messages the bot first (Telegram, Oct 2026). This rule applies through Flow too.
sendMessageDraft, private chats) (Telegram, Oct 2026).What Flow adds on top of Telegram:- Ordering: events reach you in order per conversation, one at a time.
- Retries without duplicates: webhooks are retried for 3 days and every event stays in a log you can replay; every send takes an
Idempotency-Key, so a retry never sends twice. - The send gate: pacing per sender, refusals with typed errors (
type,hint,doc_url) instead of raw channel errors. - Signed webhooks: an HMAC-SHA256
Flow-Signatureon every delivery, and the option to reply in the webhook answer. - The sandbox: a shared test bot and a test key with no account, so you can try it before you make a bot.
- One API across channels: the same code answers on iMessage and WhatsApp.
setWebhook and sendMessage reference (Telegram, Oct 2026):Telegram Bot API (direct)
POST /v0/webhook_endpoints and keep the whsec_... secret it returns:Flow (HTTP, no SDK)
Twilio and other CPaaS providers
Twilio and other CPaaS providers
Twilio and other CPaaS providers
Twilio and the other CPaaS (communications platform) providers are broad, mature platforms built around phone numbers.Where Twilio is stronger than Flow: SMS that reaches 180+ countries (Twilio, Oct 2026), voice, a 99.95% API availability SLA (99.99% with Enterprise Edition), with service credits (Twilio, Oct 2026), server SDKs in seven languages (Twilio, Oct 2026), and Agent Connect, a generally available Python and TypeScript SDK that connects AI agents to Voice, SMS, chat, WhatsApp and RCS (Twilio, Oct 2026).What to know for agent conversations on Twilio:
- Telegram is not among the channels on Twilio’s Messaging docs, and Apple Messages for Business is a private beta (sources in the table above).
- Webhooks are signed with HMAC-SHA1 in
X-Twilio-Signature(Twilio, Oct 2026). Retries are set per webhook URL with connection overrides, a fragment on the URL such as#rc=3&rp=5xx,ct: by default a webhook is retried once, on connection failures only, within 15 seconds in total, and you can set up to 5 retries and which failures count (Twilio, Oct 2026). Status callbacks are not guaranteed to arrive in order (Twilio, Oct 2026). - WhatsApp’s 24-hour window is yours to handle: outside it only approved templates go, and other sends fail with error 63016 (Twilio, Oct 2026).
- US SMS from a 10DLC number needs A2P 10DLC registration, hobbyists included (Twilio, Oct 2026).
iMessage APIs for agents
iMessage APIs for agents
iMessage APIs for agents
Apple’s official channel for businesses is Apple Messages for Business. Apple says automation and virtual agents must connect through an Apple-approved Messaging Service Provider, with a path to a live agent (Apple, Oct 2026). Blooio says it is one of those providers (Blooio, Oct 2026).Several APIs give an agent an iMessage phone line instead:
All sources as of Oct 2026.Choose Sendblue, Linq or Blooio if your agent must write first at scale, you need FaceTime calls (Sendblue, Blooio), you want to set up a dedicated line yourself, or you need a SOC 2 report today (Sendblue, Linq; Blooio’s is in progress). Choose Flow if your agent answers people who write to it, and you want the same API, events and send gate as on Telegram. On Flow’s iMessage lines the person writes first (the line’s opt-in link or join message helps them do it); Flow’s shared line comes with the free trial, with SMS and RCS fallback included, and dedicated lines (group chats; fallback and call forwarding as add-ons) are arranged with the Flow team.
About Flow, today
- Live: Telegram (sandbox bot, or your own bot once you sign in with a Flow account); WhatsApp on a number in your own WhatsApp Business Account (self-serve once you sign in); the TypeScript SDK on npm (
@flow-engineer/messaging); iMessage replies on lines arranged with the Flow team; signed, ordered webhooks and a WebSocket stream; the send gate; typed errors with hints; a hosted MCP server, which the project owner can choose to add to their coding tools; test keys with no account (POST /v0/sandbox/keys); sign-in with a Flow account (flow.engineer) and a dashboard. - Not available yet: SMS and voice.
- Arranged with the Flow team: WhatsApp on Flow’s number, or help connecting your own; no WhatsApp sandbox yet.
- Coming: a Go SDK; docs.flow.engineer (not deployed yet; meanwhile see llms.txt and the OpenAPI spec).