Build on confcall

One account, three ways to use it: use confcall directly, embed a room in your own product with the <conference-room> widget, or drive it programmatically over the REST control plane or the MCP server.

Get an API key first: sign in at meet.confcall.app, then open Developers / API & Embed to create a secret (sk_) key. Every example on this site assumes you already have one.

Embed a room

Drop the <conference-room> web component into any page — a CRM record page, an internal tool, your own app.

REST control plane

Create rooms, mint join sessions, invite the AI agent, and pull transcripts/recordings with a secret sk_ key.

MCP server

Let an agentic host (Claude, your own orchestrator) operate confcall as a set of typed tools instead of hand-rolled REST calls.

Salesforce example

A worked Lightning Web Component + Apex integration that embeds a room on a record page and writes call outcomes back as Activities.

The two-call smoke sequence

Every embed integration — including the Salesforce example — starts the same way: create a room, mint a join session for a specific user, then point the widget (or a plain link) at the resulting embed URL.

curl -s -X POST https://meet.confcall.app/api/embed/rooms \
  -H "X-API-Key: $CONFCALL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"roomName": "Acme onboarding call"}'
# -> { "roomId": "room-abc123", "embedUrl": "https://meet.confcall.app/embed/room/room-abc123" }

curl -s -X POST https://meet.confcall.app/api/embed/sessions \
  -H "X-API-Key: $CONFCALL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"roomId": "room-abc123", "externalUserId": "acme-user-42", "role": "host", "ttlSeconds": 3600}'
# -> { "token": "...", "expiresAt": "...", "embedUrl": "https://meet.confcall.app/embed/room/room-abc123" }

See API Reference for the full request/response shapes, and Widget for turning that embedUrl into a <conference-room> element.

Sources

This site is a static build over the same source-of-truth documents developers already read in the repo — it doesn't introduce a second copy of the truth: