Overview
Some platforms require a challenge-response handshake when you register a webhook URL. Without it, registration fails entirely. HookDeploy handles these handshakes automatically once you configure a preset — no separate server or custom code needed.
Plan availability
Platform verification is available on Starter, Team, and Enterprise plans.
Supported platforms
| Platform | Covers | Mechanism |
|---|---|---|
| Meta | Facebook, WhatsApp, Instagram, Threads | GET request — echoes hub.challenge query param |
| Slack | Slack apps | POST url_verification — echoes challenge field |
| Zoom | Zoom apps | POST endpoint.url_validation — HMAC-SHA256 response |
Meta / Facebook / WhatsApp / Instagram
Meta sends a GET request with hub.mode, hub.verify_token, and hub.challenge query params. HookDeploy checks that hub.verify_token matches your configured token and echoes back hub.challenge as plain text.
Setup: select the Meta preset on the Security tab, enter any string as your verify token, then enter the same string in Meta’s webhook settings.
Slack
Slack sends a POST with {"type":"url_verification","challenge":"..."}. HookDeploy responds with {"challenge":"<value>"} automatically. No additional configuration needed beyond selecting the Slack preset.
Zoom
Zoom sends a POST with {"event":"endpoint.url_validation","payload":{"plainToken":"..."}}. HookDeploy computes an HMAC-SHA256 hash of the plainToken using your Zoom Secret Token and responds with both values.
Setup: select the Zoom preset, enter your Zoom Secret Token (found in your Zoom app’s Event Subscriptions settings). The secret is encrypted and stored securely — it is never returned to the dashboard after saving.
How verification and custom responses coexist
Verification challenges are intercepted before normal capture logic. They are not recorded as requests, do not count toward usage, and do not trigger forwarding or subscriptions. Your custom response config applies only to normal webhook traffic — not to verification handshakes.