Chatfuel SDK vs Twilio
Twilio sells the WhatsApp API: a fee on every message in and out, and an inbox, an agent and a sign-in that are yours to build. As an alternative to Twilio, Chatfuel SDK writes that application and hands it over, under your brand.
Side by side
| Feature | Twilio | Chatfuel SDK |
|---|---|---|
| What you get | ||
What it is | An API your code calls | The application itself, handed over |
Sending and receiving a WhatsApp message | ||
How an inbound message reaches you | A webhook to a URL you host | Live in the inbox, over a WebSocket |
Who answers the customer | Your application, on that webhook | The AI agent or a person in the inbox |
Source of the app your team works in | Yours, because you write it | Yours, because the wizard wrote it: MIT |
Where it runs | Wherever you host your code | Vercel, your own server or Docker |
| What is already built | ||
A shared inbox for a team | Twilio Flex, a separate product: $150 a named user a month, or $1 an active user hour | In the app, on every plan, with no seat charge |
Conversation threads across channels | Conversations API: free to 200 active users a month, then $0.05 a user | One thread per contact, on all five channels |
Routing a conversation to a person | TaskRouter: 100 tasks a month free, then $0.06 a task | Assigned to a person, to the AI, or to nobody |
A visual flow builder | Twilio Studio, $0.0025 a flow execution | In the app, not metered |
An AI agent with a knowledge base | Your application, on the webhook | On every plan; tokens come off the balance |
Contacts with fields, filters and saved views | Twilio Segment CDP; pricing is “customized” | In the app, on every plan |
Campaigns to an audience, on a schedule | Twilio Engage, “included in CDP plans” | Broadcasts: now, later, or on a repeat |
WhatsApp’s 24-hour window | Outside it, “you must use a pre-approved message template” | Checked before you type; an approved template is the way back |
Writing a template | Content Template Builder, in the Twilio Console | In WhatsApp Manager, opened from the catalog |
Sign-in, roles and a workspace per client | Your application | The auth module: owner, admin and member |
| Getting a number live | ||
One business, its own number | Self sign-up in the Twilio Console, on an upgraded account, as an admin of the Meta Business Portfolio | One press on Connect in your app; the sign-up runs on a page Chatfuel serves |
Onboarding your clients’ numbers | “You must join Meta’s Tech Provider program”: “Create a Meta app and have it approved by Meta” | The same Connect, per client bot. You ship an app, not a submission |
Who stands between you and Meta | Twilio, and your own Meta app once you serve clients | Chatfuel — an official Meta partner and WhatsApp Business Solution Provider |
Numbers on an account | One WhatsApp Business Account per Twilio account; every sender inside it | A number belongs to a bot; Agency S at $100 holds three bots |
Trying it first | A free trial with no card, and the Sandbox for WhatsApp | A trial the wizard opens, and promo code SDK worth $100 of credits |
| What a month costs | ||
A plan | None: pay as you go | $20 a month for one bot, $100 to $2,050 for an agency |
A message you send | Meta’s fee plus $0.005 | Meta’s fee plus 10%, from 1 October 2026 |
A message a customer sends you | $0.005 | Nothing |
Brazil: 1,400 templates, 2,000 replies each way | $78.82 to Meta + $27 in fees = $105.82 | $20 plan + $78.82 to Meta + $7.88 = $106.70 |
The same month with 20,000 replies each way | $201.22 to Meta + $207 in fees = $408.22 | $20 plan + $201.22 to Meta + $20.12 = $241.34 |
People answering the inbox | On Flex, $150 a named user a month | No seat charge |
What is metered | Every message, in and out; Flex users, Conversations users, Studio executions | AI tokens, and $0.01 a conversion event, from the plan’s balance |
| Channels | ||
Messaging channels in one thread | Conversations API: chat, SMS, MMS, WhatsApp and Facebook Messenger | Instagram, WhatsApp, Facebook, TikTok and the web widget |
| Your brand | ||
What your client signs in to | The application you build | The app, with your name, logo and domain |
Your own sign-up and your own price | Your application | The auth module, on any plan |
Running several clients | A Twilio account or subaccount for each WhatsApp Business Account | Client bots in one workspace, on one balance |
When to choose which
Choose Twilio if
- WhatsApp is one endpoint among several. They sell SMS, voice, email and video on one account; we have five chat channels and none of those.
- You already run the product the messages belong in, and need only a send call and a webhook.
- Your volume is templates out and little coming back. With no plan, a quiet month costs what it sends.
- You want a contact centre with voice in it. Flex is one; our inbox is chat only.
Choose Chatfuel SDK if
- You would otherwise build the inbox, the agent and the sign-in yourself. The wizard writes them, and the source is yours under MIT.
- Customers write back. A received message costs $0.005 there and nothing here.
- You onboard clients’ numbers and do not want a Meta app of your own in review.
- Instagram, Facebook, TikTok and the web widget should land in the same inbox as WhatsApp.
- The app your clients sign in to should carry your name, at a price you set.
The send call the wizard writes
This is the generated inbox sending a reply, as it lands on your disk. The channel is read from the conversation, so the same call serves all five, and the token is not in it: the proxy on your server attaches it.
const send = useCallback(
(text: string) => {
if (!openId || !conversation) return;
const clientId = newClientId();
dispatch({ type: 'sendStarted', clientId, text, sentTime: new Date().toISOString() });
client
.mutate(SEND_TEXT_BY_PLATFORM[conversation.platform], {
botID: botId,
conversationID: openId,
message: { text, clientId },
})
.catch((err: unknown) => dispatch({ type: 'sendFailed', clientId, failure: sendFailureText(err) }));
},
[client, botId, openId, conversation, dispatch],
);Start with the app
One command scaffolds the app and writes only the modules you pick. Templates Meta has approved on the connected WhatsApp Business Account appear in the broadcasts catalog.
- Run the wizard, pick the modules, give it your name and your logo.
- Connect the number from inside your app, through Chatfuel, an official Meta partner.
- Set the AI per entry point: a direct message, an ad click, a click from a post.
- Deploy on your own domain, and add the auth module when clients sign in to you.
Questions
It depends on what you were going to build on it. If you need only a send call, another API is the like-for-like alternative to Twilio. If you were going to build an inbox, an AI agent and a client sign-in on top, Chatfuel SDK writes that application for you: React and Vite, MIT, on a workspace at $20 a month for one bot.
All comparisons