# Meta webhook Validation Errors. "Response":{"error":"Token verification failed"}}

**URL:** <https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337>\
**Category:** Built with n8n\
**Created:** [January 28, 2025, 9:09pm UTC](https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337 "2025-01-28T21:09:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Scolo](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/scolo/32/55278_2.png) [@Scolo](https://community.n8n.io/u/Scolo)\
**Post date:** [January 28, 2025, 9:09pm UTC](https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337/1 "2025-01-28T21:09:40Z")

</div>

I’m trying to set up a Meta/Facebook webhook in n8n but can’t get Meta to verify the webhook endpoint. Here’s my current setup:

Workflow Configuration

- Webhook node → Code node → Respond to Webhook node
- Using production webhook URL (not test URL)
- Workflow is activated

## Respond to Webhook Node Settings

- Response Code: 200
- Content-Type: application/json
- Put Response in Field: response

## Issue

Meta keeps failing to verify the webhook with “Can’t validate the URL or verify token” error, even though:

- The verify token matches exactly in both Meta and n8n
- The workflow executes successfully in n8n
- Using production URL with valid SSL
- App is in Live mode

What am I missing in the configuration to get Meta to successfully verify the webhook?"

Code Node

```javascript
// Get incoming parameters from webhook
const incomingData = items[0].json;
const incomingToken = incomingData?.query?.["hub.verify_token"];
const configuredToken = "n8n_Meta_webhook_2025";
const hubChallenge = incomingData?.query?.["hub.challenge"];

if (incomingToken === configuredToken) {
    items[0].json = { response: hubChallenge };
} else {
    items[0].json = { error: "Token verification failed" };
}

return items;
```

---

<div class="post-metadata">

**Author:** ![thepangee](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/thepangee/32/103340_2.png) [@thepangee](https://community.n8n.io/u/thepangee)\
**Post date:** [July 24, 2025, 9:12am UTC](https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337/3 "2025-07-24T09:12:53Z")

</div>

facing the same issue.

- I have tried adding heading authentication. Didn’t work.
- Changed from ‘using respond to webhook’ to ‘respond immediately’
- Added response code 200 in the trigger node
- Added token key-value pair in response header on trigger node

Were you able to solve your problem? If yes, how?

---

<div class="post-metadata">

**Author:** ![ALEJANDRO\_BERROJO](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/alejandro_berrojo/32/77801_2.png) [@ALEJANDRO\_BERROJO](https://community.n8n.io/u/ALEJANDRO_BERROJO)\
**Post date:** [August 1, 2025, 5:41pm UTC](https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337/4 "2025-08-01T17:41:19Z")

</div>

I have the sae issue, meta is not accepting the webhook response with hub challenge, anyone has other methods or configuration ?

---

<div class="post-metadata">

**Author:** ![ALEJANDRO\_BERROJO](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/alejandro_berrojo/32/77801_2.png) [@ALEJANDRO\_BERROJO](https://community.n8n.io/u/ALEJANDRO_BERROJO)\
**Post date:** [August 6, 2025, 4:05pm UTC](https://community.n8n.io/t/meta-webhook-validation-errors-response-error-token-verification-failed/73337/5 "2025-08-06T16:05:39Z")

</div>

i got the answer, put json format, then 200 , and the hub challenge, it should allow you to connect webhook
