How we work together
CallingEdge sits next to whatever you already run: a contact center, a PBX, a SIP trunk, or a cloud voice service. You decide how much of each call we handle. The integration is the same regardless of platform.
The shape of an integration
Section titled “The shape of an integration”Your platform <--> CallingEdge <--> Your CRM / app (calls) (AI + routing) (webhooks)Three things flow:
- Calls in and out of your voice platform, with CallingEdge as the AI side of the conversation (full, partial, or escalating to a human).
- Context attached to each call: tenant, campaign, contact, intent, any merge fields you pass in. This rides through transfers so a human picking up has the full picture.
- Webhooks back to you for every meaningful event (
placed,answered,transferred,ended, etc.) in a single normalized shape regardless of which platform the call came through.
The conversation model
Section titled “The conversation model”You choose per workflow:
- AI only: AI answers, qualifies, books, dispositions. No human leg.
- AI first, human fallback: AI handles the opening and escalates on triggers you define (high-value lead, complaint keyword, requested transfer).
- AI assist: human answers, AI runs in the background (notes, lookups, summarization). Available on contact-center platforms that support agent assist.
- Routing only: AI does triage and lands the call on the right human queue, no conversation.
The same call can switch modes mid-flow; the webhook event stream tells you exactly when and why.
REST endpoints you call
Section titled “REST endpoints you call”Calls come in over HTTPS with a bearer token we issue you.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/integrations/providers | List the platforms enabled for your account |
| GET | /api/integrations/providers/{key}/health | Confirm we can reach your upstream |
| POST | /api/integrations/providers/{key}/calls | Place an outbound call |
| POST | /api/integrations/providers/{key}/transfer | Transfer an active call |
| POST | /api/integrations/providers/{key}/wrap-up | Set disposition and end |
| GET | /api/integrations/providers/{key}/calls/{call_id} | Current call status |
See the per-platform pages for the request bodies and the auth headers each platform also requires.
Webhook events you receive
Section titled “Webhook events you receive”Every state change posts a single normalized event to the URL you register. The event kinds are stable across platforms:
| Kind | When |
|---|---|
placed | Outbound call accepted by the upstream platform |
inbound_ringing | Inbound call arrived |
answered | A human or AI agent answered |
voicemail | Detected voicemail or answering machine |
no_answer | Rang out |
busy | Line busy |
transferred | Call handed to a new destination |
ended | Call complete; check disposition, duration, recording URL |
error | Upstream returned an error |
Full payload shape, signature scheme, and retry behavior: Webhook contract.
What you need to provide
Section titled “What you need to provide”Per platform you bring four things:
- Connectivity: a SIP trunk endpoint, OAuth client, or IAM role we can use (specifics on each platform page).
- Identifiers: queue IDs, entry point IDs, flow IDs, agent IDs as relevant.
- A webhook URL on your side where we POST events.
- A wrap-up taxonomy: the disposition codes you want us to use.
We handle the rest: token refresh, signature verification, retry, normalization.