This documentation is built and maintained by the Flireo AI team to help you create, launch, and scale intelligent phone agents. Access the dashboard here.
tool-calls is sent to your external server. This allows you to run custom logic, access databases, or trigger workflows—anything you want!{
"eventTime": 1756278882619,
"callId": "875573b5-4458-45be-bac2-4d2b869f8297",
"eventType": "tool-calls",
"fromCaller": "+31601234567",
"toAssistant": "+31850123456",
"tasksInitiated": [
{
"taskId": "call_kLsrB3eFvT6bvo67BqTv7iXc",
"taskName": "send_task",
"taskPayload": {
"message": "Bericht voor het team: Jonas wil graag teruggebeld worden op telefoonnummer 06 01 23 45 67."
}
}
],
"userMetadata": null
}tasksInitiated: An array of tasks (tools) the agent wants your server to execute.taskId, the function name (taskName), and the function arguments (taskPayload, a JSON object).tasksInitiated:taskName and taskPayload.toolCallId (from taskId) and a result string.{
"results": [
{
"toolCallId": "call_kLsrB3eFvT6bvo67BqTv7iXc",
"result": "Bericht succesvol ontvangen, het team zal Jonas terugbellen."
}
]
}results: An array matching the tasks initiated.toolCallId: The original taskId from the request.result: Any message or context the AI should use to continue the conversation.{
"results": [
{
"toolCallId": "call_abc123",
"result": "Slot found: 2025-09-01 14:00"
},
{
"toolCallId": "call_def456",
"result": "Email sent to jonas@example.com"
}
]
}toolCallId present in the request.result field should give the AI context to keep the conversation flowing naturally.result.{
"results": [
{
"toolCallId": "call_xyz123",
"result": "Beschikbare tijdslots: 14:00, 15:00, 16:30"
}
]
}toolCallId in your reply, the AI will not know which tool was completed, and the workflow may break.