Mautic WhatsApp integration: the approaches that work
A real Mautic WhatsApp integration through an official BSP, a community plugin or n8n, with opt-in, the 24-hour window and approved templates.

Connecting WhatsApp to Mautic is one of the questions I get most often, and nearly every answer out there starts from a wrong premise: a "native plugin" that doesn't exist. Mautic doesn't speak WhatsApp out of the box. A real Mautic WhatsApp integration runs through an official WhatsApp API provider (a BSP), connected to Mautic by webhooks and the API, and n8n is usually the piece that ties it together. Knowing this before you pick a tool saves days of wasted work.
This guide covers the three approaches that actually work, with the trade-offs of each, plus the WhatsApp Business rules you can't ignore without risking a banned number: opt-in, the 24-hour window and approved templates.
Why there is no native Mautic WhatsApp integration
Mautic is strong at email, forms, segmentation and lead scoring, but it was built around email and its core has no official WhatsApp connector. Any material offering you an "official Mautic WhatsApp plugin" ready to download is making it up. What does exist are three approaches:
| Approach | How it works | When to choose it |
|---|---|---|
| BSP + webhook/API | An official WhatsApp Business Platform provider receives the call from Mautic and sends the message | It's the foundation of the other two and unavoidable for sending at scale |
| Community plugin | Third-party extensions from the Mautic ecosystem that wrap a BSP's API | Only if the plugin is maintained and you accept the risk of it being abandoned |
| n8n / Zapier orchestrating | Mautic fires a webhook, the tool processes it and calls the BSP's API | When you want logic, validation and control over your data |
All three rest on the same base: the WhatsApp Business Platform, Meta's official API, always accessed through a BSP (Business Solution Provider) such as Twilio, 360dialog or the Meta Cloud API. No shortcut gets around this without breaking the terms of use.
The WhatsApp rules that shape your workflow
Before you design any automation, three Meta rules define what is possible. Ignoring them is the fastest way to get your number blocked.
| Rule | What it means | Effect on your Mautic workflow |
|---|---|---|
| Opt-in | The contact has to agree to receive messages before the first send | Record consent in a field or tag, and only add contacts who opted in to the segment |
| 24-hour window | After the customer writes to you, you have 24 hours to reply with free-form text | Quick replies fit inside the window; re-engagement outside it doesn't |
| Templates (HSM) | Outside the window, only templates pre-approved by Meta, in the right category | Your Mautic campaigns trigger these templates, not loose text |
Templates fall into categories (marketing, utility, authentication and service), and each has its own rules and price. An order confirmation (utility) and a promotional offer (marketing) are different things in Meta's eyes. On top of that, privacy laws such as GDPR or LGPD require consent to process the data and to contact the person. WhatsApp opt-in and legal consent go together, but they are separate requirements, so keep proof of both.
Again, automating regular WhatsApp (the personal app or the WhatsApp Business phone app) through unofficial libraries breaks the terms and risks getting the number banned. At scale, the only supported route is the official API through a BSP, and that is what Mautic should feed.
Preparing Mautic
Whichever approach you pick, Mautic needs two things: a place to store the phone number and a way to separate who is allowed to receive messages.
Phone field. Under Settings > Custom Fields, check whether you already have a phone or mobile field. If you want one dedicated to WhatsApp, create a text field; the Mautic custom fields guide walks through it. Capture the number with a Mautic form, asking for it in international format with the country code, and put the opt-in checkbox on the same form.
Eligible segment. Under Segments, build a segment with two plain filters: the phone field is not empty and the opt-in field equals yes. Mautic filters with operators such as "not empty", "equals" and "contains". Leave detailed validation of the number's format to the form or to n8n rather than a regex in the segment.
Approaches 1 and 2: direct BSP or community plugin
The most direct route connects Mautic to the BSP through a webhook. Under Settings > Webhooks, create a webhook that fires on the events you care about (contact created, points changed, added to segment) and points to an endpoint that calls the provider's API. The payload below is illustrative; the exact fields and placeholder syntax depend on how you build the call and what the receiving endpoint expects:
{
"contact_id": "{{contact_id}}",
"phone": "{{contact.whatsapp_phone}}",
"name": "{{contact_firstname}}",
"template": "welcome"
}Mautic does not call the WhatsApp API on its own from that webhook. It pushes the event, and something on the other side has to receive it and translate it into the BSP call. That something can be your own endpoint, a serverless function, or the n8n setup in the next approach.
Community plugins try to shorten this by building the BSP call into Mautic as a campaign action. Some exist and work; the problem is maintenance. Before you depend on one, check when it was last updated, whether it supports your Mautic version, and whether its BSP is the one you use. An abandoned plugin breaks on the first major upgrade, and your Mautic WhatsApp messages stop without any clear reason.
Approach 3: n8n orchestration (my recommendation)
For anything beyond the most basic send, n8n ties both sides together while keeping the data on your own server. Mautic fires the webhook, n8n processes it and calls the BSP's API, and it handles the return trip too.
A typical Mautic WhatsApp workflow in n8n:
- The lead fills out the Mautic form with a phone number and opt-in.
- The Mautic Trigger hands the event to n8n through a webhook.
- n8n validates the number (format, country), checks for opt-in and drops anything that fails.
- An HTTP node (or the Twilio node) calls the BSP's API with the right template, respecting the 24-hour window.
- n8n writes back through the Mautic API: a
whatsapp_senttag, a note or points.
The advantage over a raw webhook is everything in the middle. You can handle errors, retry with backoff, branch by language or time of day and log each step, none of which a direct webhook does. The n8n Mautic integration guide has the full setup and serves as the base here.
Closing the loop: replies back into Mautic
The flow is complete once the customer's reply becomes data in Mautic. Every BSP offers an inbound webhook: when the contact replies on WhatsApp, the provider sends a POST to a URL you control.
Point that inbound webhook at n8n (or at the service you maintain), because Mautic has no native receiver for inbound WhatsApp messages. n8n receives the reply, finds the contact by phone number through the Mautic API and updates the record:
- Receive the BSP's POST with the phone number, text and timestamp.
- Look up the matching contact through the API.
- Add the
replied_whatsapptag and a note with the message. - Optionally add points, which triggers the next campaign in Mautic.
With this in place, WhatsApp conversations feed the same funnel as email, and your segmentation can account for who actually replied.
What to measure
Once your Mautic WhatsApp flow is running, track a handful of indicators. The BSP provides most of them and Mautic stores the rest. I won't give you an "ideal rate"; what matters is the trend in your own funnel, measured before and after.
- Deliverability: how many messages the BSP confirmed as delivered.
- Reply rate: the share of people who replied, the most honest sign that the message made sense to them.
- Clicks: add UTM parameters to template links (
?utm_source=whatsapp&utm_campaign=campaign_name) so Mautic and your analytics can attribute the traffic. - Conversion: from WhatsApp contact to customer. Compare it with the same audience on email instead of chasing a multiplier some tutorial promised.
Mautic WhatsApp FAQ
Does Mautic have a native WhatsApp integration?
No. Mautic does not ship with an official WhatsApp connector. Every serious integration goes through an official provider (BSP) of the WhatsApp Business Platform, such as Twilio, 360dialog or the Meta Cloud API, connected to Mautic through webhooks and the API or orchestrated by a tool like n8n. Community plugins exist, but their quality and maintenance vary.
Can I automate regular WhatsApp without the API?
You can hack something together, but it isn't worth it. Automating personal WhatsApp or the WhatsApp Business phone app through unofficial means breaks the terms of use and puts the number at risk of a ban. For sending at scale there is the WhatsApp Business Platform (the official API), which is the supported route and the only one Mautic should feed.
Do I need opt-in to send WhatsApp messages?
Yes, on two fronts. Meta requires explicit opt-in before you send messages through the API, and privacy laws such as GDPR or LGPD require consent to process the data and contact the person. Record that consent on the Mautic contact itself (a field or a tag) so you have proof of who agreed and when.
What is the WhatsApp 24-hour window?
After a customer sends you a message, a 24-hour window opens in which you can reply with free-form text. Outside that window, you can only start a conversation with a template pre-approved by Meta (formerly called HSM), in the right category: marketing, utility, authentication or service. Your Mautic WhatsApp workflow has to respect this rule.
How much does it cost to integrate WhatsApp with Mautic?
Mautic is free, and the real cost is in WhatsApp and the BSP. Meta charges under its own pricing model, which changes often (currently per conversation or template, with different prices by category and country), and the provider adds its own margin. Add the server too if you self-host Mautic and n8n. Check your BSP's current price list before planning, and don't trust numbers from old tutorials.
Where to start
Don't build the whole funnel at once. Pick a BSP and get a single send working (form capture, opt-in, one welcome template fired by n8n). Close the loop with the inbound webhook only after that. That first send has the best return, and it shows you how the rest of the flow will work. Once it's stable, expand into a nurture sequence with Mautic campaigns.


