Webhooks
Webhooks let you receive real-time event notifications from Fanzava in your own systems: CRMs, data warehouses, Slack bots, or custom applications.
Available events
Section titled “Available events”| Event | Triggered when |
|---|---|
participant.joined |
A participant joins your hub |
participant.first_tip |
A participant submits their first tip |
participant.inactive |
A participant misses 2+ rounds |
round.locked |
A round’s first fixture locks |
round.scored |
A round’s results are fully scored |
round.leaderboard_updated |
Leaderboard positions change after scoring |
competition.started |
A competition’s first round begins |
competition.ended |
A competition’s final round is scored |
group.member_added |
A participant is added to a group |
Setting up a webhook
Section titled “Setting up a webhook”- Go to Admin → Integrations → Webhooks → New webhook
- Enter your endpoint URL (must be HTTPS)
- Select which events to subscribe to
- Optionally set a secret key for signature verification
- Click Create
Fanzava sends a test event to your endpoint immediately. If it returns HTTP 200, the webhook is active.
Payload format
Section titled “Payload format”All events use the same envelope:
{ "event": "round.scored", "hub_id": "hub_abc123", "timestamp": "2026-04-01T10:30:00Z", "data": { // Event-specific payload }}Signature verification
Section titled “Signature verification”If you set a secret key, Fanzava includes an X-Fanzava-Signature header on every request:
X-Fanzava-Signature: sha256=<HMAC-SHA256 of request body using your secret>Verify this signature in your endpoint to ensure requests are genuinely from Fanzava.
Retries and failures
Section titled “Retries and failures”If your endpoint returns a non-2xx status or times out (>10 seconds), Fanzava retries up to 5 times with exponential backoff. Failed delivery attempts are logged in Admin → Integrations → Webhooks → [Webhook] → Delivery log.