curl --request POST \
--url https://demo.enneo.ai/api/mind/telephony/callReceived \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"routing": "none",
"contractId": "123456",
"customerId": "789012",
"phone": "+491234567890",
"to": "+491234567890",
"agentId": 1,
"aiAgentId": 456,
"transcript": [
{
"speaker": "agent",
"message": "Hello, my name is AI Assistant. How can I help you today?",
"timestamp": "2024-01-23T14:32:11Z"
}
],
"userId": 42,
"channelId": "call_123abc456",
"callerName": "John Smith",
"direction": "in",
"subchannelId": 5,
"externalTicketId": "ext-123",
"status": "open",
"triggerAiProcessing": true
}
'{
"success": true,
"ticketId": 2142,
"contractId": null,
"customerId": null,
"ioResponse": "None, as routing is not external",
"queueId": 123
}Called when a call is received (inbound) or initiated (outbound).
For inbound calls (direction=in, default): creates a ticket, attempts customer identification from phone number, and returns the ticket ID. Routing happens later via getRouting.
For outbound calls (direction=out): creates a ticket assigned to the initiating agent, creates a queue entry (no routing needed), and links customer/contract data if available. Requires ‘to’ and ‘agentId’ fields.
curl --request POST \
--url https://demo.enneo.ai/api/mind/telephony/callReceived \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"routing": "none",
"contractId": "123456",
"customerId": "789012",
"phone": "+491234567890",
"to": "+491234567890",
"agentId": 1,
"aiAgentId": 456,
"transcript": [
{
"speaker": "agent",
"message": "Hello, my name is AI Assistant. How can I help you today?",
"timestamp": "2024-01-23T14:32:11Z"
}
],
"userId": 42,
"channelId": "call_123abc456",
"callerName": "John Smith",
"direction": "in",
"subchannelId": 5,
"externalTicketId": "ext-123",
"status": "open",
"triggerAiProcessing": true
}
'{
"success": true,
"ticketId": 2142,
"contractId": null,
"customerId": null,
"ioResponse": "None, as routing is not external",
"queueId": 123
}JWT-based authentication
Determines how this call should be routed to an agent. Possible values are 'none', 'external', and 'native'.
none, external, native "none"
Optional contract id, if provided will be used for customer identification
"123456"
Optional customer id, if provided will be used for customer identification
"789012"
Phone number of the caller. Used for customer identification on inbound calls. For outbound calls, use 'to' instead.
"+491234567890"
Customer phone number being called. Required for outbound calls (direction=out). Used for customer identification.
"+491234567890"
ID of the agent initiating an outbound call. Required for outbound calls (direction=out) unless userId is provided. The agent will be assigned to the ticket and queue entry.
1
ID of the AI agent conducting the outbound call. When present with direction=out, the call is handled by a voicebot — the human agent (userId/agentId) remains available and is not set to interacting. Ignored for inbound calls (direction=in).
456
Array of previous bot transcript entries
Show child attributes
Optional id of user that should be associated with the call. If that user has a browser window of enneo open, user will be redirected to the newly created ticket. Same effect as a subsequent /telephony/agentConnected API call. Requires property 'routing' to be set to 'external' or 'none'.
42
Optional unique identifier of a third party system of this call. If provided, then it can be used as reference for any future updates to this call flow
"call_123abc456"
Optional name of the caller. Used for the fromName field of the ticket.
"John Smith"
Direction of the call. Defaults to 'in' if not provided. Outbound calls (direction=out) require 'to' and 'agentId' fields.
in, out "in"
Optional Enneo subchannel ID to associate with the ticket. Usually the ID of the call line as defined in the Enneo settings
5
Optional external ticket ID to associate with the ticket
"ext-123"
Status to set for the ticket. Defaults to 'closed' for routing 'none', 'open' for routing 'external' or 'native'.
open, closed, pending "open"
Whether to trigger AI processing. Defaults to false for routing 'none', true for routing 'external' or 'native'.
true
Successful operation
true
ID of the newly created enneo ticket
2142
Contract ID associated with the call, if any
null
Customer ID associated with the call, if any
null
Response from IO system when routing is external, otherwise 'None'
"None, as routing is not external"
Unique ID of the queue the call was assigned to (only returned if routing is 'native')
123