Twilio → HookGet
Twilio calls HookGet; the request is verified at the door and becomes normalised events on the same pipeline as everything else you deliver.
In short
- Point a Twilio status callback at the ingest URL and paste your auth token — verification runs Twilio's exact recipe (URL + sorted params, HMAC-SHA1).
- The verification URL comes from HookGet's own configuration, never from request headers — a caller cannot bend the signature base.
- Calls become
call.received/call.answered/call.completed/call.missedwith duration; SMS becomessms.received/sms.delivered. - Phone numbers are PII: the call SID is the entity, the numbers stay in the raw payload and are declared as PII fields.
What it produces
| Twilio sends | Becomes | Data |
|---|---|---|
| CallStatus: ringing / initiated (inbound) | call.received | direction, from_country |
| CallStatus: in-progress | call.answered | — |
| CallStatus: completed | call.completed | duration_s |
| CallStatus: no-answer / busy | call.missed | duration_s |
| CallStatus: failed / canceled | call.failed | — |
| MessageStatus: received / delivered | sms.received / sms.delivered | — |
Set up
curl -X POST https://api.hookget.com/v1/sources \
-H "authorization: Bearer $HOOKGET_KEY" \
-d '{"provider":"twilio","secret":"<your Twilio auth token>"}'
# -> in Twilio: set the number's status callback (voice and/or SMS)
# to the returned ingest URL, method POST
Stated plainly
Twilio posts form-encoded bodies and signs the URL together with the parameters — both handled natively. What this source does NOT do: place calls, fetch recordings, or read message history. It receives what Twilio reports, verifies it, and hands it to the same pipeline as everything else — the missed-call alert is then a filter on call.missed, not a Twilio feature.
Questions
Which credential do I paste?
Your Twilio auth token (or an API-key secret configured as the signing key for the callbacks). It is stored encrypted, used only to verify signatures, and returned by no route.
Why do calls matter in a marketing dashboard?
Because for high-intent offers the phone is where the conversion happens, and it is the one channel web analytics cannot see. With calls as events, "leads that called" joins the same funnel as leads that clicked — and a missed-call spike during ad hours becomes an anomaly alert instead of a mystery in next month's numbers.