Call Webhook
Call Webhook active integration

Any service integrates with HAPP via webhook

HAPP sends call transcripts and orders to your URL
into CRM, dashboard or any other service — in real time

Your number
Ringostat
Phonet
Binotel
Unitalk
Features

What Call Webhook gives you

Connect your service to HAPP in one form — URL and password. Call events start landing in your system right away.

Any service

Works with any service or backend

If it accepts HTTPS, it accepts a Call Webhook. Your own backend, a Zapier scenario, n8n, Make — whatever you already run.

// POST /your-endpoint
{
  "event":     "call.completed",
  "callId":    "call_8f3a…",
  "caller":    "+380 67 ••• 5678",
  "direction": "inbound",
  "duration":  252,
  "endedAt":   "2026-05-26T14:02:11Z"
}
Speed

Events arrive in under a second

As soon as a call ends in HAPP, we send it to your URL — usually within 200 ms. Dashboards and CRMs stay in sync.

187msp95

Call event → your endpoint · last 7d

Security

Optional password protection

If the URL you're sending events to requires auth, paste the password and HAPP will include it on every call.

payload{callId, transcript, …}
secretwhsec_••••••••
HMAC-SHA256 ↓
3b9a4f…verified
Reliability

Auto-retries on failures

Your service was unavailable or returned an error? We retry with backoff — events don't get lost on a short outage.

0s
5xx
5s
5xx
30s
5xx
2m
200 OK

Exponential backoff · auto-recovery

Full context

Caller, duration, transcript, recording

Every field you need — call id, caller number, agent, duration, transcript and recording URLs. Plug straight into your storage.

HAPP
CRM200 OK
Slack200 OK
Warehouse200 OK
All providers

Ringostat, Phonet, Binotel, Stream Telecom, Unitalk

One webhook covers every telephony provider. The provider is in the payload — branch in your handler if you need provider-specific logic.

RingostatPhonetBinotelStream TelecomUnitalk
provider:"ringostat"in payload
Interactive demo

How to connect Call Webhook to HAPP

Three clicks inside HAPP — find the tile, paste URL and password, hit Connect.

my.happ.tools / integrations

Step 1: Find the integration

Open Integrations → Call Webhook

Before you start

What you need to connect

A short checklist — once these four boxes are ticked, the rest takes about a minute.

01

URL to receive events

A link to the service where you want to receive chat events — your backend, an automation scenario (Zapier, n8n, Make) or any service that accepts an HTTPS POST.

02

Webhook password (optional)

If your service requires authentication, take the password from its settings. HAPP will include it on every call so the service knows it's us. If your service is open — leave this empty.

03

Service that replies fast

Reply 2xx within 5 seconds. Slow replies count as a failure — we'll retry, but you'll get a delivery delay.

04

HAPP account with a chat

An active HAPP workspace at my.happ.tools with at least one messenger connected — so there's a real stream of events to deliver.

Verification

How to know it's all connected

When HAPP reaches your service and gets a 2xx response back, the Call Webhook tile flips to Connected — same green pill as on other integrations.

my.happ.tools / assistants / integrations
All Assistants

Ассистент по прийому інтернет-замовлень на покупку гаджетів

Assistant Settings
Knowledge Base
Tools
Phone Numbers
Chats
Integrations
Chat Webhook

Account Information

https://api.acme.io/happ/chat

06.02.2026, 14:41

Telegram Push

Account Information

Slava Saloid

24.01.2026, 16:53

Call Webhook
Connected

Account Information

https://api.acme.io/happ/call

25.05.2026, 14:30

Green "Connected" pill

The blue Connect button is replaced by a green pill — your service is now subscribed to chat events.

URL visible on the tile

The tile shows your webhook URL — easy to audit or change.

First event arrives

As soon as someone writes in any chat, the event lands on your URL. You'll see it in your service logs.

Settings and disconnect at hand

opens settings (change URL or password), gives you Disconnect — no hunting through menus.

Common errors

If events don't arrive

Four common cases — find yours and fix it in a minute.

Need help?

Stuck after these checks?

Write to our team — we'll look at the logs together.

Contact support

401

Wrong password

401 Unauthorized

The password in HAPP doesn't match the one on your service. Open the tile, paste the right password, save.

Timeout

ETIMEDOUT

Slow response

Your handler took longer than 5 seconds — we treat that as a failure. Reply 200 immediately, do the work afterwards.

404

URL not found

404 Not Found

Wrong path or the service isn't deployed. Check that the URL opens in a browser.

5xx

Service down

500–599

Check your service logs — we're already retrying in the background.

After N retries

Event dropped after retry limit

MAX_RETRIES_EXCEEDED

If your service is down for hours, we eventually stop retrying. How to recover:

  • 1Fix the service first — check that the URL opens and returns 2xx.
  • 2Disconnect and reconnect in HAPP — that resumes the stream.
  • 3Back-fill if needed — through the HAPP API.
FAQ

Common questions

Quick answers — if yours isn't here, scroll to the contact form below.

Can I have multiple webhooks?

Today it's one Call Webhook URL per workspace. If you need fan-out, add a thin proxy on your side that splits the request to N downstreams.

Do you store the messages?

We keep delivery attempts (status, response time, last error) for debugging. The message content itself lives in your HAPP chat history — the webhook is a one-way mirror.

How do I change the password?

Disconnect the tile, change the password on your service, then reconnect with the new value. In-flight requests with the old password will fail — accept a few seconds of overlap during the change.

What happens during HAPP downtime?

Webhook delivery is queued. When the platform is back, we drain the queue in order — your service will see a burst, then return to normal cadence.

Can I filter which events I receive?

Not yet — every chat message fires the webhook. Filter on your side using the channel and chat id fields in the payload.

Maintenance

How to disconnect & reconnect

Two short flows — same place, opposite buttons.

Disconnect

Stop event delivery without losing history

When you want to pause the stream — temporary maintenance, retiring an endpoint, switching providers.

  1. 1Open Integrations → Call Webhook tile.
  2. 2Click the ⋮ menu on the card → Disconnect.
  3. 3Confirm — the tile flips back to the blue Connect state.
  4. 4Chat history in HAPP is untouched; only outbound delivery stops.

After disconnect

  • Events that already left for your endpoint may still arrive (in-flight requests).
  • Use the HAPP API to back-fill anything you missed before reconnecting.

Reconnect

Resume — same URL or a new one

When the endpoint is healthy again or you've moved it.

  1. 1Open Integrations → Call Webhook tile.
  2. 2Click Connect, paste the URL and secret.
  3. 3Hit Connect — ping fires, you're live.
  4. 4Verify the first real message arrives in your logs.

After reconnect

  • Only new events flow through — historic messages aren't replayed automatically.
  • Use the HAPP API to back-fill if you need the gap.

Have a non-trivial use case?
Tell us about it — we'll help wire it up.

+380

We use cookies to analyze site traffic and improve your experience. Privacy Policy