Skip to main content
Ringee exposes five ways to build on top of it. They are complementary—most real integrations use more than one.

Public API

Server to server. Sync CRM records, open a secure dialer and run AI Voice Agents.

Dialer SDK

Browser. Embed a real dialer inside your own web app.

MCP

AI agents. Let Claude or ChatGPT read and act on Ringee data.

CLI

Terminal and scripts. The same capabilities as MCP, in a shell.

AI Voice Agents

Autonomous calling. Hold a real conversation and return a structured result.

Pick by what you are building

Side by side

Human-operated calls still run over WebRTC in a browser or mobile app. AI Voice Agents are the deliberate exception: Ringee starts those calls server-side, the configured agent holds the conversation, and API, MCP or CLI can read the asynchronous result.

A typical CRM integration

Most teams combine two surfaces:
1

Sync your records

Send contact.upserted so Ringee knows who is callable, and keep externalId stable so click-to-call and the Dialer SDK can resolve the same contact. For AI Voice Agent webhook correlation, also send it as metadata.external_id when you start the call. See Inbound events.
2

Let agents call

Embed the Dialer SDK for an in-product experience, or use click-to-call if you want the fastest possible path.
3

Receive the activity

Subscribe to call.completed, call.outcome.updated and recording.ready and write them into your CRM. Signed, retried, idempotent. See Outbound webhooks.

Credentials at a glance

Create cik_live_…, whsec_… and pk_live_… credentials from Integrations → Custom Integrations. The MCP URL comes from GET /api/mcp/connection-info.
cik_live_ and pk_live_ look similar and are minted by the same integration, but only pk_live_ is browser-safe. Rotating the cik_live_ key revokes every pk_live_ key on that integration.

Self-hosting

Every surface works against a self-hosted deployment. Replace https://api.ringee.io with your own backend URL: See the Configuration reference and AI Voice Agents self-hosting.