Skip to content
Daber AI

Developers

Anything the dashboard does, your code can do too

A public API with key auth, signed webhooks on call completion, CRM activity write-back, and an MCP server that lets you build your whole workspace from Claude or ChatGPT.

The short answer

Is there an API for the phone agent?

Yes. There is a public REST API authenticated with a key sent in the Authorization header, and it can queue an outbound call, read conversations and transcripts, and manage agents, call flows and the knowledge base. When a call finishes, a webhook signed with HMAC is delivered to an endpoint you configure, so you never have to poll. If you work in Salesforce or HubSpot, the system can write the call back as a completed activity linked to the lead or contact. All of it is also exposed through a remote MCP server, which lets an LLM client build and operate the workspace without you writing any code. The full reference, field by field and route by route, lives in the OpenAPI docs linked from this page.

The live reference

The reference is generated from the code itself, so it always matches what is actually running. A route, a field or an error code you see there is what the server returns.

Open the API reference

https://server.daber.ai/v1/docs

The public REST API

Key auth on every request, snake_case on the wire, and per-route scopes — each key carries a defined set of scopes, and a key without the right scope simply doesn't get the route. A key is shown once at creation; only a hash of it is stored on our side.

  • Queue an outbound call, optionally attached to a campaign so the outcome rolls into its KPIs
  • Read conversations: metadata, transcript, summary, sentiment and the escalation reason
  • Manage agents and call flows, including generating a flow from an existing script document
  • Write to the knowledge base — API-created entries land as drafts, and dashboard approval is what makes them retrievable
  • Every agent or flow change is versioned, including ones that arrived over the API — and you can roll back

Queue an outbound call

The minimal request: an agent id and a number to dial. The call enters the queue and runs down the same dial path the campaigns use, so there is no second code path behaving differently.

curl -X POST https://server.daber.ai/v1/calls \
  -H "Authorization: Bearer dbr_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "3f9c1a52-7b41-4f0e-9c8d-2a5b6e7d8f10",
    "phone": "+972501234567"
  }'
The response returns the call request's id. The outcome — answered, unanswered, what was said and what was summarised — arrives on the completion webhook, not in the reply to this request.

Webhooks on completion

Instead of polling the API until a call ends, you register an endpoint and the event comes to you. Every request carries an HMAC-SHA256 signature over the timestamp and the body — verifying it on your side is the difference between an endpoint and an endpoint anyone can feed.

  • Lifecycle events for a call ordered through the API: queued, completed, failed
  • A conversation-completed event for every finished voice conversation, not only API-ordered ones
  • The signature travels in a dedicated header and includes a timestamp, so you can reject an old replay
  • The secret can be revealed and rotated from settings, and a delivery log keeps the recent attempts per endpoint

Where a finished call goes next

A finished call is a record in at least two systems — ours and yours. Two ways to close that gap without hand-rolling a sync.

CRM activity write-back

If the call isn't in the CRM, as far as the rep is concerned it didn't happen. On completion the system can create a completed activity in Salesforce or HubSpot, linked to the right lead or contact and assigned to its owner, carrying the summary and the outcome. A CRM write failure never fails the call itself — it is recorded and surfaced, and the conversation stays intact on our side.

Remote MCP server

The same API, exposed as an MCP server — so you can connect the workspace to an LLM client such as Claude or ChatGPT and build it conversationally: turn a script document into a call flow, create an agent, link the flow and models to it, add knowledge-base entries and place a test call. Auth is the same API key, and the tools exposed to the client are only the ones that key's scopes allow — an LLM client never gets more than the key in its hand gets.

Before you go to production

  • A live key is a secret like any other: it is shown once, and never sent from a browser
  • There is a per-key rate limit, and a detected dial flood can auto-suspend a key — reversible from settings
  • Verifying the webhook signature on your side is mandatory, not optional
  • The summary and sentiment are written after the call ends rather than at hang-up — which is why they arrive on the webhook and not in the reply to the dial request

Call the agent now

A real call, in Hebrew. Exactly what your callers would hear.

Have the agent call me

Leave a number — the agent calls you in under a minute.

By submitting you agree we may contact you about this enquiry. The call is recorded and transcribed.