Phone replies in WhatsApp Business app still hit your webhook
Keep answering on your phone in the WhatsApp Business app — a webhook with outgoing messages turned on still receives the message for n8n, Make, or Zapier. Learn the three fields that identify it and how to filter for it.
A reply typed by hand in the WhatsApp Business app is still POSTed to your webhook, when you add one with Outgoing messages ticked. The n8n, Make and Zapier app triggers receive incoming messages only.
The job
You (or a teammate) can keep answering customers directly from the phone, in the WhatsApp Business app — you don't need to delete it. Meta WhatsApp Coexistence keeps that number working in the app and in Whatsable at once.
Those phone replies are outgoing messages. Whatsable sends them only to an endpoint you add under Settings → Webhooks, with Send to set to Make, Zapier or n8n and Outgoing messages ticked. Paste the webhook URL from your n8n workflow, Make scenario or Zap there. The Whatsable trigger in the n8n, Make or Zapier app receives incoming messages only, and a Your own server endpoint does too. This page shows the exact fields that mark a reply as "typed in the app," and how to filter on them in n8n, Make, or Zapier.
The three fields
A WhatsApp Business app reply carries this exact combination — incoming_message: false (outgoing), send_by: "WhatsApp App" (sent from the phone app, not from the inbox, the AI agent or an automation), was_message_by_human: true (a person typed it, not a bot):
| Field | Value |
|---|---|
incoming_message | false |
send_by | "WhatsApp App" |
was_message_by_human | true |
Sample payload
Trimmed to the fields you need for filtering — same sanitized sample as the full payload reference:
{
"last_messages": "[{\"type\":\"bot\",\"content\":\"Hello n8n\",\"timestamp\":\"2026-08-15T12:24:47.000Z\",\"content_type\":\"text\"},{\"type\":\"user\",\"content\":\"hi\",\"timestamp\":\"2026-08-12T12:27:42.746Z\",\"content_type\":\"text\"}]",
"phone_number": 14155552671,
"recipient_name": "Alex Martinez",
"user_id": "158c59e1-ea85-4d0b-b70c-65328ba67a8e",
"message_type": "text",
"incoming_message": false,
"send_by": "WhatsApp App",
"was_message_by_human": true
}The webhook sends more fields than shown here (conversation_paragraph, last_message_of_user, note, labels, and others) — see the full payload reference for every field.
How to filter for it
n8n
The Whatsable trigger node, On new Incoming message event, receives incoming messages only, whichever credential it uses. To receive phone-typed replies, start the workflow with an n8n Webhook node instead, and add its URL in Whatsable as described above.
Add the trigger
Add an n8n Webhook node and copy its production URL. In Whatsable, add that URL under Settings → Webhooks with Make, Zapier or n8n and Outgoing messages ticked.
Add a Filter or IF node right after the trigger
Add a Filter (or IF) node immediately after the trigger.
Filter on the three fields
To match only phone-typed replies, add these conditions:
{{ $json.incoming_message }} is false
{{ $json.send_by }} is equal to "WhatsApp App"To match every outgoing message except the AI agent's, use {{ $json.was_message_by_human }} is true instead, then branch on {{ $json.send_by }}: "WhatsApp App" for the phone, "Notifyer" for the inbox, a broadcast, the API or an automation.
Full walkthrough: n8n overview.
Make and Zapier
Same payload, same field names. The Whatsable trigger modules receive incoming messages only, so start with a webhook trigger (Webhooks by Zapier or Make's Custom webhook) and add its URL in Whatsable as described above. Then add a Filter (Zapier) or Filter/Router (Make) right after it, using the three fields above. See Make overview and Zapier overview.
Full payload reference
This page only covers filtering. For every field (last_messages, conversation_paragraph, note, labels, Click-to-WhatsApp referral, and more), see Message webhooks.
AI apps and coding agents
The WhatsAble MCP server does not create or change webhooks yet; that is planned. Set up a webhook in WhatsAble under Settings > Webhooks, and turn on both incoming and outgoing messages so your endpoint also receives WhatsApp Business app replies.
The old automate-notifyer agent skill and its create-webhook.js script called the legacy system and no longer work for accounts on the new app. See the agent skill.
FAQs
Yes. The Whatsable trigger receives incoming messages only. For outgoing messages, use a webhook added under Settings → Webhooks with Outgoing messages ticked. See filtering in n8n above.
Read send_by: "WhatsApp App" for the phone, "Notifyer" for the inbox. "Notifyer" is the old name of Whatsable, kept so existing automations keep working. It also marks broadcasts, API sends and automations, and it does not name the teammate.
No. Meta WhatsApp Coexistence keeps the app and Whatsable working on the same number at once.
Confirm the automation starts from a webhook URL you added under Settings → Webhooks, with Make, Zapier or n8n and Outgoing messages ticked. The Whatsable app triggers never receive phone-typed replies. Then confirm your filter step isn't excluding incoming_message: false events by mistake. See Message webhooks troubleshooting.
Need assistance?
Our technical support team is available to assist with webhook configuration, payload handling, and integration questions.