CRM and integrations

How webhooks work: a plain explanation for business owners and developers

Sado AI team · · 4 min read

In short

A webhook is one system sending a message to another by itself when something happens. For example, a call ends and Sado sends the result, with a short summary and next step, to an address on your website or software. You don’t have to ask “anything new?” every minute. A webhook needs an HTTPS address open to the internet; your side should check each request’s signature, reply quickly, and not record a message twice if it arrives twice. Sado has webhooks and a REST API.

A webhook in plain words

Say you’re waiting for a courier. You can phone every five minutes and ask “are you here yet?”, or the courier can message you on arrival. The first is like polling an API; the second is a webhook.

Polling an APIWebhook
Who starts itYour systemThe system sending the message
When you find outOn your next requestAs soon as the event happens
What you needA program that asks from time to timeAn address (URL) open to the internet
Good whenYour server sits inside the office, unreachable from outsideYou need the result at once

What webhooks are for in calls

Once a call’s result arrives by webhook, your system can use it however you like. For example:

  • A call ends, and the result goes into your own CRM or internal software.
  • A customer books, and the time goes into your calendar.
  • A customer is interested, and a task is opened for a manager.
  • A customer says “don’t call me”, and the number is flagged in your database.

How a webhook works, step by step

  1. Your developer opens an address that accepts messages, for example https://your-site.uz/sado-webhook.
  2. That address is given to Sado. How to do it is on the developers page.
  3. An event happens, for example a call has ended and its result is ready. Sado sends a JSON message to the address.
  4. Your server checks the signature and replies “received” (HTTP 200) straight away.
  5. Then it processes the message: writes to the CRM, opens a task or sends an alert.

Five rules for developers

  • Use an HTTPS address only.
  • Check every request’s signature; that’s how you know the message really came from Sado. Reject unsigned or old requests.
  • Reply fast first and do the heavy work afterwards. If the reply is slow, the sender may decide the message never arrived.
  • Expect the same message twice: a sender that gets no reply usually retries. Store the event ID and skip repeats.
  • Never put keys or passwords in the address, and log errors.

When a webhook doesn’t work: what to check

  • Is the address open to the internet? Try it from another network, such as mobile data on a phone.
  • Has the HTTPS certificate expired?
  • Does the server return 200, or an error (4xx, 5xx)? Check the log.
  • Is the signature checked correctly: the secret copied in full, the request body checked unchanged?
  • Is the server clock right? Rejecting old requests depends on it.

Do you need a webhook, or is a ready connection enough?

Many companies don’t need a webhook at all. Sado has a ready Bitrix24 connection: the call card with its recording and transcript lands in the CRM and a lead or deal is created. Our team connects amoCRM, Google Sheets, 1C, BILLZ and MoySklad with you. Webhooks and the REST API are for your own software or another system.

More: Bitrix24 AI calling, amoCRM AI calls and CRM call logging. If you want website requests called right away: AI outbound calls. Try it live.

Questions

What’s the difference between a webhook and an API?

With an API, your system asks: “anything new?”. With a webhook, the other system sends a message by itself when something new happens. They’re often used together.

Do I need a developer for a webhook?

Yes, a developer opens the receiving address. But if you use Bitrix24, amoCRM, Google Sheets, 1C, BILLZ or MoySklad, Sado’s team connects them and you don’t need a webhook.

What does a webhook message contain?

The call’s result, for example a short summary and the next step. The full list of fields is in the reference on the developers page.

Are webhooks safe?

Yes, if the address uses HTTPS and you check every request’s signature. Don’t put keys or passwords in the address, and never send them to anyone in a chat.

Try Sado on your own calls.

Talk to the operator on the site or call 78 778 01 23 — this is exactly what your customers will hear.

78 778 01 23Telegram