Flireo AI
WebsiteLinkedin
WebsiteLinkedin
  1. Webhooks
  • 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. Webhooks

Dynamic assistant configuration webhook

Webhook
POST
assistant-request
Webhooks
Last modified:2026-01-09 14:25:39
Maintainer:Not configured
Called BEFORE an inbound call is answered, allowing you to:
Dynamically configure the assistant based on caller information
Personalize the greeting message
Override STT/LLM/TTS configuration
Set call-specific analysis plans
Reject calls based on business logic (e.g., outside business hours)
⚠️ Important: Your endpoint must respond within 5 seconds or the call will proceed with default agent configuration.
The webhook is triggered when a call comes in and the agent has a webhook_url configured with the assistant-request event enabled.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Configuration overrides (all fields optional). Return empty object {} to use default agent config.
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://your-api-server.com' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "message": {
        "type": "assistant-request",
        "timestamp": "2019-08-24T14:15:22.123Z",
        "call": {
            "id": "5c4d030f-43e3-4e65-899e-8148521e660f",
            "type": "inboundPhoneCall",
            "status": "ringing",
            "pipeline": "standard"
        },
        "phoneNumber": {
            "number": "+31850835037",
            "name": "Flireo Demo"
        },
        "customer": {
            "number": "+31612345678"
        }
    }
}'
Response Response Example
{
    "assistant": {
        "firstMessage": "Hallo Jan, hoe kan ik je helpen vandaag?",
        "stt_config": {
            "provider": "deepgram",
            "model": "nova-3-general",
            "language": "nl"
        },
        "llm_config": {
            "provider": "openai",
            "model": "gpt-4o-mini",
            "voice": "ara",
            "temperature": 0.7,
            "messages": [
                {
                    "role": "system",
                    "content": "string"
                }
            ],
            "tools": [
                {}
            ]
        },
        "tts_config": {
            "provider": "openai",
            "voiceId": "alloy",
            "model": "eleven_flash_v2_5"
        },
        "analysisPlan": {
            "structuredDataPlan": {
                "enabled": true,
                "schema": {
                    "type": "object",
                    "properties": {
                        "intent": {
                            "type": "string"
                        },
                        "sentiment": {
                            "type": "string",
                            "enum": [
                                "positive",
                                "neutral",
                                "negative"
                            ]
                        },
                        "appointment_booked": {
                            "type": "boolean"
                        }
                    }
                },
                "messages": [
                    {
                        "role": "system",
                        "content": "Analyze the following call transcript according to this schema: {{schema}}"
                    }
                ]
            },
            "minMessagesThreshold": 2
        }
    },
    "maxDurationSeconds": 300,
    "error": "Sorry, we are closed right now. Please call back during business hours."
}
Modified at 2026-01-09 14:25:39
Previous
Refresh domain status
Next
Tool/Function Call
Built with