To successfully connect my Meta WhatsApp Developer App to my Make scenario using the native WhatsApp Business Cloud module, so that incoming WhatsApp messages trigger my multi-step workflow.
What is the problem & what have you tried?
When I try to paste my Callback URL and Verify Token into the Meta App Dashboard under WhatsApp Webhooks, I get this error:
“The callback URL or verify token couldn’t be validated. Please verify the provided information or try again later.”
What I have tried:
Set up a standalone custom webhook and Webhook Response module to capture and return the hub.challenge to Meta.
Tried passing the raw hub_challenge (with the underscore) directly in the response body.
Tried using the formula get(46; “hub.challenge”) to work around Make’s dot-notation parsing issue.
Turned off “Process data in order” in the scenario settings.
Ran the scenario with “Run once” and kept it “ON” while clicking “Verify and save” in Meta to beat the 3-second timeout limit.
Nothing is validating. How can I get Meta to successfully handshake with my Make scenario so I can route my messages?
Error messages or input/output bundles
Error message from Meta Developer Portal:the callback URL or verify token couldn’t be validated. Please verify the provided information or try again later.Note: Because the webhook handshake is failing validation on Meta’s end, the scenario never successfully triggers, meaning no execution history or input/output bundles are being generated in Make yet
Good morning Ramon thank you for you help i tried that before i uploaded the community question because i was following with gemini and gpt but iv pretty much tried all the options it told me to try i do see it left out things we tried but that still doesnt work. can you suggest something else ? again thank you for helping me theres some 2 error i cant figure out i followed your video it didnt work again. i did also click run model also tried this run onc and i also my active was already on
Sounds more like a Facebook App issue. Can you go to your APP in Facebook developers and show how are you adding the parameters in the webhook section?
This is a classic Meta webhook handshake issue —
you’re close, but missing one critical piece.
WHY THIS IS HAPPENING:
Meta’s verification handshake sends a GET request
with three query parameters: hub.mode,
hub.verify_token, and hub.challenge. Your webhook
needs to check that hub.verify_token matches what
you entered in Meta’s dashboard, THEN return ONLY
the raw hub.challenge value as plain text — not
JSON, not wrapped in any object. Most failures
happen because the response format is wrong, not
because of the parsing formula itself.
HOW TO FIX IT:
Step 1: In your custom Webhook module, don’t use
the standard Webhook Response module’s default
JSON response — you need to set the response
Content-Type explicitly to “text/plain”
Step 2: In the Webhook Response module, set the
body to return ONLY the hub.challenge value —
literally just that number, no braces, no quotes,
no wrapping text. Your get(46; “hub.challenge”)
approach for the dot-notation issue is correct,
but make sure the FINAL output of your response
body is the raw value alone
Step 3: Check that your webhook is set to respond
immediately (synchronously) — Make’s default
webhook behavior sometimes queues the response
depending on scenario settings, which causes
Meta’s handshake to timeout even if your logic
is correct
Step 4: Verify your Verify Token has zero extra
characters — copy-paste it directly from Meta’s
dashboard field into your Make webhook’s matching
logic, since even a trailing space causes silent
mismatch failures
Step 5: Test manually first — use a tool like
Postman to send a GET request to your Make
webhook URL with the exact same query parameters
Meta sends (hub.mode=subscribe,
hub.verify_token=yourtoken, hub.challenge=12345)
and confirm you get back exactly “12345” as plain
text, nothing else. If this manual test doesn’t
return the raw number, that’s your bug — fix it
here before touching Meta’s dashboard again
@Armin_Lategan meta’s webhook handshake is super strict about 2 things:
your make scenario must return ONLY the raw hub.challenge string (no quotes, no JSON wrapper).
the Webhook Response module header must be set to text/plain and respond in under 3 seconds.
if meta is still timing out, it’s usually because make’s execution latency is exceeding meta’s 3-second limit during the GET request verification. drop me a DM if you’re stuck on the response header setup, we can debug it quickly.
Hi Armin - you have already tried returning hub.challenge, running the scenario once and changing the processing order, but Meta still rejects verification before Make records an execution. I can help isolate the handshake from the rest of the scenario. When you send a manual GET with the three hub.* parameters, what exact HTTP status and response body does Make return?