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
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.
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" }
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.
Call event → your endpoint · last 7d
Optional password protection
If the URL you're sending events to requires auth, paste the password and HAPP will include it on every call.
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.
Exponential backoff · auto-recovery
Caller, duration, transcript, recording
Every field you need — call id, caller number, agent, duration, transcript and recording URLs. Plug straight into your storage.
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.
How to connect Call Webhook to HAPP
Three clicks inside HAPP — find the tile, paste URL and password, hit Connect.
Step 1: Find the integration
Open Integrations → Call Webhook
What you need to connect
A short checklist — once these four boxes are ticked, the rest takes about a minute.
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.
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.
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.
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.
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.
Ассистент по прийому інтернет-замовлень на покупку гаджетів
Account Information
https://api.acme.io/happ/chat
06.02.2026, 14:41
Account Information
Slava Saloid
24.01.2026, 16:53
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.
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.
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.
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.
- 1Open Integrations → Call Webhook tile.
- 2Click the ⋮ menu on the card → Disconnect.
- 3Confirm — the tile flips back to the blue Connect state.
- 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.
- 1Open Integrations → Call Webhook tile.
- 2Click Connect, paste the URL and secret.
- 3Hit Connect — ping fires, you're live.
- 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.