Published 2026-06-12Updated 2026-08-249 min readTutorial

How to add WhatsApp to Make.com.

The end-to-end recipe for catching inbound WhatsApp messages inside a Make.com scenario and sending outbound replies from the same scenario. No WhatsApp Business API. No business verification. No template approval. Your customer scans one QR, the line is live, the scenario runs. Total time: under 30 minutes if Make is already familiar.



01

Create the Make.com scenario with a webhook trigger

We start on the Make side because Mossmoon delivers events to a webhook URL you attach to the line when you create it, so the URL has to exist first. In Make.com, click Create a new scenario. Add the first module by clicking the big plus, search for Webhooks, choose Custom webhook.

Make gives you a webhook URL that looks like https://hook.eu1.make.com/abc123.... Copy it. That’s where Mossmoon will POST every event for the line you’re about to create.


02

Provision a WhatsApp line in Mossmoon

Sign up at mossmoon.app/signup if you haven’t already. Grab an API key from Dashboard > API keys. Then provision a line with one POST, passing the Make webhook URL from step 1 as the line’s webhook_url:

curl -X POST https://mossmoon.app/api/v1/wa/lines \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "existing",
    "webhook_url": "https://hook.eu1.make.com/abc123...",
    "agency_external_user_id": "my_first_line"
  }'

You’ll get back something like:

{
  "line_id": "wa_8f3c2e1a",
  "status": "pending_link",
  "mode": "existing",
  "monthly_price_cents": 1500,
  "connect_url": "https://mossmoon.app/wa/connect/<token>",
  "webhook_secret": "wsec_...",
  "created_at": "2026-06-12T14:30:00Z"
}

Save the line_id and the webhook_secret. The secret is shown exactly once; it signs every webhook Mossmoon sends you (step 4 uses it). The line isn’t billed yet: billing only starts when the QR is actually scanned.


03

Scan the QR to connect WhatsApp

Open the connect_url in a browser. You’ll see a QR code. On your phone, open WhatsApp, tap Settings > Linked Devices > Link a Device, scan the QR.

Within seconds of scanning, the line transitions to ready and Mossmoon fires a line.ready webhook at the Make webhook you wired in step 1. The billing clock starts here: 7-day free trial on your very first line, $15/month thereafter.


04

Catch the first inbound and learn the shape

To populate Make’s data structure, run a test from your phone: text the connected WhatsApp number from any other phone. The message hits the webhook, Make catches it, and the module learns the inbound JSON shape.

Mossmoon’s inbound JSON looks like this (abridged):

{
  "event": "message.received",
  "line_id": "wa_8f3c2e1a",
  "agency_external_user_id": "my_first_line",
  "ts": "2026-06-12T14:35:22.001Z",
  "data": {
    "message_id": "wamsg_a1b2c3d4e5f6",
    "from_me": false,
    "from": "+15551234567",
    "from_name": "Sarah K",
    "is_group": false,
    "type": "chat",
    "text": "Hi, is the 3pm tour still available?",
    "media_url": null,
    "message_ts": "2026-06-12T14:35:21.812Z"
  }
}

The full envelope (group context, reply quotes, media fields, contact identity) is in the webhook reference.


05

Add an HTTP module to send the reply

After the trigger, add whatever Make modules you want in the middle. For this tutorial, let’s assume you want an OpenAI module that drafts a reply, and then you want to send that reply through Mossmoon.

  1. After the Webhook trigger, add an OpenAI > Create a completion module. Pass the inbound text ( {{1.data.text}} ) as the user prompt. Give the system prompt whatever persona you want. The module returns the generated reply text.
  2. After OpenAI, add an HTTP > Make a request module. That’s where the outbound goes through Mossmoon.
{
  "to": "{{1.data.from}}",
  "text": "{{2.choices[].text}}"
}

The double-curly references are Make’s template syntax for pulling values from earlier modules. Module 1 is the webhook (so {{1.data.from}} is the sender’s number). Module 2 is the OpenAI completion (so {{2.choices[].text}} is the generated reply). Mossmoon answers 202 Accepted with a message_id and "status": "queued", then fires message.delivered or message.failed webhooks as the send progresses.

Save the scenario, turn it on, send another test message from your phone. The Make scenario fires, OpenAI generates a reply, the HTTP module sends it through Mossmoon, your phone receives the bot’s response.


06

Where to take this next

Once you have the inbound trigger and the outbound HTTP module, everything else is just Make modules in the middle. A few patterns we see teams build out from here:

  • CRM-routed inbound. Add a Google Sheets, HubSpot, or Pipedrive module that looks up the inbound number against your contacts and either creates the contact or attaches the message to an existing one before replying.
  • Multi-line routing. If you’re running multiple Mossmoon lines (one per client, one per agent), use Make’s Router module to branch on line_id and run a different downstream flow per line.
  • Calendar booking inline. Add a Cal.com or Google Calendar module that grabs available slots when the AI decides it’s booking time. Send the slot list back as a WhatsApp message. Catch the user’s pick on a follow-up inbound, confirm the booking.
  • Media handling. Inbound webhooks include payloads for images, voice notes, and documents. Pipe images into OpenAI Vision, voice notes into Whisper, documents into your DMS. All inside the same scenario.

07

Why this beats the Make.com Business API templates

Make’s native WhatsApp Business module sits on top of Meta’s WhatsApp Business API. Everything you build with it inherits the Business API rules: every customer onboarded through Meta business verification (days to weeks per account), template pre-approval for every outbound past the 24-hour window, per-conversation pricing on top of Make’s operations cost.

The pattern in this tutorial avoids all of that. Mossmoon connects through the customer’s actual WhatsApp on their phone, not through Meta’s server-side API. No business verification. No template approval. No 24-hour window. No per-conversation fees. For a deeper comparison of the two paths, see: WhatsApp Business API vs personal WhatsApp API.


Spin up your first line and run the scenario this afternoon.

First line free for 7 days. No Meta onboarding. One QR scan. Make scenario triggers immediately.

How to add WhatsApp to Make.com: step-by-step tutorial · Mossmoon