Create a webhook endpoint bound to an agent
Same as POST /config/webhooks, except the scope is taken from the path. Any agent_id in the body is ignored — this route can only bind to the agent in the URL. The secret is returned once and cannot be read again. Labels are unique per account, so the same label cannot be reused across agents.
Authorizations
API key in format: rg_live_xxxx. Pass as a Bearer token in the Authorization header.
Path Parameters
Agent ID to bind the endpoint to.
Body
Your chosen endpoint label. Lowercase letters, numbers, and hyphens only; 1-31 characters. Unique per account.
^[a-z0-9][a-z0-9-]{0,30}$"acme-tenant"
HTTPS URL that receives webhook events.
"https://acme.example.com/vocobase"
Whether the endpoint should receive new webhook events.
Event allowlist. Omit or send [] to receive every event type.
A webhook event type. This is the complete catalog and the only set accepted in an endpoint's events allowlist. webhook.test is deliberately absent: it is fired only by POST /config/webhooks/{id}/test and always reaches the endpoint being tested regardless of its allowlist. There is no session.failed event — a session that ends in a terminal failure is delivered as session.completed with duration_seconds: 0, transcript: null, and a terminal call.status.
session.completed, call.status.updated, call.transferred, whatsapp.message.sent, whatsapp.message.failed, whatsapp.message.status_updated