POST request to that URL the moment the event occurs. This makes webhooks the most efficient way to build reactive, event-driven integrations on top of the Convo platform.
Webhook subscriptions can be created and managed via the Convo dashboard (under Integrations → Custom Apps) or programmatically through the Webhooks API endpoints.
Webhook Topics
A topic identifies the type of event that triggers a webhook delivery. When you register a webhook, you subscribe to one or more topics. Convo only sends notifications for the topics you have subscribed to.
Additional event topics may be available for your plan. Check the Integrations section of your dashboard for the full list of topics supported on your account.
Webhook Object Fields
When you create a webhook, Convo stores a webhook subscription object with the following fields:Securing Webhooks
Because your webhook endpoint is publicly accessible, you need to verify that incoming requests genuinely originate from Convo and have not been tampered with in transit. Convo uses theshared_secret you configure to sign every webhook payload.
How to verify the signature:
1
Read the signature header
Convo includes a signature in the
x-convo-signature HTTP header of every webhook request.2
Compute the expected signature
Use your
shared_secret and the raw request body to compute an HMAC digest (SHA-256) and compare it against the value in the header.3
Reject mismatched requests
If the signatures do not match, discard the request — it was not sent by Convo or the payload was modified in transit. Return a
401 Unauthorized response.4
Respond with 200 OK
If the signature is valid, process the event and return
200 OK promptly. Convo considers any non-2xx response a delivery failure and will retry.Custom Apps
Webhooks in Convo are scoped to a Custom App. A Custom App is a named integration you create in the dashboard that groups your webhook subscriptions and API credentials together.- Navigate to Integrations → Custom Apps in the Convo dashboard to create a new Custom App.
- Each Custom App receives a unique
app_id. - You can create multiple Custom Apps per Project — for example, one for your CRM integration and another for your order management system — each with its own webhook URL and shared secret.
- Deleting a Custom App removes all associated webhook subscriptions.
Webhook Lifecycle
Convo retries failed webhook deliveries (non-2xx responses or timeouts) with exponential back-off. Ensure your endpoint responds within the timeout window and handles duplicate deliveries idempotently, as retries may result in the same event being posted more than once.
