Event Types
Reference of every webhook event Aura emits
Event Types
Aura emits 14 webhook events across three resources: leads, calls, and payments. Every event follows the pattern {resource}.{action}.
This page is regenerated from the canonical event registry in apps/api/src/lib/webhook-events.ts. If you see drift between the docs and a live payload, trust the live payload and open an issue.
Envelope
Every event ships with the same envelope:
{
"event": "call.booked",
"created_at": "2026-05-12T14:30:00.000Z",
"organization_id": "org_abc123",
"data": { /* resource-specific, see below */ }
}| Field | Type | Description |
|---|---|---|
event | string | One of the event types in the table below |
created_at | string (ISO 8601) | When the event was emitted, UTC |
organization_id | string | The org the event belongs to |
data | object | Resource payload — shape depends on event |
For signing, retries, and SSRF rules, see the Webhooks Overview.
All Events
Lead events
| Event | Fires when | Payload shape |
|---|---|---|
lead.created | A new lead is captured (booking, form submission, or manual create) | LeadWebhookData |
lead.updated | An existing lead's contact info, metadata, or attribution changes | LeadWebhookData |
lead.status_changed | A lead moves between pipeline stages | LeadWebhookData |
Call events
| Event | Fires when | Payload shape |
|---|---|---|
call.booked | A guest completes a booking and a call is created | CallWebhookData |
call.updated | A call's scheduled time, closer, status, or attribution changes | CallWebhookData |
call.started | The Notetaker joins the meeting and recording begins | CallWebhookData |
call.completed | The call ends and outcome is finalised (won / lost / no-show) | CallWebhookData |
call.canceled | A scheduled call is canceled | CallWebhookData |
call.rescheduled | A scheduled call moves to a different time | CallWebhookData |
call.closer_reassigned | An admin swaps the host on a booked upcoming call | CallCloserReassignedWebhookData |
call.no_show | A scheduled call is marked as no-show | CallWebhookData |
Payment events
| Event | Fires when | Payload shape |
|---|---|---|
payment.succeeded | A Stripe payment for a deal succeeds | PaymentWebhookData |
payment.failed | A Stripe payment for a deal fails | PaymentWebhookData |
payment.refunded | A previously-succeeded payment is refunded | PaymentWebhookData |
Example payloads
call.booked
{
"event": "call.booked",
"created_at": "2026-05-12T14:30:00.000Z",
"organization_id": "org_abc123",
"data": {
"id": "call_def456",
"lead_id": "lead_ghi789",
"closer_id": "user_jkl012",
"booking_link_id": "bl_mno345",
"scheduled_at": "2026-05-13T10:00:00.000Z",
"duration": 30,
"status": "scheduled",
"conferencing_url": "https://meet.google.com/abc-defg-hij",
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "spring-2026",
"utm_term": null,
"utm_content": "demo-cta",
"referral": null,
"guest_rsvp_status": null,
"guest_rsvp_confirmed_at": null,
"created_at": "2026-05-12T14:30:00.000Z",
"updated_at": "2026-05-12T14:30:00.000Z"
}
}lead.created
{
"event": "lead.created",
"created_at": "2026-05-12T14:29:55.000Z",
"organization_id": "org_abc123",
"data": {
"id": "lead_ghi789",
"name": "Jane Doe",
"email": "jane@example.com",
"phone": "+14155551234",
"company": "Acme Inc",
"status": "interested",
"timezone": "America/New_York",
"source": {
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "spring-2026",
"utm_term": null,
"utm_content": "demo-cta",
"referrer": "https://acme.com/book"
},
"created_at": "2026-05-12T14:29:55.000Z",
"updated_at": "2026-05-12T14:29:55.000Z"
}
}call.closer_reassigned
{
"event": "call.closer_reassigned",
"created_at": "2026-05-12T15:00:00.000Z",
"organization_id": "org_abc123",
"data": {
"call_id": "call_def456",
"previous_closer_id": "user_jkl012",
"previous_closer_name": "Alice Chen",
"new_closer_id": "user_pqr678",
"new_closer_name": "Bob Martinez",
"scheduled_at": "2026-05-13T10:00:00.000Z",
"conferencing_link": "https://meet.google.com/xyz-abcd-efg",
"new_event_id": "evt_stu901",
"booking_link_id": "bl_mno345",
"reassigned_by_user_id": "user_admin_001",
"old_event_orphaned": false
}
}payment.succeeded
{
"event": "payment.succeeded",
"created_at": "2026-05-13T11:15:00.000Z",
"organization_id": "org_abc123",
"data": {
"id": "pay_vwx234",
"lead_id": "lead_ghi789",
"call_id": "call_def456",
"amount": 500000,
"currency": "usd",
"status": "succeeded",
"payment_date": "2026-05-13T11:15:00.000Z",
"created_at": "2026-05-13T11:15:00.000Z"
}
}Amounts on payment events are in the currency's smallest unit (e.g. cents for USD), matching Stripe's convention.
Field-level reference
See Payload Reference for the full shape of each data object.
Next steps
- Webhooks Overview — setup, signing, and retries
- Payload Reference — every field on every payload
- Zapier — no-code alternative if you don't want to host a receiver