Setting up a webhook
1
Open webhook settings
Navigate to Settings > Developer > Webhooks and click Add Endpoint.
2
Configure the endpoint
Provide:
- URL — the HTTPS endpoint where Mavio sends events (must be publicly accessible)
- Events — select which events trigger this webhook (see event types below)
- Description — optional label for this endpoint
3
Receive the signing secret
Mavio generates a signing secret for this endpoint. Copy it and store it securely. You use this to verify that incoming requests are genuinely from Mavio.
4
Test the endpoint
Click Send Test Event to verify your endpoint receives and responds correctly. Mavio sends a
ping event and expects a 200 response.Event types
meeting.completed payload example
meeting.completed payload example
transcript.ready payload example
transcript.ready payload example
action_items.ready payload example
action_items.ready payload example
Payload format
All webhook payloads follow this structure:HTTP headers
Each webhook request includes the following headers:Signature verification
Verify webhook signatures to ensure requests are genuinely from Mavio. Each request includes an HMAC-SHA256 signature in theX-Mavio-Signature header.
Retry logic
If your endpoint does not return a2xx response, Mavio retries the delivery with exponential backoff:
After 5 failed attempts, the delivery is marked as failed. You can view and manually retry failed events from Settings > Developer > Webhooks > [Endpoint] > Deliveries.
If an endpoint consistently fails (10+ consecutive failures), Mavio disables it and sends an email notification. Re-enable it from the webhook settings after fixing the issue.
Troubleshooting
Endpoint not receiving events
Endpoint not receiving events
Verify the URL is publicly accessible over HTTPS. Check that your server responds with a
200 status within 10 seconds. Use the Send Test Event button to debug.Signature verification failing
Signature verification failing
Ensure you are comparing against the raw request body (not a parsed/re-serialized version). The signature is computed over the exact bytes sent by Mavio.
Duplicate events
Duplicate events
Webhook deliveries are at-least-once. Your endpoint may receive the same event more than once during retries. Use the
X-Mavio-Delivery header as an idempotency key to deduplicate.What IP addresses do webhooks come from?
What IP addresses do webhooks come from?
Mavio sends webhooks from a fixed set of IP addresses listed in the webhook settings page. You can allowlist these in your firewall.
Can I pause webhooks temporarily?
Can I pause webhooks temporarily?
Yes. Toggle the Active switch on any endpoint to pause deliveries. Events that occur while paused are not queued and are skipped.