Each dialer you connect gets its own URL. In the dialer, put it in the setting that notifies a URL when a call ends. Every dialer calls that setting something different, and the guide for yours says where it is.
Then make one short call and hang up. It shows up on the integration page within seconds, with every field your dialer sent. That is how you know the connection works before you have spent anything.
No agent software, no hardware and nothing to install. The URL can be rotated if it leaks, and the old one stops working at once.
POST or GET /api/ingest/calls/<your token>
Dialers name the same thing differently: RecordingUrl, recording_url, AudioFile. The fields are filled in from your dialer's own documentation, then checked against the call it just sent, and you confirm them.
JSON bodies, form fields, multipart and query strings all work, and so does a call packed as JSON inside a single field. Only one field is required: the recording. Agent, duration, disposition and the phone numbers are optional, and they make the filters and agent reports better.
A test button shows exactly what would be extracted from that call, and whether your rules would audit it, before you save.
field mapping · sample payload
Skip calls under or over a length. Audit only certain dispositions, or exclude some. Limit auditing to named agents.
Sample from 1% to 100%. Sampling is stable per call, so a dialer that sends the same call twice cannot double your sample.
Set a daily cap so a busy day cannot run through your balance, and choose when calls are audited: as they arrive, hourly, or overnight.
filters · sampling · daily cap · schedule
Every call a dialer sends is logged as queued, scheduled, audited or skipped, and each skip gives its reason. Missed calls with no recording are skipped at no cost.
A call your rules skipped can still be audited with one click. If calls arrived before the mapping was finished, they can be re-run once it is.
Audited calls from each dialer are grouped into one batch per day, so they appear alongside your uploaded batches, with the same retries, pacing and failure auto-pause.
per-call log
| Criterion | QXAI |
|---|---|
| Dialers that post a finished call to a URL | YesYesPOST or GET; JSON, form or query string. |
| Certified partner integrations | DocumentedDocumentedSetup steps and field names follow each dialer's published docs, linked on the setup page. They are not certified partnerships. Knowlarity and iCallMate publish no push to a URL, so their team has to enable one. |
| Recording links that need a login | YesYesUsername and password (Exotel's API key and token), a custom header, or MyOperator's API token to turn a recording file name into a link. |
| Recordings copied to our storage | Not copiedNot copiedThe audio is fetched from your dialer's link when the call is audited. The audit keeps the link, not the file. |
| Raw call data from the dialer | YesYesDeleted after 90 days. Audits are kept. |
| Signed webhooks | NoNoThe URL itself is the secret, and you can rotate it. Signature verification is not supported. |
| Pulling calls from a dialer API | NoNoYour dialer has to send the call. We do not poll dialer APIs. |
| CRM connectors | NoNoNone. No OAuth apps, no marketplace listings. |