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.

JSON
{
  "variables": {
    "first_name": "Alex",
    "appointment_time": "Tuesday at 3pm",
    "amount_due": 149.0
  }
}

Reference them in the system prompt with {{first_name}} syntax.

Endpoints

POST/api/v1/calls/outboundTry it →

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

JSON
{
  "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

JSON
{
  "ok": true,
  "call_sid": "CAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "room": "floo-outbound-ab12cd34ef",
  "rate_cents_per_min": 12
}
GET/api/v1/callsTry it →

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

JSON
{
  "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
}
GET/api/v1/calls/:idTry it →

Retrieve a single call, including transcript turns and extracted fields once post-call analysis completes.

Response

JSON
{
  "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"
    }
  }
}