Resources
Calls
Place outbound calls, inspect transcripts and recordings, and page through historical call records.
Variables
Outbound calls accept a variables object that is injected into the agent's prompt at runtime. Use this to personalize without having to maintain a separate agent per contact.
{
"variables": {
"first_name": "Alex",
"appointment_time": "Tuesday at 3pm",
"amount_due": 149.0
}
}Reference them in the system prompt with {{first_name}} syntax.
Endpoints
Dial out from one of your Floo numbers to a target. Pre-flight checks voice balance and returns 402 if insufficient. Use voicemail_detection on the agent to enable AMD.
Request body
{
"agent_id": "agt_2k9f1a",
"to_number": "+15551234567",
"from_number_id": "pn_4m9k2j",
"lead_id": "lead_z8h2k1",
"variables": {
"first_name": "Alex",
"appointment_time": "Tuesday at 3pm"
}
}Response
{
"ok": true,
"call_sid": "CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"room": "floo-outbound-ab12cd34ef",
"rate_cents_per_min": 12
}List call records for the workspace, newest first. Supports query params: agent_id, status (completed | failed | in_progress), limit (default 50, max 200), starting_after for cursor pagination.
Response
{
"calls": [
{
"id": "call_z8h2k1",
"agent_id": "agt_2k9f1a",
"direction": "outbound",
"from_number": "+15557654321",
"to_number": "+15551234567",
"status": "completed",
"duration_seconds": 87,
"recording_url": "https://flooai.com/recordings/call_z8h2k1.mp3",
"started_at": "2026-05-15T17: 55: 00Z",
"ended_at": "2026-05-15T17: 56: 27Z"
}
],
"has_more": false
}Retrieve a single call, including transcript turns and extracted fields once post-call analysis completes.
Response
{
"call": {
"id": "call_z8h2k1",
"agent_id": "agt_2k9f1a",
"direction": "outbound",
"status": "completed",
"duration_seconds": 87,
"recording_url": "https://flooai.com/recordings/call_z8h2k1.mp3",
"transcript": [
{
"role": "agent",
"text": "Hi Alex, this is Floo calling about your appointment.",
"started_at_ms": 0
},
{
"role": "user",
"text": "Hey, yes - what's up?",
"started_at_ms": 3200
}
],
"extraction": {
"summary": "Confirmed appointment for Tuesday at 3pm.",
"success": true,
"sentiment": "positive"
}
}
}