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 WhatsApp in production now. Flow’s WhatsApp is waiting for Meta’s approval.
- You need SMS, RCS, voice, email, Slack, Discord or any channel beyond Telegram 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, or use groups or FaceTime calls. Flow’s iMessage line answers people who wrote first, one-to-one, and lines are arranged with the Flow team rather than self-serve.
- 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 published prices, a contractual SLA or a compliance certification today. Flow is in beta and publishes none of these yet.
- 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 Python or Go SDK today. Flow’s TypeScript SDK is on npm (
@flow-engineer/messaging); the Python and Go SDKs are coming, so until then other languages call the HTTP API.
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:- 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 on WhatsApp when it opens.
setWebhook and sendMessage reference (Telegram, Oct 2026):
Telegram Bot API (direct)
POST /v1/webhook_endpoints and keep the whsec_... secret it returns:
Flow (HTTP, no SDK)
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
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, you need groups, FaceTime calls (Sendblue, Blooio) or RCS and SMS fallback, 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 line the person writes first (the line’s opt-in link helps them do it), and lines are arranged with the Flow team; the iMessage sandbox is not part of the self-serve test key.
About Flow, today
- Live: Telegram (sandbox bot, or your own bot once you sign in with GitHub); 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 /v1/sandbox/keys); GitHub sign-in and a dashboard. - Not available yet: SMS and voice.
- Coming: WhatsApp (pending Meta’s approval); Python and Go SDKs; docs.flow.engineer (not deployed yet; meanwhile see llms.txt and the OpenAPI spec).