A webhook you built yourself.
In the WhatsAble dashboard, open Developer, add an endpoint URL, and enable incoming. The first Click-to-WhatsApp inbound POSTs the referral to that URL. See https://whatsable.app/integrations/webhook
Someone clicks your Click-to-WhatsApp ad in Meta and messages you. We don't create the ad. The first inbound carries the click and the ad so you can save them.
Someone clicks your Click-to-WhatsApp ad in Meta and messages you. WhatsAble does not create the ad. The first inbound carries the click and the ad — the referral — so you can save them. This page is the map: where that referral lands, what each field is, and why you persist ctwa_clid and source_id yourself before later messages in the same chat drop them.
No. A Click-to-WhatsApp ad runs in Meta Ads. WhatsAble does not create the ad.
WhatsAble forwards first-inbound referral — top-level on n8n, Zapier, Make, and a webhook you created. You persist ctwa_clid and source_id yourself because later messages in the same chat usually omit them. WhatsAble does not persist them for you.
Status ads can also send a referral; ctwa_clid may be omitted.
Here's the sequence, start to finish:
incoming: true when you create it.referral to that URL.That's the core loop for any destination. The specifics of where you point it differ slightly by tool:
In the WhatsAble dashboard, open Developer, add an endpoint URL, and enable incoming. The first Click-to-WhatsApp inbound POSTs the referral to that URL. See https://whatsable.app/integrations/webhook
n8n gets the same first-inbound referral. Map the top-level referral on that inbound, persist ctwa_clid and source_id, and write both to a Sheet or a CRM. Setup docs: https://whatsable.app/integrations/n8n
Zapier gets the same first-inbound referral. Map the top-level referral, persist ctwa_clid and source_id yourself. Docs: https://whatsable.app/integrations/zapier
Make gets the same first-inbound referral. Map the top-level referral, persist ctwa_clid and source_id yourself. Docs: https://whatsable.app/integrations/make
A WhatsAble Agent Skill is not a separate event. It sees the same webhook payload, including the referral, only if that Skill sits on a webhook you created. Installing a Skill by itself doesn't deliver the referral. See https://whatsable.app/vibe-code
Top-level referral on the WhatsAble payload. messages[].referral is the Cloud API envelope. Do not map that unless that is the delivery.
| Field | What it is |
|---|---|
source_type | ad in the sample (post also documented). |
source_id | Meta ad or post ID. |
source_url | Ad or post URL (sample: Instagram permalink). |
headline | Headline shown on the ad or post. |
body | Body copy of the ad or post. |
media_type | image or video. |
image_url | When the creative is an image. |
video_url | Documented for video creatives. |
thumbnail_url | Documented for video creatives. |
ctwa_clid | Conversions API click id. Status ads can also send a referral; ctwa_clid may be omitted. |
welcome_message | Documented optional. |
ctwa_clid and source_id?You do. WhatsAble forwards first-inbound referral. You persist ctwa_clid and source_id yourself because later messages in the same chat usually omit them. WhatsAble does not persist them for the customer.
Status ads can also send a referral; ctwa_clid may be omitted. That is still a referral — do not treat Status ads as unrelated to this page.
Write those fields to a Sheet or CRM, then report which creative and which platform produced the WhatsApp lead.
The first inbound hits n8n, Zapier, Make, or a webhook you created. You persist `source_id` on the contact yourself, so the next person who opens the chat can see which Meta ad started it.
The same first inbound appends `ctwa_clid` and `source_id`. You persist those two yourself, then group the week by ad.
Ads Manager saw the click. WhatsApp saw the chat. The first-inbound referral is the join — only if you persisted it.
Sibling blog on the reporting opportunity. This page owns the field table.
Developer → add an endpoint URL → enable incoming. The first CTWA inbound POSTs referral to that URL.
Same first-inbound referral. Map top-level referral, persist ctwa_clid and source_id yourself.
Same first-inbound referral on the Zapier trigger.
Same first-inbound referral on the Make trigger.
Agent Skill only if it sits on a webhook you created.