{"product_id":"verify-meta-instagram-webhook-subscriptions-with-n8n","title":"Verify Meta Instagram Webhook Subscriptions with n8n","description":"\u003ch3\u003eInstantly verify your Meta (Instagram\/Facebook) webhook subscriptions with n8n\u003c\/h3\u003e\n\u003cp\u003eThis minimal n8n workflow provides a webhook endpoint that completes Meta’s subscription verification handshake for Instagram and Facebook. It validates the \u003cstrong\u003ehub.verify_token\u003c\/strong\u003e sent by Meta and returns the \u003cstrong\u003ehub.challenge\u003c\/strong\u003e as plain text—so your callback URL gets approved.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives Meta’s verification GET request\u003c\/strong\u003e on an n8n webhook endpoint when you set up a new Meta webhook.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eExtracts required query parameters\u003c\/strong\u003e from the incoming request: \u003cem\u003ehub.mode\u003c\/em\u003e, \u003cem\u003ehub.verify_token\u003c\/em\u003e, and \u003cem\u003ehub.challenge\u003c\/em\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks the verify token\u003c\/strong\u003e against the configured \u003cem\u003eVERIFY_TOKEN\u003c\/em\u003e value inside the JavaScript code.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eResponds with the correct outcome\u003c\/strong\u003e:\n    \u003cul\u003e\n      \u003cli\u003eIf the token matches: returns \u003cstrong\u003ehub.challenge\u003c\/strong\u003e with a \u003cstrong\u003e200\u003c\/strong\u003e response.\u003c\/li\u003e\n      \u003cli\u003eIf the token doesn’t match: returns a \u003cstrong\u003everification-failed\u003c\/strong\u003e response with a \u003cstrong\u003e403\u003c\/strong\u003e.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEnsures plain-text handshake compatibility\u003c\/strong\u003e by returning the prepared text response so Meta can complete verification.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eGetting an \u003cstrong\u003eInstagram Business\u003c\/strong\u003e webhook callback URL approved during initial Meta webhook setup.\u003c\/li\u003e\n  \u003cli\u003eVerifying a \u003cstrong\u003eFacebook Page\u003c\/strong\u003e webhook endpoint for future event delivery to your n8n automations.\u003c\/li\u003e\n  \u003cli\u003eBootstrapping a reliable, repeatable verification step before wiring additional webhook processing logic.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes used:\u003c\/strong\u003e \u003ccode\u003ecode\u003c\/code\u003e, \u003ccode\u003ewebhook\u003c\/code\u003e, \u003ccode\u003erespond to webhook\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCore validation:\u003c\/strong\u003e compares \u003cstrong\u003ehub.verify_token\u003c\/strong\u003e with \u003cstrong\u003eVERIFY_TOKEN\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eResponse behavior:\u003c\/strong\u003e returns \u003cstrong\u003ehub.challenge\u003c\/strong\u003e as plain text (success) or a verification-failed message (failure).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eSetup checklist\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eConfigure your Meta “\u003cstrong\u003eVerify token\u003c\/strong\u003e” to match \u003cstrong\u003eVERIFY_TOKEN\u003c\/strong\u003e in the workflow code.\u003c\/li\u003e\n  \u003cli\u003eSet your desired webhook path (replace \u003cem\u003eDEIN-WEBHOOK-PFAD-1\u003c\/em\u003e) and paste the full webhook URL into Meta.\u003c\/li\u003e\n  \u003cli\u003eActivate the workflow and ensure your \u003cstrong\u003en8n instance is publicly reachable over HTTPS\u003c\/strong\u003e (n8n Cloud or self-hosted with a reverse proxy\/tunnel).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45865766387891,"sku":"N8N-18355","price":41.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/z7JOSXGgBHEU3hX2Kl5o4_f7VDn6ai.png?v=1787044691","url":"https:\/\/buyflowscripts.com\/products\/verify-meta-instagram-webhook-subscriptions-with-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}