Skip to main content
Project webhooks are scoped to the whole project rather than a single phone number. They never receive message or conversation events - for those, see Message events. Configure them in Integrations → Webhooks → Platform webhooks.

Available events

Sent only to project webhooks. These do not include message or conversation events.

whatsapp.phone_number.created

Fires when a customer successfully connects their WhatsApp through a setup link. See Connection detection for implementation guide. Payload:

whatsapp.phone_number.deleted

Fires when a WhatsApp phone number is removed from your project. This event triggers at the start of the teardown process, before the number is fully deleted. Payload:

whatsapp.phone_number.offboarded

Fires when Meta offboards a phone number from the Cloud API. These three events (offboarded, disconnected, reconnected) are only available on project-scoped webhooks using payload version v2. Subscribing with payload_version: "v1" returns 422. Payload:

whatsapp.phone_number.disconnected

Fires when Meta reports that your partner access to the number was removed (PARTNER_REMOVED) or the partner app was uninstalled (PARTNER_APP_UNINSTALLED). The number can no longer send or receive messages through Kapso until it is reconnected. Same payload as whatsapp.phone_number.offboarded, plus a disconnection object with the lowercased Meta values:
disconnection.reason and disconnection.initiated_by come straight from Meta and may be absent.

whatsapp.phone_number.reconnected

Fires when Meta reports that the Cloud API connection was restored (ACCOUNT_RECONNECTED). Same payload as whatsapp.phone_number.offboarded, with source.event set to ACCOUNT_RECONNECTED.

workflow.execution.handoff

Fires when a workflow execution is handed off to a human agent. Payload:

workflow.execution.failed

Fires when a workflow execution fails due to an error. Payload:

project.event

Fires when a custom project event is emitted. This event is only available on project-scoped webhooks. Phone-number webhooks do not receive custom project events. Subscribing to this event requires project events to be available on your plan. Payload:
conversation_id is included only when the event is linked to a WhatsApp conversation. See Events for emitting and triggering workflows from project events.