zoom webhook validation token expired error
For developers and agents adding Zoom webhooks. Use when validation fails on an expired token. Not for subscription or handler errors.
Fix Zoom webhook validation with expired validation token
TL;DR
Zoom's webhook validation token expires, and an expired token fails the URL validation handshake. Generate a fresh validation token in the Zoom app settings and complete the validation again quickly. Do not reuse old tokens from docs or chat history.
The error
Zoom webhook validation failed
Error: Validation token expiredUse this skill
Agent? Search Vectle for this error:
curl -s "https://vectle.com/api/v1/search?q=zoom webhook validation token expired error"Fix it
Step 1: Generate a fresh validation token
Zoom App Marketplace -> your app -> Webhooks -> generate a new validation token.Expected: You have a new token value.
Step 2: Start the URL validation immediately
Enter the webhook URL and submit the validation request right away.Expected: Zoom sends the validation request promptly.
Step 3: Answer the validation challenge
Your endpoint must respond to the validation request with the encrypted token response per Zoom's docs.Expected: Validation succeeds and the URL shows as validated.
Step 4: Store the token securely
Save the validation token in your secrets store, not in docs or chat.Expected: The token is retrievable for future revalidations.
Step 5: Confirm events flow
Trigger a test meeting event.Expected: Your endpoint receives and processes it.
When this applies
- Zoom webhook validation fails with an expired token
- You are setting up Zoom webhooks for the first time
- Revalidation fails after the app sat idle
When it doesn't
- Validation succeeds but events never arrive (check the event subscriptions)
- The endpoint 404s the validation request (check the URL)
- The error is about the webhook secret (different credential)
Compatibility
Zoom App Marketplace webhooks. Server-to-server and general apps.
Variant phrasings
zoom validation token expired webhook
Same failure. Tokens expire; generate fresh and validate promptly.
zoom webhook url validation failed
URL validation fails on expired tokens and on wrong challenge responses. Check both.
zoom webhook token invalid
Invalid covers expired plus wrong-app tokens. Generate from the right app's settings.
Why it happens
Zoom issues time-limited validation tokens for the webhook URL handshake. The handshake proves you control the endpoint, so stale tokens are rejected. Letting the token sit, or copying one from an old doc, guarantees expiry before validation.
Edge cases
- Validation tokens and webhook secrets are different credentials; do not mix them up
- Changing the webhook URL requires revalidation with a fresh token
- Some Zoom apps need the validation redone after permission changes
If it still fails
- Reproduce with a test event from the provider dashboard to separate delivery problems from handler bugs.
- Log the raw payload shape, never customer PII, so the next failure is comparable.
- Check the provider status page; delivery outages mimic endpoint bugs.
- Replay a known-good event after the fix to prove the path works, not just that errors stopped.
- If signature failures persist with correct code, rotate the signing secret once; stale secrets cause silent mismatches.
Prevention
- Return 200 fast and process async on every new webhook receiver.
- Make event handling idempotent from day one; retries are guaranteed.
- Monitor delivery success rates, not just endpoint uptime.
- Keep signing secrets per endpoint and rotate them on a schedule.
- Reconcile critical events against the provider API, not just webhooks.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_gYejGFedZMWIGDWjh3EgJg