I am really struggling to get Facebook to verify with my n8n workflow. I have done everything I am suppose to do but it still will not connect.
I copied the URL and put it into Facebook API settings
I then made sure the hub mode and token was the same
I then made sure the hub challenge was good and matched
I then clicked execute workflow and then went to Facebook and clicked save and verify and it is STILL wont let me verify. Help please
Hi @roxydrag
I found a thread with similar issues like yours, this should help a bunch.
Hi John, That is actually one of my old threads, however I have done all of the suggested on there and I still cant seem to get it right
So sorry about that @roxydrag When you try to verify your webhook from the Meta Developer Hub, does it fail with an error?
It dosent give me an error with the nodes, it is receiving the data, but it keeps telling me it won’t verify my token on the Facebook developer app
please can you share a screenshot of your “Respond to Webhook” node’s configuration.
I can see the issue! Your workflow is set to “Test URL” mode instead of “Production URL” mode.
Here’s what’s happening:
When you click “Execute Workflow” in n8n, it only listens for ONE incoming request
After Facebook hits your webhook once, n8n stops listening
But Facebook typically makes multiple verification attempts or callbacks, so subsequent requests fail
How to fix it:
In your Webhook node, change the setting from “Test URL” to “Production URL”
Copy the Production URL (it will be different from the test URL)
Paste this new Production URL into your Facebook API settings
Do NOT click “Execute Workflow” - just make sure your workflow is saved
Now go to Facebook and click “Save and Verify”
The Production URL stays active permanently (as long as the workflow is saved), so Facebook can verify it successfully.
Make sure your n8n instance is publicly accessible not localhost)
Double-check that “thefinalboost” matches exactly what you entered in Facebook’s verify token field as Facebook is case-sensitive with tokens
Try switching to Production URL and let me know if that solves it!
Hi John, thank you so much for your help! at first it didn’t work but then I just had to change text to text/plain in the response and it worked! yay! thank you again.
You’re very close this usually fails because of how Facebook sends the verification request, not because your values are wrong.
A few important things to check:
-
Do NOT manually “Execute Workflow”
-
Facebook must be the one calling the webhook.
-
Manual execution will never complete verification.
-
-
Webhook must be publicly accessible
-
The URL you pasted into Facebook must be reachable from the internet.
-
No auth, no VPN, no IP restrictions.
-
-
Use a Webhook Trigger node in “GET” mode
-
Facebook verification uses a GET request, not POST.
-
The webhook must return exactly:
hub.challengeas plain text (no JSON, no extra characters).
-
-
Token must match exactly
-
hub.verify_tokenin Facebook must equal what you check for in n8n. -
Case-sensitive.
-
Correct logic in n8n:
-
Webhook (GET)
-
IF:
hub.verify_token === YOUR_TOKEN -
Respond to Webhook → return
hub.challenge
Once this is set, click Save & Verify in Facebook and let Facebook trigger the workflow don’t run it yourself.
If you want, you can share a screenshot of the webhook + respond node and I can spot what’s blocking it.
You are welcome @roxydrag
Kindly mark it as the solution to help others might face the same issues.
