Skip to content
Back to AI Glossary
AI Definition

Webhooks

"Webhooks are HTTP messages one system sends to another the moment an event happens, such as a lead being qualified, so the receiver can act at once."

In short

What are Webhooks?

Webhooks are HTTP messages one system sends to another the moment an event happens, such as a lead being qualified, so the receiver can act at once. Related product: Chat Agents.

Reviewed by , Co-Founder · Last reviewed

Deep Dive

A webhook is a push notification between software. When something happens in one system (a conversation ends, a lead is qualified, a booking is made), it sends a small HTTP request with the details to a URL you chose, and the system at that URL does something with it. For an AI agent, webhooks run in both directions: the agent fires them when it finishes a task, and it listens for them so it knows when a payment cleared or a ticket was updated.

How it works. You register a destination URL and pick the events you care about. When an event fires, the sender POSTs a JSON body: event type, timestamp, conversation ID, the extracted fields (name, phone, intent, outcome), and often a transcript link. The body is usually signed with a shared secret so the receiver can verify where it came from. The receiver should respond with a 2xx status within a few seconds; anything else is treated as a failure and most senders retry with increasing delays for a period of hours. The receiver can be your CRM, a Zapier or Make scenario, a Slack channel, or your own server.

Why it matters for operations. Webhooks are what turn a conversation into work for the rest of the business. A qualified lead that sits in the agent's dashboard is worth little; the same lead pushed into the CRM and a sales rep's Slack within a second of the conversation ending is a call that happens while intent is high. They also keep systems honest: if the webhook fails, you find out, rather than discovering a week later that bookings never reached the calendar.

Example. A restoration company runs an after-hours voice agent. At 2 am a homeowner reports a burst pipe. When the call ends, the agent sends a webhook with the address, the loss type, the caller's number and the urgency flag. The company's automation posts it to the on-call technician's phone and creates the job in JobNimbus. A second webhook from the job system, when the technician accepts, triggers a confirmation text to the homeowner with the arrival window.

Webhooks vs API. A webhook is the system telling you; an API is you asking the system. Use a webhook when you need to react to events as they happen; use an API when you need to fetch or change data on demand. A good integration has the agent firing webhooks on outcomes and calling APIs for lookups.

Common pitfalls. No signature check, so anyone who finds the URL can inject fake leads. Receivers that do heavy work before responding, so the sender times out and retries, creating duplicates. No idempotency key, so a retry books twice. Payloads that change shape without a version field. No dead-letter queue, so failed events are lost rather than replayed.

Botcadence chat agents can route conversation outcomes to Slack, Zapier, Google Sheets and CRM systems such as HubSpot and Salesforce; see workflow automation.

See Webhooks in a Botcadence agent

Start on the Free plan and configure an agent that uses Webhooks on your own website chat or WhatsApp number. No card needed.

Get Started Free

Website chat live in about 5 minutes

Common Questions

Webhooks FAQs

Most senders retry failed deliveries with growing delays over several hours, but not indefinitely. Put a lightweight receiver in front of the CRM that accepts the event at once, queues it, and replays it when the CRM is back.

Include a unique event ID in every payload and have the receiver ignore any ID it has already processed. Match on conversation ID plus event type if the sender does not provide one.

Conversation ID, channel, timestamp, name, phone or email, the answers to the qualifying questions, a score or tier, the transcript URL and the recommended next action. Keep the raw transcript behind a link rather than in the payload.

Point it at a request-capture endpoint, trigger each event type by hand, and check the payload shape and signature. Then return a deliberately failing response to confirm the retry behavior.

Ask AI about this page