Connect CallRail
Updated
When someone calls one of your CallRail tracking numbers after clicking an ad, Kalman can record that call as a lead. The lead keeps the ad click CallRail saw. Like any lead, it goes to the ad platforms you've connected.
Set it up
You need to be an owner or admin.
- Open Integrations. Under Calls and testing, click Connect CallRail.
- On the new source page, copy the Webhook URL.
- In CallRail, go to Integrations → Webhooks → Post-Call, then paste the URL.
- Copy the signing key from that CallRail page. Paste it into CallRail signing key in Kalman and click Save.
Until a key is saved, Kalman rejects every call. After saving, the key can't be viewed again. To replace it, paste a new one and save.
Choose which calls become leads
Under Which calls become leads, the defaults are:
- First-time callers only
- Inbound calls only
- Answered calls only
- At least 30 seconds long
Change any of these and click Save. A call that doesn't pass shows as ignored in Recent deliveries and isn't recorded.
What happens to a call
- Kalman checks CallRail's signature first. A missing or wrong signature gets a 401, and nothing is stored.
- Kalman trims the call to a short list of fields before storing it:
- the call ID, start time, duration, answered, first-call and direction flags, and the caller's number
- ad click IDs (
gclid,fbclid,msclkid,ttclid) - UTM tags
- the landing page's host name only
- CallRail's company and tracker IDs
- Kalman records the call as a
leadwith the IDcallrail_followed by the call ID. If CallRail resends the call, it still counts once. - The caller's number is hashed. If an existing visitor has the same phone hash, the call joins that visitor. The call's click IDs fill in only where the visitor has none, so the tag's own values win.
Test it
Make a test call to a tracking number from a phone that hasn't called before. Talk for more than 30 seconds. Then check:
- Recent deliveries on the CallRail source page shows processed.
- Event log shows the new lead.
Privacy
Kalman drops everything else before storing: recordings, transcripts, notes, the caller's name and city, tags, and values. The trimmed call is stored encrypted and deleted after 30 days. Only the phone number's hash is kept on the visitor.
What Kalman never sends: ad platforms never receive recordings, transcripts, notes, caller names or plain-text phone numbers. They get the lead event with hashed identifiers and click IDs, from an allowlist.
Related articles
- Stripe and webhook catchersConnect Stripe, or catch any platform's webhook, map its fields to Kalman events, test the mapping, and watch for changes.
- Click IDs, UTMs and intake linksHow Kalman keeps ad click IDs and UTMs, carries them into an intake on another domain with the auto-linker, and tags Meta ads.
- The Event log, deliveries and the data-flow recordSee every event Kalman received, exactly what it sent to Meta and why anything was held back, and download a data-flow record.
- Connect Meta Conversions APISend Meta hashed, allowlisted conversion events from Kalman: credentials, event mappings, values, pixel dedupe, testing and pausing.
Support
Still stuck? Log in and open a request.
We answer in writing within one business day.
Open a request