Flireo AI
WebsiteLinkedin
WebsiteLinkedin
  1. Guides
  • API Reference
    • Agents
      • List all agents
      • Create a new agent
      • Get an agent
      • Update an agent
      • Delete an agent
    • Tool Templates
      • List all tool templates
      • Create a new tool template
      • Get a tool template
      • Update a tool template
      • Delete a tool template
    • Numbers
      • List all phone numbers
      • Register a phone number
      • Get a phone number
      • Update a phone number
      • Delete a phone number
    • Calls
      • List calls
      • Get call by ID
      • Initiate outbound call
    • Call Control
      • Send control command to active call
    • Usage
      • Get usage logs
    • SIP Trunks
      • List SIP trunks
      • Create a SIP trunk
      • Get a SIP trunk
      • Delete a SIP trunk
    • Voices
      • List available voices
    • BYOK
      • Get BYOK configurations
      • Add BYOK configuration
      • Delete BYOK configuration
      • Get BYOK provider configurations
    • Domains
      • Get your domain
      • Add a domain
      • Delete your domain
      • List available Resend domains
      • Select and sync a Resend domain
      • Verify domain DNS records
      • Refresh domain status
    • Webhooks
      • Dynamic assistant configuration webhook
      • Tool/Function Call
      • Call Status Update
      • End of Call Report
    • Analysis Templates
      • List analysis templates
      • Create analysis template
      • Get analysis template
      • Update analysis template
      • Delete analysis template
    • Organization
      • Get organization information
    • Campaigns
      • List all campaigns
      • Create a campaign
      • Get a campaign
      • Update a campaign
      • Delete a campaign
      • List campaign leads
      • Add a lead
      • Remove a lead
  • Documentation
    • Get started
      • Quickstart
      • Introduction
      • Authentication
    • Core concepts
      • Agents
      • Phone numbers
      • Calls
      • Webhooks
    • Api's
      • Organization
      • Agents
      • Phone numbers
      • Sip trunks
      • Calls
      • Call control
      • Usage
      • Voices
      • BYOK
      • Domains
      • Analysis templates
      • Tool templates
    • Webhooks
      • Overview
      • Assistant request
      • Tool calls
      • Status update
      • End of call report
      • Security
    • Guides
      • BYOK Setup
      • Call analysis
      • Custom Tools
      • Call Transfers
      • xAI Realtime Integration
      • Analysis templates
      • Billing
      • Error codes
      • Rate limits
      • Sip Trunks
      • Tool templates
      • Troubleshooting
WebsiteLinkedin
WebsiteLinkedin
  1. Guides

Call Transfers

Transfer calls from your AI agent to human agents, other departments, or external numbers using SIP trunks or the built-in transfer tool.

Transfer Methods#

1. Agent-Initiated Transfer (Transfer Tool)#

Let your AI agent decide when to transfer based on the conversation.

2. API-Initiated Transfer (Call Control)#

Transfer calls programmatically via the API.

Setting Up Agent Transfers#

Step 1: Add Transfer Tool#

Add the transfer tool to your agent's configuration:

Step 2: Guide the Agent#

Update your system prompt to guide when to transfer:
{
  "messages": [
    {
      "role": "system",
      "content": "Je bent een klantenservice medewerker. Je kunt de meeste vragen zelf beantwoorden, maar verbind door naar:\n- Sales: bij vragen over prijzen, offertes, of nieuwe producten\n- Technical support: bij technische problemen die je niet kunt oplossen\n- Billing: bij specifieke facturatievragen\n\nProbeer altijd eerst zelf te helpen voordat je doorverbindt."
    }
  ]
}

Transfer Tool Schema#

FieldTypeRequiredDescription
typestringYestransferCall
destinationsarrayYesList of transfer destinations
destinations[].typestringYesnumber
destinations[].numberstringYesPhone number in E.164 format
destinations[].descriptionstringYesWhen to use this destination (for LLM)
destinations[].messagestringNoMessage spoken before transfer

API-Initiated Transfers#

Transfer an active call via the Call Control API:

Transfer Command Fields#

FieldTypeRequiredDescription
typestringYestransfer
destinationstringYesPhone number or SIP URI
messagestringNoMessage before transfer

Using SIP Trunks#

For transfers via your own phone system, configure a SIP trunk.

Step 1: Create SIP Trunk#

Step 2: Assign to Phone Number#

Now transfers from this number will route through your SIP trunk.

Transfer Best Practices#

1.
Clear descriptions - Help the AI know exactly when to transfer
2.
Informative messages - Tell callers where they're being transferred
3.
Avoid over-transferring - Train your agent to handle common questions
4.
Test destinations - Verify all transfer numbers are working
5.
Monitor transfers - Track transfer rates to identify training opportunities

Example: Complete Transfer Setup#

{
  "name": "Support Agent",
  "first_message": "Welkom bij Acme support, waarmee kan ik u helpen?",
  "llm_config": {
    "provider": "openai",
    "model": "gpt-4o-mini",
    "messages": [
      {
        "role": "system",
        "content": "Je bent een support medewerker voor Acme. Help klanten met vragen over producten en diensten. Verbind alleen door als:\n1. De klant expliciet vraagt om een mens\n2. Je een vraag niet kunt beantwoorden na 2 pogingen\n3. Er een klacht is die escalatie vereist"
      }
    ],
    "tools": [
      {
        "type": "transferCall",
        "destinations": [
          {
            "type": "number",
            "number": "+31612345678",
            "description": "Human support agent for complex issues or when customer explicitly requests a human",
            "message": "Ik verbind u door met een van mijn collega's, een moment alstublieft."
          }
        ]
      },
      {
        "type": "endCall"
      }
    ]
  }
}
See Call Control API and SIP Trunks API for complete details.
Modified at 2025-12-31 12:09:04
Previous
Custom Tools
Next
xAI Realtime Integration
Built with