Integrations
Webhooks, Slack, Linear, Shopify and more
Documents
Call webhooks: integration guide
Receiving your calls in your own system when they start, are answered, end and when the recording is ready: setup, example requests, every field, signature checks and the differences between calling services.
v1.0 · 11 pages
Open
Download
12 articles
- Call webhooks: WhatsApp QR, WhatsApp Business API and Twilio differences WhatsApp (QR): incoming calls are answered on the phone (answered_on: phone, agent: null), the duration comes from the answer or the phone's call log, recordings only for calls placed from the dashboard and the app. WhatsApp Business API: answered in the dashboard, ended_by agent/contact/system, busy is reported. Twilio: ended_by is the first side to leave the conference, no recording or summary. Last updated: 9 October 2026
- Call webhooks: delivery, retries and duplicates Your server should answer 2xx within 5 seconds. On a connection error, a timeout, 429 or 5xx Clomni retries: 5 attempts in all, 30 seconds, 1, 2 and 4 minutes apart. A 4xx is final and is not retried. delivery_id stays the same on a retry: if the same delivery_id arrives again, it is a duplicate. Last updated: 9 October 2026
- Call webhooks: events and when they arrive call_started comes when an incoming call rings or an agent places a call, call_answered when it is picked up, call_ended when it is over (duration, outcome, who hung up), call_recording_ready when the recording, transcript and summary are ready. Each event once per call. An unanswered call has no call_answered. For a WhatsApp (QR) call answered on the phone, call_ended waits up to 10 minutes for the phone's call log. Last updated: 9 October 2026
- Call webhooks: problems and fixes No event arrives: tick the events under “Calls” on the webhook, the address must be HTTPS and reachable, a 4xx is not retried. The signature does not match: use the raw body and this webhook's secret. The same event twice: it is a retry, drop it by delivery_id. duration_seconds is null: the call was not answered or the phone's call log never came. Last updated: 9 October 2026
- Call webhooks: request fields and examples Every request is JSON: event, delivery_id, id, provider_call_id, account, inbox, conversation, message_id, direction, status, contact, agent, started_at, answered_at, ended_at, duration_seconds, duration_known, ended_by, answered_on, recording_url, transcript_available, transcript, summary, language. A field that is not known is null. Last updated: 9 October 2026
- Call webhooks: send your calls to your own system Settings › Workspace settings › Integrations › Webhook › “Add new webhook”. Under “Calls”, tick “Call started”, “Call answered”, “Call ended” and “Call recording ready”. Clomni sends each event once per call, with the duration, the outcome, who hung up, the recording, the transcript and the summary. Last updated: 9 October 2026
- Call webhooks: verifying the signature Every request has the X-ChatX-Delivery, X-ChatX-Timestamp and X-ChatX-Signature headers. The signature is sha256= followed by HMAC-SHA256(secret, "<timestamp>.<raw body>"). The secret is shown when the webhook is created and is in its edit window. Reject a request whose timestamp is older than 5 minutes. Last updated: 9 October 2026
- Connect a Shopify store Settings › Workspace settings › Integrations › Shopify › “Connect”. Enter your your-store.myshopify.com address in the “Store URL” field and click “Connect Store”. The customer's orders then show in the conversation's right panel. Last updated: 26 September 2026
- Dashboard apps: show your own system inside a conversation Settings › Workspace settings › Integrations › “Dashboard Apps” › “Add a new dashboard app”. Enter a name and the “Endpoint” URL and click “Submit”. The app opens as a separate tab on the conversation screen. Last updated: 26 September 2026
- Google Calendar: take meetings and bookings Connect your calendar in Settings › Workspace settings › Integrations › Google Calendar › “Connect” and set up the “Booking rules”. An agent books a meeting from the conversation with “Bookings” › “Add booking”. A booking gets a Google Meet link, and the customer is told in the chat when it is booked, moved or cancelled. Last updated: 1 October 2026
- Linear: create an issue from a conversation An administrator connects the Linear workspace with “Connect” on the Settings › Workspace settings › Integrations › Linear page. Then an issue is created or linked from the conversation's right panel with “Create/Link Linear Issue”. Last updated: 26 September 2026
- Set up a webhook: send events to your own system Settings › Workspace settings › Integrations › Webhook › “Configure” › “Add new webhook”. Enter the “Webhook URL”, choose the “Events” and click “Create webhook”. Copy the secret that is shown. Last updated: 9 October 2026