Zoom deprecated its original callback-based notification system and replaced it with Webhook v2 — a structured, validated event delivery system that is significantly more reliable and secure. For enterprise teams that built Zoom integrations on top of the old system, the migration is not optional: Zoom's legacy notification URLs stopped receiving events for many event types.
This guide covers what changed, what broke, and how to migrate.
What Changed in Zoom Webhook v2
1. Endpoint Validation
v2 requires your webhook endpoint to respond to a validation challenge before Zoom will send events to it. When you register a webhook endpoint in the Zoom developer dashboard, Zoom sends a endpoint.url_validation event. Your server must return a proper HMAC-SHA256 response within 3 seconds or the webhook is rejected.
{
"event": "endpoint.url_validation",
"payload": {
"plainToken": "vrIBSD74Y7qMJe7nBrBVmg"
}
}
Your server responds:
{
"plainToken": "vrIBSD74Y7qMJe7nBrBVmg",
"encryptedToken": "<HMAC-SHA256(secret, plainToken)>"
}
2. HMAC Signature Verification
Every v2 event is signed with your webhook secret token. You must verify the x-zm-signature header on every incoming request. Failing to verify = a security vulnerability.
x-zm-signature: v0=<HMAC-SHA256(secret, "v0:" + timestamp + ":" + body)>
x-zm-request-timestamp: 1698765432
3. Event Payload Structure
Some event payloads changed shape. The most common breaking change is in recording.completed — the recording_files array structure has additional fields and the download token handling changed.
4. New Event Types v2 introduced new event types unavailable in v1:
meeting.started(real-time, not just scheduled)recording.transcript_completed(AI Companion transcript ready)meeting.participant_joined/meeting.participant_left
What This Means for Teams + Zoom Integrations
Most Zapier-based Zoom integrations used Zapier's polling mechanism to check for new recordings — they were never true webhooks. These continue working (slowly) but cannot access v2-only events like recording.transcript_completed.
If you built a custom integration, you need to:
- Register a new webhook endpoint that passes the validation challenge.
- Implement HMAC signature verification on every request.
- Update your event payload parsing for changed structures.
- Subscribe to new event types if your workflow uses them.
How SyncRivo Handles Zoom Webhook v2 Natively
SyncRivo's Zoom connector was built against the v2 API from the ground up:
- Automatic endpoint validation: When you connect your Zoom account in SyncRivo, the validation handshake is handled automatically.
- HMAC verification on every event: Every inbound Zoom event is cryptographically verified before being processed.
- Real-time event processing: Events are processed in under 100ms from Zoom's delivery.
- v2-only event support: SyncRivo supports
recording.transcript_completed— meaning AI Companion summaries can be routed to Microsoft Teams channels the moment they're ready.
This is why enterprise teams migrating from Zapier to SyncRivo often report a significant latency improvement — they're moving from 15-minute polling cycles to sub-second webhook delivery.
Explore the full Microsoft Teams and Zoom integration to see how SyncRivo handles the v2 event lifecycle end-to-end.