Owners and admins only. Outgoing webhooks need the Business plan. They are not part of Starter, Growth or the free trial.
Outgoing webhooks
An outgoing webhook posts a signed JSON request to an address of yours each time something happens in your workspace. Use it to pass form answers, payments and messages to your own system, or to a tool such as Zapier or Make.Add a webhook
1
Open Developer
Go to Settings, then Developer, and choose Add a webhook.
2
Enter the address
The Address must start with
https and be reachable from the internet. Add a Name if you want one.3
Choose the events
Tick at least one event, then save.
4
Copy the signing secret
Companion shows the signing secret once. Copy it and keep it somewhere safe. It cannot be shown again.
5
Send a test
Open the menu on the webhook and choose Send a test. Companion tells you what your server replied.
Events
The list also offers Appointment booked (
appointment.booked). Companion has no booking feature to set up at the moment, so a new workspace will not receive it. See Take bookings with a form.
Send a test sends a webhook.test event, whatever the webhook is subscribed to.
What a request looks like
Each request is aPOST with a JSON body:
data depends on the event. Amounts are in minor units, so 4000 is £40.00.
Each request carries these headers:
Check the signature
The signature proves a request came from Companion and was not changed on the way.v1 is an HMAC-SHA256, in hex, of the timestamp, a full stop and the raw request body, made with your signing secret.
Replies and retries
- Reply with any
2xxstatus within 10 seconds. That counts as delivered. - If your server cannot be reached, takes longer than 10 seconds, or replies
5xx,408,425or429, Companion tries again: up to 8 more times, spaced out over several hours. - Any other
4xxreply is not retried. - Redirects are not followed. Use the final address.
- After 25 failed attempts in a row, the webhook is paused. Put your server right, then choose Resume.
If you leave the Business plan
Your webhooks are kept but nothing is sent to them. You can still pause or delete them. They start again when the workspace is back on Business.Call a webhook from a workflow
A workflow’s Call a webhook step posts aworkflow.step event to the webhook you pick. It carries the customer’s name, phone number and tags, the conversation, and the note you typed on the step, so your system can tell which step called it. See Build a workflow.