Skip to main content

Webhook Events

Orbit emits 176 event types across messaging, voice, agents, flows, contacts, billing, and account activity. Subscribe to specific events when registering a webhook, or pass ["*"] to receive everything.
This page is the canonical catalog — every event listed here is emitted by the platform and accepted by the subscription validator. For full payload examples, see the Webhook Events Reference.The catalog is generated from WEBHOOK_EVENT_TYPES in packages/shared/src/constants.ts; the same constant powers the server-side Zod enum that validates webhook_endpoints.events[], so any name not in this catalog cannot be subscribed to.

Message Events

Outbound + inbound message lifecycle across every channel (SMS, WhatsApp, RCS, email, Telegram, Messenger, Viber, etc.).
EventDescription
message.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.sentPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.deliveredPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.readPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.receivedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
message.recipient_deactivatedCarrier number deactivation sweep (R16FIX 2026-05-30) — fires once per deactivated MSISDN the nightly carrier-feed sweep flips to DNC.
message.repliedMESSAGE_REPLIED — fires when an INBOUND message is received in response to an OUTBOUND message (i.e. there is at least one prior outbound message in the same conversation).

Contact Events

Contact CRUD, bulk-import lifecycle, opt-in/out signals, and predictive-segment transitions.
EventDescription
contact.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.trait_changedComputed-trait value transition for a single contact (DECISION — CDPAAS_REAL_TIME_TRAIT_RECOMPUTE_2026_05_28).
contact.bulk_importedFired once per bulk CSV import after all rows are processed.
contact.mergedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.opted_outPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.opted_inPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
contact.recertification_dueReassigned Number Database (RMD) annual recertification due.
contact.segment_changedPredictive-scoring events (migration 077).

Campaign Events

Campaign lifecycle + drip-step granularity. Use these to drive CRM journeys when a campaign starts, pauses, completes, or fans out a single drip step.
EventDescription
campaign.startedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.pausedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.resumedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.drip_step.sentPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.drip_step.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.drip.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
campaign.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Voice Events

Voice call lifecycle (inbound + outbound), DTMF, recording, transcription, AI summary, conference lifecycle, and voicemail.
EventDescription
call.initiatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.answeredPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.transferredPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.dtmf_sentMid-call DTMF inject (B-237).
call.recording.pausedMid-call recording pause (B-242).
call.recording.resumedMid-call recording resume (B-242).
call.hit_voicemailOutbound call hit a voicemail / fax (Telnyx AMD result = machine|fax).
call.ringingInbound INVITE seen at the SIP edge but call not yet answered.
conference.createdConference lifecycle events (audit #BUG-R65).
conference.participant_joinedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
conference.participant_leftPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
conference.endedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
recording.startedRecording lifecycle events (audit #BUG-R65).
recording.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
recording.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
recording.qc_failedPost-finalize QC failure (RTC-PaaS competitor-parity gap, 2026-05-29).
voicemail.receivedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
voicemail.transcript_updatedLate-arriving transcript: fires when a voicemail’s transcript was NULL at receipt (Deepgram inline failure) and a subsequent retry recovered it.
call.transcript_readyTelephony-aware CDP — CDP-016 parity wedge (2026-05-29).
call.recording.readyPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.transcription.readyPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
call.synthesis.readyAI summary / action-items / sentiment extracted from the transcript (opt-in).
call.synthesizedPhase 4.4 — Post-call synthesis pipeline (scheduler-driven).
recording.retention_deletedFired ahead of a retention-driven GCS purge so tenants can mirror the recording/attachment to their own archive before it is deleted.
recording.chapters.readyRTC-PaaS auto-chaptering (2026-05-28).
voice_eval.run_startedVoice eval regression suite (migration 282, 2026-05-22).
voice_eval.run_completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
voice_eval.regression_detectedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Agent Events

AI-agent lifecycle, conversation transitions, human + agent-to-agent handoffs, calendar-tool fires, and structured agent responses.
EventDescription
agent.conversation.startedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.conversation.endedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.deployedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.handoff.requestedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.handoff_occurredPhase 4.2 — Fired by agent-runtime the moment one agent delegates a conversation to another specialist agent via the enhanced transfer_to_agent tool.
agent.responsePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.calendar_event.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
agent.dnc.markedAIaaS-P0-BUG fix (2026-05-30): fired by POST /agents/dnc when an AI voice / text agent invokes the mark_dnc MCP tool and the platform persists the suppression to suppression_list (+ dnc_list mirror for voice/S…
agent.handed_offPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Flow Events

Visual-flow lifecycle (create / publish / delete) and granular per-run execution telemetry.
EventDescription
flow.execution.startedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.execution.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.publishedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.executedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
flow.execution.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Verification Events

OTP / verification lifecycle including the async multi-channel fallback engine.
EventDescription
verification.sentPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
verification.approvedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
verification.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
verification.checkedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
verification.fallback_triggeredFired by the scheduler-verify-fallback tick each time the async fallback engine advances to a new channel.
verification.fallback_exhaustedFired when the async fallback engine has tried every channel in the fallbackConfig.channels array without obtaining a verified status.

Number / Porting Events

Phone-number purchase, release, port-in / port-out, and customer port cancellation.
EventDescription
number.purchasedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
number.releasedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
number.portedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
number.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
porting.request.cancelledNumber porting customer-cancellation event.
porting.request.manual_review_requiredPort-IN fell back into manual-review mode (GAP2_NaaS_115, 2026-05-29).
porting.request.loa_signedPort-IN LOA signed in-platform (cpaasparity2-porting-loa-workflow, 2026-05-29).
number.port_out.requestedNumber port-OUT lifecycle events (NaaS-005 capability-gap fix, 2026-05-29).
number.port_out.cancelledPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Conversation Events

Conversation thread lifecycle (start / close / disposition / QM-score) — useful for cross-channel inbox automation.
EventDescription
conversation.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
conversation.disposedFired by the auto-disposition service when a conversation is automatically closed/resolved by an AI or rule-based disposition engine.
conversation.scoredFired by the QM-scoring service when a conversation receives a quality-management score.
conversation.deflectedCSPaaS Intercom Fin / Zendesk parity gap (2026-05-30) — CRM/CDP needs to distinguish AI-resolved volume from human-resolved volume.
conversation.startedConversation lifecycle — fired by the inbox/handoff pipeline.
conversation.closedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

List / Segment Events

Static-list and dynamic-segment CRUD.
EventDescription
list.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
list.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
segment.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
segment.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Webhook Endpoint Events

Meta-events about webhook subscriptions themselves — wire these to your tenant-admin audit pipeline.
EventDescription
webhook_endpoint.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
webhook_endpoint.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
webhook_endpoint.deletedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Billing Events

Wallet balance lifecycle (low, top-up) and Stripe invoice / payment-failure mirror events.
EventDescription
subscription.updatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
balance.topped_upPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
credits.purchasedUse BALANCE_TOPPED_UP instead Deprecated.
balance.lowPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
credits.lowUse BALANCE_LOW instead Deprecated.
invoice.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
payment.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Channel Failover Events

Emitted when a messaging channel auto-failed-over from its primary provider to its backup.
EventDescription
channel.failoverPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Push Events

Push-SDK acknowledgements (rendered / opened on-device) so tenant CRMs can mark engagement without polling.
EventDescription
push.deliveredPush notification SDK ack events.
push.openedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Number Masking (Proxy) Events

Two-party proxy-session lifecycle + per-message forwarding events.
EventDescription
proxy.session.createdPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
proxy.session.closedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
proxy.message.forwardedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

WhatsApp Events

Mirrors of Meta WABA webhook fields (account, phone, template, calls, GDPR, v25 fields).
EventDescription
whatsapp.account.updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.account.bannedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.account.restrictedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.phone.quality_updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.phone.name_updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.capability.updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.security.alertPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.flow.status_changePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.template.approvedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.template.rejectedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.template.quality_updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.template.category_updatePlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.template.components_updateMeta auto-edits a template’s components for compliance (e.g. inserts the standard opt-out hint into a MARKETING body).
whatsapp.quality.changedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.call.receivedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.call.connectedWhatsApp Business Calling lifecycle events (Phase 2 — 2026-05-09).
whatsapp.call.acceptedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.call.terminatedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.call.permission_grantedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.call.permission_revokedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
whatsapp.account.alertMeta-issued operational alert about the WABA (e.g. policy violation, pricing change effective date, payment method failed).
whatsapp.account.review_updateWABA went through a Meta-side review that updated its compliance status (e.g. moved to RESTRICTED / FLAGGED).
whatsapp.business.status_updateBusiness profile status changed at Meta (verification badge, official business account flag, business status).
whatsapp.user.preferencesUser-level marketing preference signal.
whatsapp.data.export_requestGDPR Article 15 (data subject access request) — user invoked “Request my data” inside the conversation.
whatsapp.data.delete_requestGDPR Article 17 (right to erasure) — user invoked “Delete my data”.
whatsapp.account.settings_updateWABA-level settings changed (commerce/profile/etc.).
whatsapp.automatic_eventsMeta’s auto-detected business events (cart abandoned, etc.).
whatsapp.group.lifecycle_updateWA Group lifecycle (created/deleted).
whatsapp.group.participants_updateWA Group participants joined/left.
whatsapp.group.settings_updateWA Group renamed/description changed.
whatsapp.group.status_updateWA Group activated/archived.
whatsapp.historyInitial-connection backfill of historical messages.
whatsapp.partner_solutionsPartner integration events.
whatsapp.payment_configuration_updatePayment setup state changed (WA Pay).
whatsapp.smb.app_state_syncSMB app state sync events.
whatsapp.smb.message_echoesEchoes of messages sent from the SMB app (hybrid setups).
whatsapp.template.correct_category_detectionMeta detected the template’s category was wrong vs. its actual intent.
whatsapp.tracking_eventsPer-message tracking events (link clicks, etc.).

Supervisor Events

Supervisor warm-handoff lifecycle (request / complete / fail / cancel).
EventDescription
supervisor.takeover_requestedFired when a supervisor initiates a warm-handoff takeover of a live call.
supervisor.takeover_failedFired when a supervisor takeover attempt fails (e.g. Jambonz REST error during the leg-swap).
supervisor.takeover_completedFired when the supervisor successfully takes over the call and becomes the active party.
supervisor.takeover_cancelledFired when a takeover is cancelled (call ended before handoff completed, or supervisor explicitly aborted).

SIP Trunk Events

SIP-trunk registration-status transitions.
EventDescription
sip_trunk.status_changedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

CDP Events

Customer-data-platform ingestion: server-to-server track/identify with identity-resolution.
EventDescription
cdp.event.ingestedCDP inbound — fired after a Segment-shaped /cdp/track or /cdp/identify payload is verified, persisted to tenant_*.cdp_events, and identity- resolved against tenant_*.contacts.
cdp.identity.resolvedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.

Other

Events whose name prefix does not yet map to a documented surface group. Surface them in the catalog so they remain discoverable, then update SURFACES in the generator.
EventDescription
email.openedEmail engagement events (Resend webhook surface).
email.clickedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
video.recording.degradedPARITY-RTC-R1 (2026-05-29) — video room recording QC verdict.
video.room.startedGAP-RTC-R2 (2026-05-29) — video room + participant + recording lifecycle webhook fan-out.
video.room.endedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
video.participant.joinedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
video.participant.leftPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
video.recording.completedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
video.recording.failedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
ticket.deflectedPlatform-defined webhook event. See source comment in packages/shared/src/constants.ts for context.
wallboard.sla_warningVoice-queue wallboard SLA early-warning (CCaaS).

Subscribing to Events

When creating a webhook, specify which events to receive:
curl -X POST https://orbit-api.devotel.io/api/v1/webhooks \
  -H "X-API-Key: dv_live_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhooks/orbit",
    "events": ["message.delivered", "message.failed", "call.completed"]
  }'
Use "events": ["*"] to subscribe to all event types. Subscribing to a name not in the catalog above returns a 422 with code VALIDATION_ERROR.

See also