WebhooksHow-to

Trigger webhook from WhatsApp Business app

You can still reply from the WhatsApp Business app on your phone, and that reply can trigger a webhook, an n8n workflow, a Zapier zap, or a Make scenario.

Sometimes the fastest reply to a customer isn't the automation — it's you, tapping out a message on your own phone in the WhatsApp Business app. The question is whether that reply goes anywhere else, or just sits in the chat thread. It can go somewhere else. This page walks through what has to be true for that to happen, what the payload looks like, and how to pick out just the phone-app replies from everything else flowing through your webhook.

Does a reply typed on the phone actually reach my webhook?

Yes. When you type a reply in the WhatsApp Business app on your phone, that reply still gets sent to your webhook as a POST, the same way an automated message would. You keep the WhatsApp Business app installed on the phone — nothing about the app or the number changes. You're not switching numbers, uninstalling anything, or moving your conversations somewhere else.

The one thing that has to be true is that outgoing is turned on for wherever you want that reply delivered. Outgoing acts as a gate. If it's off, the phone-app reply is sent by WhatsApp but never shows up at your endpoint, your n8n trigger, your Zap, or your Make scenario. If it's on, it arrives like any other event.

How do I actually turn this on?

Here's the sequence, start to finish:

  1. 1Decide where you want the reply to land. A webhook you built yourself, an n8n workflow, a Zapier zap, or a Make scenario — pick one (you can add more later).
  2. 2Open the WhatsAble dashboard.
  3. 3Go to Developer → add endpoint, and turn on outgoing. If you're creating a custom webhook instead, set outgoing: true when you create it.
  4. 4Send a test reply from your phone using the WhatsApp Business app — reply to any existing conversation.
  5. 5Check your destination for the incoming POST. If outgoing was enabled, it should show up right away.
  6. 6If it doesn't show up, the most common cause is outgoing not actually being on for that specific endpoint — go back and check step 3.

That's the core loop for any destination. The specifics of where you point it differ slightly by tool:

n8n.

In n8n, the trigger is labeled "On new Incoming message event." That label is just a name — it isn't a filter, so it fires for outgoing events too, including a phone-app reply, once you've credentialed it with Notifyer System incoming and outgoing messages. There's a full step-by-step for n8n specifically in the blog post https://whatsable.app/blog/trigger-n8n-scenarios-from-whatsapp-business-app — this page covers the payload itself; that one covers the n8n click-path. Setup docs: https://whatsable.app/integrations/n8n

Agent Skill.

A phone-app reply only reaches a Skill if the Skill is sitting on a webhook you created with outgoing enabled. Installing a Skill by itself doesn't deliver anything — it still needs that outgoing-enabled webhook underneath it. See https://whatsable.app/vibe-code

What's actually in the payload?

Once outgoing is on and events are flowing, here's what you'll see on the fields that matter for this use case:

FieldWhat it is
phone_numberThe contact's number — digits, often without a +, and may come through as a number or a string. On an outgoing event (like a phone-app reply), this is the person the business messaged.
message_typetext, image, audio, video, document, or location.
last_message_of_botThe last business send, including a human on the phone or in the inbox. Not only a bot.
last_message_of_userThe most recent message sent by the contact.
last_messagesRoughly the last 20 messages, usually delivered as a JSON string. Each entry is typed as either user (the contact) or bot (the business side, including a human on the phone or in the inbox) — nothing more granular than that.

How do I filter for just the phone-app reply, not everything else?

If your automation is only supposed to react to a human typing directly into the WhatsApp Business app — not bot replies, not other integrations — filter in two steps:

  1. 1Filter where `incoming_message` is `false`. This narrows things down to outgoing events (messages sent by the business), since a genuine phone-app reply is outgoing from WhatsAble's point of view.
  2. 2Then confirm two more things on what's left: send_by equals "WhatsApp App", and was_message_by_human is true.

When a real phone-app reply comes through, all three line up: incoming_message is false, send_by is "WhatsApp App", and was_message_by_human is true. That combination is what tells you a person typed it on their phone — not the inbox, not an integration.

What does the send_by field actually tell me?

send_by only ever shows up as one of these:

  • "WhatsApp App" — typed directly into the WhatsApp Business app on a phone.
  • A teammate's name (the docs example is Axel Meta) — sent from the WhatsAble inbox.
  • An automation or app name — sent by that specific integration.
  • Empty or omitted — the message is incoming, not outgoing.

There aren't other values to plan around — those four cover it.

What would I actually use this for?

A few things people build with this, once the phone-app reply reaches their destination:

A CRM that knows the owner already answered.

Instead of a bot following up on a lead the owner personally replied to, the CRM gets updated the moment that phone-app reply lands, so nothing gets double-touched.

A running Sheet of every reply sent from the phone.

Useful for a small team that wants a log of what was said manually, without anyone having to copy-paste it in.

Another automation downstream that reacts to a human decision.

If a manual reply from the phone should kick off a next step — pausing a sequence, notifying someone else, updating a status — this is the event that carries that signal.

Is there proof this actually works?

Yes — a short walkthrough showing the trigger firing from a real WhatsApp message: https://www.tella.tv/video/trigger-n8n-workflows-with-whatsapp-messages-e1f3

Related

Related

Webhooks

A webhook you built yourself — create the endpoint, enable outgoing, and the reply hits your server as a normal POST.

n8n

The trigger labeled "On new Incoming message event" is just a name. Credential: Notifyer System incoming and outgoing messages.

Zapier

Trigger: New Incoming or Outgoing WhatsApp Message.

Make

Incoming & Outgoing Messages under the Notifyer System module.

Vibe Code

A phone-app reply only reaches a Skill if the Skill sits on a webhook you created with outgoing enabled.

Start Free Trial