Skip to main content
This quickstart walks through the smallest useful Feather flow:
  1. Create an agent
  2. Deploy its first version
  3. Dispatch a live outbound call

Prerequisites

  • A Feather account and API key
  • At least one configured STT config, TTS config, LLM config, and voice
  • An outbound phone number configured in your Feather organization

Step 1: Create an Agent

This example creates a voice agent with a prompt, default model selections, and no knowledge base yet.
curl -X POST "https://prod.featherhq.com/api/v1/agents" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Demo Calling Agent",
    "description": "Qualifies and routes inbound or outbound conversations",
    "agentType": "CALL",
    "useKnowledgeBase": false,
    "prompt": {
      "system": "You are a concise and helpful assistant for Feather Labs. Introduce yourself clearly, answer questions directly, and capture the next step.",
      "variables": [
        {
          "name": "company",
          "required": false,
          "defaultValue": "Feather Labs"
        }
      ],
      "tools": [],
      "preBuiltTools": []
    },
    "voicemailMessage": null,
    "overrideSTTConfig": null,
    "sttConfigId": "YOUR_STT_CONFIG_ID",
    "ttsConfigId": "YOUR_TTS_CONFIG_ID",
    "llmConfigId": "YOUR_LLM_CONFIG_ID",
    "voiceId": "YOUR_VOICE_ID"
  }'
Save the returned agent.id and agent.version.id.

Step 2: Deploy the Version

Only deployed versions handle live traffic.
curl -X PATCH "https://prod.featherhq.com/api/v1/agents/AGENT_ID/versions/VERSION_ID/deploy" \
  -H "X-API-Key: $FEATHER_API_KEY"

Step 3: Dispatch a Test Call

Use direct dispatch to place a single outbound call without creating a workflow.
curl -X POST "https://prod.featherhq.com/api/v1/agent/AGENT_ID/dispatch" \
  -H "X-API-Key: $FEATHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "versionId": "VERSION_ID",
    "outboundPhoneNumberId": "OUTBOUND_PHONE_NUMBER_ID",
    "leadId": "contact-123",
    "firstName": "Taylor",
    "toPhoneNumber": "+14155550123",
    "metadata": {
      "source": "quickstart"
    },
    "variables": {
      "company": "Feather Labs"
    }
  }'

Step 4: Inspect the Conversation

After the call completes, you can review:

Next Steps

Once the basic call flow works, expand into one of these: