PricingContactGet Started
Developers

Build voice agents into your product

One API for the whole call. Create agents, place outbound calls, answer inbound ones, and pull back transcripts, summaries, and outcomes, with first-party SDKs for TypeScript and Python and signed webhooks for every call event.

Install

Add the SDK to your project

Pick your language. Both SDKs wrap the same REST API, so the concepts carry over one to one.

npm
$ npm i @callintel/sdk
Quickstart

From key to first call

Create a client with your API key, spin up an agent, and place a call. The example below is illustrative; the full reference lives in the docs.

quickstart.ts
import { CallIntel } from "@callintel/sdk";

const client = new CallIntel({
  apiKey: process.env.CALLINTEL_API_KEY,
});

// Create a voice agent from a prompt + voice
const agent = await client.agents.create({
  name: "Front Desk",
  language: "en",
  voice: "aria",
  prompt: "Greet callers, qualify the lead, and book a demo.",
});

// Place an outbound call with that agent
const call = await client.calls.create({
  agentId: agent.id,
  to: "+14155550142",
});

console.log(call.id, call.status); // "call_8f3a..." "ringing"
Capabilities

What you can build

Every part of a CallIntel agent is reachable from the API. Wire up the pieces you need.

Agents API

Create and configure voice agents in code: prompt, language, voice, and the tools they can call. Version and deploy them like any other config.

Calls

Place outbound calls and accept inbound ones through the API. Stream status as a call rings, connects, and wraps up.

Outbound calling

Transcripts & outcomes

Fetch the full transcript, a post-call summary, the extracted variables, and a classified outcome once a call ends.

Call analytics

Phone numbers

Provision local and toll-free numbers, or forward an existing line, and attach them to an agent, all from the API.

Phone numbers

Webhooks

Subscribe to call events and receive a signed POST the moment a call completes, a transcript is ready, or an outcome lands.

Integrations (MCP)

Give agents tools through the Model Context Protocol, so a call can read and write your CRM, calendar, or store mid-conversation.

Integrations
Webhooks

Events, pushed to your endpoint

Register an HTTPS endpoint and CallIntel POSTs a signed JSON event whenever something happens on a call. Verify the signature, then act on it.

  • call.completed when a call ends
  • transcript.ready when the transcript is processed
  • outcome.classified when the result is labelled

Event names are examples; see the docs for the full catalog and signing scheme.

example delivery
POST https://your-app.com/webhooks/callintel
X-CallIntel-Signature: t=1718900000,v1=8c4f...

{
  "event": "call.completed",
  "id": "evt_2b91d7",
  "data": {
    "call_id": "call_8f3a",
    "agent_id": "agt_19c2",
    "direction": "outbound",
    "duration_seconds": 142,
    "outcome": "demo_booked",
    "transcript_ready": true
  }
}

Developer FAQ

Is there a REST API?
Yes. CallIntel ships a REST API documented with OpenAPI, so you can create and configure agents, place outbound calls, handle inbound calls, fetch transcripts and summaries, manage phone numbers, and subscribe to webhooks. Generate a client from the spec or call the endpoints directly. The full reference lives at developers.callintel.io.
Which languages have SDKs?
Two first-party SDKs ship today: TypeScript (@callintel/sdk on npm) and Python (callintel on PyPI). Both wrap the same REST API and webhook signatures, so the concepts are identical across languages. Any other language can call the REST API directly using the OpenAPI spec.
How do webhooks work?
You register an HTTPS endpoint, then CallIntel POSTs a JSON event to it whenever something happens on a call, for example when a call completes, a transcript is ready, or an outcome is classified. Each delivery is signed so you can verify it came from CallIntel, and failed deliveries are retried with backoff.
How do I authenticate?
Create an API key from your dashboard and send it as a bearer token on every request. Keys are scoped to your organization, so a call you place or a transcript you read only ever touches your own data. Rotate or revoke keys at any time without redeploying.
Is the SDK open source?
Yes. Both the TypeScript and Python SDKs are open source under the Apache-2.0 license, so you can read the source, vendor it, or open a pull request. The license permits commercial use.

Put a voice agent in your product

Grab an API key, install the SDK, and place your first call in minutes. Start free with 50 call minutes.

Chat With Us