Skip to main content
Updated Aug 4, 2026

Webhooks

What you'll learn
  • What webhooks are and how they work in AutoTalk
  • What each delivery contains and how deliveries behave
  • How to create and manage webhook endpoints

Webhooks send real-time notifications to external services when events happen in AutoTalk. Instead of repeatedly checking AutoTalk's API for new data, your external system receives an automatic notification the moment something happens, such as a new message arriving or a contact being updated.

You manage webhooks from the Webhooks page under Integrations in the sidebar.

How webhooks work

  1. You provide a Webhook URL (an endpoint on your server or a third-party service that can receive HTTP requests).
  2. You pick a data Model and an Operation (for example, contacts + afterCreate) that should trigger the webhook, and optionally a CEL Filter to narrow which changes fire it. Your own Custom Types work too — pick the ct:<slug> entry in the Model dropdown (for Custom Types, the afterCreate, afterUpdate, and afterDelete operations fire).
  3. When a matching change occurs in AutoTalk, the platform sends an HTTP POST request to your Webhook URL with the event data in JSON format.

Your external system receives the data and can act on it however you need, whether that means updating a database, sending a notification, or triggering a workflow.

Delivery payload

Each delivery is an HTTP POST request with a JSON body in a stable shape:

{
"id": "contacts:afterCreate:66a1b2c3d4e5f6a7b8c9d0e1:2026-07-02T14:03:07.512Z",
"model": "contacts",
"op": "afterCreate",
"at": "2026-07-02T14:03:07.512Z",
"companyId": "664a0f9eb1c2d3e4f5a6b7c8",
"tenantId": "664a0f9eb1c2d3e4f5a6b7c8",
"doc": {
"_id": "66a1b2c3d4e5f6a7b8c9d0e1",
"name": "Jane Doe",
"createdAt": "2026-07-02T14:03:07.498Z",
"updatedAt": "2026-07-02T14:03:07.498Z"
},
"prev": null
}
FieldMeaning
idA per-event identifier combining the model, operation, record id, and timestamp
modelThe data model that changed — a built-in model like contacts, or ct:<slug> for a Custom Type
opThe lifecycle operation that fired the webhook (for example afterCreate, afterUpdate, afterDelete)
atWhen the event fired, as an ISO 8601 timestamp
companyId / tenantIdYour company's id (both fields carry the same value)
docThe record involved in the event (the example above is truncated — you receive the full record)
prevThe record's previous version, when one exists (updates); null otherwise (for example, on creates)
note

For Custom Type (ct:) afterDelete deliveries, doc is not the deleted record — it is a {filter, hardDelete, deletedCount} summary object describing the delete, and prev is always null.

Delivery semantics

  • Each event gets a single delivery attempt per webhook — failed deliveries are not retried.
  • The request times out after 5 seconds, and redirects are not followed — point the webhook directly at an endpoint that responds quickly.
  • Respond with any 2xx status to acknowledge receipt; the response body is ignored, and a non-2xx response counts as a failed delivery.
  • Failed deliveries are logged — use the Logs button on the webhook's detail page to review recent attempts.
  • Deliveries are not signed. If your receiver needs to verify that a request really came from AutoTalk, include a hard-to-guess token in your Webhook URL (for example, a secret query parameter) and check it on your side.

Managing webhooks

Viewing existing webhooks

Navigate to Integrations > Webhooks. The page displays a list titled Webhooks with all of your configured endpoints. The list follows AutoTalk's standard CRUD format with options to filter, view, edit, and delete entries.

Creating a new webhook

  1. On the Webhooks page, click the + button (tooltip "Add new webhooks").
  2. Fill in the fields:
    • Webhook URL — The endpoint where AutoTalk should send event data (must be a public HTTP/HTTPS URL)
    • Enabled — Whether the webhook fires (on by default)
    • Trigger — A Model, an Operation, and an optional CEL Filter that decide which changes fire the webhook
  3. Save the webhook.

AutoTalk will now send an HTTP POST request to your Webhook URL every time a matching change occurs.

Editing or deleting a webhook

  • Click on any webhook in the list to view its details and modify its configuration. The detail page also has a Logs button that shows recent delivery attempts.
  • To stop notifications to a specific endpoint, delete the webhook from the list.

Next steps