Skip to main content
A squad is a voice-only routing layer for multi-agent experiences. One entrypoint agent starts the conversation, then transfer rules determine when the call should move to a different specialist.

When to Use a Squad

Use a squad when one conversation may need multiple specialists, such as:
  • Front desk to billing to scheduling
  • Qualification to closer
  • General support to product-specific experts
If one agent can handle the full conversation alone, keep the design simpler and skip squads.

Squad Model

  • Entrypoint agent: the first voice agent that answers the conversation
  • Transfer rules: routing rules that define which agent can hand off to which other agent
Only call agents belong in squads.

Create a Squad

curl -X POST "https://prod.featherhq.com/api/v1/squads" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Patient access squad",
    "description": "Routes calls between front desk, billing, and scheduling",
    "entrypointAgentId": "ENTRYPOINT_CALL_AGENT_ID"
  }'

Add a Transfer Rule

curl -X POST "https://prod.featherhq.com/api/v1/squads/SQUAD_ID/transfer-rules" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fromAgentId": "ENTRYPOINT_CALL_AGENT_ID",
    "toAgentId": "SCHEDULING_AGENT_ID",
    "allowManualTrigger": true,
    "toolDescription": "Transfer the call to the scheduling specialist when the caller is ready to book.",
    "variables": [
      {
        "name": "appointmentType",
        "description": "Requested appointment type",
        "required": false
      }
    ],
    "speakBeforeTransfer": "I am connecting you to our scheduling specialist now."
  }'

Best Practices

  • Give each squad member a distinct job.
  • Keep transfer descriptions short and operational.
  • Pass only the variables the receiving agent needs.
  • Start with a small routing graph before building a large specialist network.