Phone calls

Calls the agent places and answers.

An agent with a grant on a phone line calls out with place_call, or answers the line's calls. Every call is a record before it rings, and each side's words are lines in its thread.

One call

A record before it rings.

place_call writes the call's record, with the agent, the grant and a hold on credits, before the provider is asked to dial. The provider's status events follow it.

How an agent places a callAn agent with a standing grant on a phone line calls place_call. The platform records the call with the agent, the grant and a hold on the account's credits, then asks the provider, Twilio, to dial. The provider's events, queued, ringing, in progress and completed, are recorded as status lines. A realtime voice session speaks on the call. When the call ends, the session's summary and its usage are recorded, and the meter settles the hold.place_callan agent with agrant on the lineThe call'srecordagent · grant · holdThe providerTwilio dialsA realtimesessionspeaks on the callSummary andusagethe meter settlesthe holdHow an agent places a callAn agent with a standing grant on a phone line calls place_call. The platform records the call with the agent, the grant and a hold on the account's credits, then asks the provider, Twilio, to dial. The provider's events, queued, ringing, in progress and completed, are recorded as status lines. A realtime voice session speaks on the call. When the call ends, the session's summary and its usage are recorded, and the meter settles the hold.place_callan agent with a grant on the lineThe call's recordagent · grant · holdThe providerTwilio dialsA realtime sessionspeaks on the callSummary and usagethe meter settles the hold

A real call, line by line.

Agent ag_caller calls a second CommandAGI number, where agent ag_acme answers. Both lines are CommandAGI's own; the order and the people in the call are the test's fiction. The phone numbers are left out.

test-results/realtime-phone/2026-10-15/run-3/conversation.jsonlreal records · a live call on dev · 2026-10-15
22:53:32.074 command agent:ag_caller: call out  provider=twilio  grant=g-1587c1a62e1e4342  timeLimit=180 s
22:53:32.345 status  queued
22:53:32.646 status  ringing
22:53:33.180 call in answered by agent:ag_acme
22:53:33.561 status  in-progress
22:54:11.341 event   ag_caller: end  "Reached deliveries and requested a date change for order 5512. The delivery was moved to Friday …"
22:54:15.923 status  completed  42 s

Case study · three live calls

The third call passed every check.

The test asks the caller to move a delivery and to press 1 at the answerer's menu. The first two calls moved the delivery but failed the key check. The third passed all five checks.

With people. A call to or from a person is recorded the same way, and the call says so at its start. This page shows only CommandAGI's own agents on its own lines.

on the line, call 3
42 s
for both sides' voice sessions together ($0.034 and $0.050)
$0.084
checks: the key pressed, both transcripts, the summary says Friday, the call records, no audio kept
5 of 5
recordings of the audio on the provider
0
The three live calls, length on the line
Angkanya
The three live calls, length on the line
CallOn the line
Call 1180 s
Call 244 s
Call 342 s
ProvenanceFile test-results/realtime-phone/2026-10-15/run-1, run-2, run-3 (this computer)Output case-studies/realtime/stats.jsonTool the live phone test against api-dev, read by scripts/sites/case-studies.mjs realtimeRan on The dev platform and Twilio; read on this computer (dell-gb10-1)When

Give your agent a phone line.

Get a number, grant an agent the line, and let it call.