Skip to main content

Webhooks

Webhooks notify your own app or server when something happens in Whautomate, for example when a message arrives, a client is created or an appointment is booked. Whautomate sends an HTTPS POST request with the event details as JSON to the URL you choose, in real time.

Use webhooks to keep a CRM, spreadsheet, data warehouse or custom app in sync without polling the API.

Before you start​

  • You need to be an admin.
  • An HTTPS URL that accepts POST requests with a JSON body. Tools such as RequestBin or Pipedream are handy for testing.
  • Webhooks are set up at the account level: each webhook receives events from all workspaces in your account. The payload tells you which workspace an event belongs to.

Events​

GroupEvents
MessagesIncoming WhatsApp Messages, Outgoing WhatsApp Messages, and the same incoming and outgoing events for Instagram, Telegram, Messenger, Website (live chat) and TikTok
Clients (CRM Suite)Client Created, Client Tag Added, Client Tag Removed
ContactsContact Created, Contact Tag Added, Contact Tag Removed
Appointments (Bookings)Appointment Scheduled, Appointment Rescheduled, Appointment Cancelled, Appointment Completed, Appointment No-Show, Appointment Confirmed
Classes (Bookings)Class Participant Scheduled, Class Participant Rescheduled, Class Participant Cancelled, Class Participant Completed, Class Participant No-Show, Class Participant Waitlisted
Invoices (Sales)Invoice Created as Draft, Invoice Sent, Invoice Partially Paid, Invoice Fully Paid

Events that need an add-on your plan does not include are shown but cannot be selected. TikTok events are not available on accounts hosted in India.

Create a webhook​

  1. Go to Settings > Integrations and click Connect on the Webhooks card.

    The Integrations page with the Webhooks card highlighted
  2. Click New Webhook.

  3. Enter a Name and the Server URL (HTTPS only).

  4. Under Events, select one or more events.

  5. Optional: under Headers, click Add Header to send a Header Key and Header Value with each request, for example an API key or secret your server checks.

  6. Leave Active on and click Save. You see Webhook configuration saved successfully!

You can create up to 5 webhooks.

The Webhook Configuration form with name, server URL, selected events, headers and the Active switch

Test a webhook​

On the Webhooks list, open More Actions on a webhook and click Send Test Webhook. A sample payload is sent to your URL and you see Test Webhook sent successfully! If it fails, check the URL and that your server returns a 2xx response.

Check the logs​

Click View Logs to see every delivery with its Event, Workspace ID, Status (Success or Failed) and Timestamp. Click View Detail to see the URL, method, payload, your server's response and any error.

The Webhook Logs list with events, workspace IDs, success and failed statuses and timestamps

How delivery works​

  • Each event is sent as an HTTPS POST with a JSON body. The payload formats are listed in the pages below.
  • Your server should reply with a 2xx status quickly. If the request fails, it is retried, up to 3 attempts in total.
  • To pause a webhook, turn Active off. To remove it, click Delete Webhook.
  • Webhooks are not sent for data imported in bulk with CSV files, for outgoing messages sent by broadcasts, or for chat history imported from the WhatsApp Business app.

Custom payloads from automations​

To send your own JSON to any URL when an automation runs (for example only for clients with a certain tag), add a webhook action to an automation. Choose the request method, enter the URL and edit the Payload: type # to insert variables. Click Send Test Webhook to try it, then save the rule.

Payload formats​