Skip to main content

Make an outbound call

Pass the registered from_number and the destination to_number. Use variables to inject per-call context (e.g., the customer’s name or order ID) into the agent’s first message and system prompt.
The call goes through these states:

Receive inbound calls

When someone dials your registered number, OneInbox routes the call to your agent automatically — no extra API call needed. The call record appears in your account just like an outbound call, with the same status, outcome, transcript, and recording_url fields. To enable inbound on a number, set inbound_routing when you register or purchase it:
To add or update routing on an existing number:
Phone numbers — full setup for search, purchase, and bring-your-own-number paths

Stop a call

Send a stop request to end the session. If the agent already ended the call via the end_call tool, this is a no-op.

Read the results

After the call ends, fetch the full record to get the transcript, outcome, and summary. Wait 2–3 seconds after stopping — the transcript and analysis are written asynchronously.
messages and analysis are only populated after the call ends. Stop first, wait 2–3 seconds, then fetch.

List calls

Returns your most recent calls. Default order is newest first.

List calls — cursor pagination

For large result sets, use cursor-based pagination. Pass the cursor token from the previous response to get the next page.
The response includes a cursor token. When cursor is null, you have reached the last page.

Delete a call

Permanently deletes a call record.

Manually set a call outcome

After a call ends you can override the AI-assigned outcome — useful when your CRM or a human reviewer has classified the call differently.
The updated outcome value is immediately reflected in GET /v1/calls/<call_id> and in webhook payloads for that call.

What is an outcome?

An outcome is a label assigned to a completed call that summarises its result. It’s the top-level outcome field on the call record, set automatically after the call ends. analysis is a separate object holding the AI-generated summary — it does not contain outcome. You can also set or override outcome manually, and you can create your own custom outcome labels for your workspace.

Built-in outcome labels

OneInbox ships with a set of platform-level outcomes available to every account. GET /v1/workspace/call-outcomes returns their snake_case identifiers; the outcome field on a call record stores the human-readable Title Case form:

How auto-classification works

After every call ends, OneInbox reads the transcript and assigns an outcome automatically. No configuration needed. A few things to know:
  • Classification happens post-call. outcome is null during an active call. Fetch the record after the call ends.
  • ai_summary explains the reasoning. If an outcome looks wrong, read the summary to understand what the model saw in the conversation.
  • Custom outcomes are also used. If you have created custom outcome labels (see below), the agent uses those in addition to the built-in set when classifying calls.

Custom outcome labels

You can create custom outcome labels specific to your workspace. The agent uses these alongside the built-in labels when classifying calls — so if you add “Hot Lead” as a custom outcome, the AI will start assigning it when a call matches that description.

List call outcomes

Returns both the built-in platform labels (always available) and any custom labels you have created for your workspace.

Create a custom outcome

Add a new outcome label to your workspace. Any casing is accepted — e.g. "Hot Lead" or "demo_scheduled". Once created, the agent starts using it automatically when classifying future calls.

Update a custom outcome

Rename a label or deactivate it. Deactivating (is_active: false) hides the outcome from future auto-classification but preserves it on historical call records — no data is lost.

Get notified automatically with webhooks

Instead of polling, set up a webhook to receive the full call record as soon as a call ends:
Webhooks guide

API reference

Create outbound call · Stop call · Get call · Update call · List calls · Delete call · List call outcomes · Create call outcome · Update call outcome