Sales & Marketing

How to Connect WhatsApp to Chatwoot (And What to Expect After)

·8 min read
Step-by-step guide to setting up WhatsApp Business API with Chatwoot. Covers Embedded Signup, manual setup, template messages, the 24-hour window rule, and Meta API costs.

Adding WhatsApp to your Chatwoot inbox is genuinely useful. A significant chunk of customer conversations that would otherwise happen on WhatsApp either go unanswered or get handled through someone's personal phone. Routing them into a shared team inbox changes that.

But the setup has a few moving parts, and the WhatsApp Business API has rules that are not obvious until you run into them. This guide walks through how the connection works, what you can and cannot do once it is set up, and what it will actually cost.

How Chatwoot Connects to WhatsApp

Chatwoot uses the official WhatsApp Business Platform (Cloud API) - Meta's own API, not a third-party workaround. This matters for a few reasons: the connection is stable, templates are supported, and you pay Meta directly without a BSP markup.

There are two ways to complete the setup.

Option 1: Embedded Signup (The Faster Path)

This is the recommended route for most teams:

  1. In Chatwoot, go to Settings > Inboxes > Add Inbox, then choose WhatsApp
  2. Click Connect with WhatsApp Business
  3. A Meta OAuth popup opens - log in with your Facebook account and follow the steps to connect your WhatsApp Business Account
  4. Select an existing phone number or register a new one, verify by OTP
  5. Chatwoot handles the webhook registration automatically

A couple of things to watch: the Meta OAuth flow requires third-party cookies to be enabled and does not work well with ad blockers. Disable them before you start.

If you are on a self-hosted instance, there is an extra step before any of this works. A Super Admin needs to configure three environment variables via the admin panel at /super_admin/app_config:

  • WHATSAPP_APP_ID
  • WHATSAPP_CONFIGURATION_ID
  • WHATSAPP_APP_SECRET

You will need to create a Facebook Business App in the Meta developer portal to get these values. It takes around 20-30 minutes if you have not done it before.

Option 2: Manual Flow (For Developers)

If you want more control, or your organisation already has a Meta Business App set up:

  1. Create or use an existing Facebook App (type: Business) at developers.facebook.com
  2. Add the WhatsApp product and accept Business Terms
  3. Create a System User with Admin role; assign Full Control permissions to the app
  4. Generate a permanent access token with whatsapp_business_manage_events, whatsapp_business_management, and whatsapp_business_messaging permissions
  5. Retrieve your Phone Number ID and Business Account ID from the Meta dashboard
  6. In Chatwoot, enter these values under the manual WhatsApp inbox setup
  7. Copy the webhook URL Chatwoot generates and paste it into the WhatsApp Configuration section in Meta's developer console, then verify it

Longer, but gives you full visibility into how the connection is wired.

Twilio as an Alternative

Chatwoot also supports connecting WhatsApp via Twilio. You provide your Twilio Account SID, Auth Token, and WhatsApp number, and conversations route through Twilio's infrastructure instead of the Cloud API directly.

The tradeoff is significant: Twilio does not support template messages in Chatwoot. That means once a customer's 24-hour conversation window closes (more on that below), you have no way to initiate contact. For proactive outreach or any scenario where you need to message first, the Cloud API direct path is the only viable option.

Twilio also has tighter limits: 1,600 characters per message and a 5MB cap on attachments, compared to 4,096 characters and 100MB on Cloud API. Unless you have a specific reason to route through Twilio, the direct Cloud API connection is better.

What the Integration Actually Does

Once the inbox is connected, incoming WhatsApp messages from customers appear as conversations in Chatwoot alongside your other channels. Agents can reply, assign conversations to teams, leave internal notes, add labels, and resolve or snooze threads just as they would with email or live chat.

Supported message types (Cloud API):

  • Text up to 4,096 characters, including bold, italics, and code formatting
  • Images (PNG, JPEG, up to 5MB)
  • Video (MP4, 3GP, up to 16MB)
  • Audio (MP3, AAC, OGG, M4A, AMR, up to 16MB)
  • Documents (PDF, Word, Excel, PowerPoint, up to 100MB)
  • Replies to specific messages - both inbound and outbound
  • Delivery status: sent, delivered, read, failed

What is not supported: location sharing, stickers, contact cards, and several advanced template types (authentication/OTP, carousels, catalogs, flow templates with conditional logic). These are limitations of how Chatwoot implements the API, not of WhatsApp itself.

The 24-Hour Window Rule

This is the thing that catches teams off guard most often.

When a customer messages you on WhatsApp, a 24-hour customer service window opens. Inside that window, your agents can send any type of message freely. The window resets each time the customer sends another message. But once 24 hours pass without a reply from them, the window closes - and you cannot send any free-form message until they write again.

The only way to reach a customer after the window closes is to send a pre-approved template message.

If a customer contacts you via a click-to-WhatsApp ad, you get a 72-hour window instead. Meta does not charge for messages sent during that window.

Template Messages

Template messages are pre-written message formats approved by Meta before use. They cover things like order confirmations, shipping updates, appointment reminders, and follow-up messages.

In Chatwoot, when a conversation's window has closed, a template selector appears in the message composer. You pick the relevant approved template, fill in any variable fields (name, order number, date), and send.

Approval happens in WhatsApp Business Manager. Once approved, templates sync automatically to Chatwoot. You can also trigger a manual sync.

Media headers in templates - attaching an image, video, or document to the top of a template - became supported in Chatwoot in version 4.5.0 (August 2025). Action buttons (call us, visit website) are also supported.

What Chatwoot does not support in templates: authentication OTP codes, list messages, product/catalog templates, carousel templates, and location-based templates. If these are critical to your operations, you would need to send them through the Meta API directly, outside Chatwoot.

Broadcasting to Multiple Contacts

Chatwoot added WhatsApp campaign support in version 4.4.0 (July 2025). This lets you send a pre-approved template to a list of contacts in one operation - useful for announcements, promotional messages, or follow-up sequences.

These are one-time batch sends, not automated trigger-based flows. If you need more complex logic (send a template 3 days after sign-up, then follow up if no reply), you would wire that through n8n or a similar automation tool connected to Chatwoot via webhook.

A Note on Coexistence

If your team currently uses the regular WhatsApp Business app and you want to migrate to Chatwoot without giving up your existing number, version 4.5.0 added coexistence support. You can connect your existing WhatsApp Business number to Chatwoot while keeping it active on the Business app.

The catch: coexistence is not available in the EU, EEA, UK, India, Australia, Japan, Nigeria, Philippines, Russia, South Korea, South Africa, or Turkey. If your business is in any of these markets, you will need to do a clean migration to the Cloud API with a fresh number, or work with Meta's migration path for existing numbers.

What It Costs

Chatwoot's WhatsApp inbox is included in paid plans. The integration itself has no extra charge on top of your Chatwoot subscription.

The variable cost is Meta's API usage.

Since July 2025, Meta bills per delivered template message rather than per conversation. The rate depends on the message category and the recipient's country:

Utility templates (order updates, delivery notifications, transactional alerts):

  • US recipients: ~$0.004 per message
  • India: ~$0.002
  • Brazil: ~$0.008

Marketing templates (promotions, announcements, re-engagement):

  • US recipients: ~$0.029 per message
  • India: ~$0.014
  • Brazil: ~$0.072

Service messages (responses to inbound customer messages inside the 24-hour window): free.

For a support team handling mostly inbound conversations, the actual Meta cost is low. Most of your messages happen inside the 24-hour window and cost nothing. Costs accumulate if you send marketing broadcasts to large lists or initiate a lot of outbound conversations.

Since Chatwoot connects directly to Meta's Cloud API (not through a BSP like Twilio or 360dialog), there is no intermediary markup. You pay Meta's published rate and nothing beyond that.

Opsily offers managed Chatwoot hosting from EUR 20/month, with WhatsApp already supported on all plans. The infrastructure is on EU servers, which keeps your conversation data in-region and simplifies GDPR compliance. Setup takes a few minutes once the instance is running.

Common Questions

Can I use my existing personal WhatsApp number? No. WhatsApp Business API requires a dedicated phone number registered to a verified business. Personal numbers cannot be used.

What happens if a customer messages outside business hours? The conversation appears in the inbox when agents are next online. If you have automation rules set up, you can send an auto-reply template acknowledging the message.

Do I need a verified Meta Business account? Yes. Meta requires business verification before you can use certain WhatsApp capabilities. The Embedded Signup flow walks you through this, but verification can take 2-5 business days depending on the documents submitted.

Is there a message volume limit? On Tier 1 (the starting tier), the Cloud API allows up to 1,000 unique customers per day. This scales as your account gains a track record with Meta. For most small and mid-sized teams, Tier 1 is more than sufficient.

Where This Fits

Chatwoot's WhatsApp integration handles the core support use case well. Inbound conversations, team assignment, canned replies, and template-based follow-ups cover what most teams actually need.

The gaps (some template types, location sharing, advanced automation) matter more at the high end. Teams running complex WhatsApp automation flows at scale will likely need supplementary tooling alongside Chatwoot. For a support inbox serving customers who prefer WhatsApp, the integration is solid and the cost of operating it is low.

Ready to self-host your own apps?

One server. Multiple apps. No per-app fees.

Get started →