Event processing in voice robots
The true value of a Voice Robot is revealed when it becomes part of your comprehensive business logic. Event Processing (Webhooks) in UniTalk allows you to instantly transmit dialogue details (start, completion, node transition) to your CRM, analytical systems, or other software. This ensures complete data synchronization, allows you to trigger automated processes (e.g., creating a lead after a successful call), and accurately analyze the customer journey.
Event handlers can be set for events in robots:
- secretary start (in the main settings)
- termination of the secretary (in the main settings)
- transition to a node (in the actions settings)
Dynamic values
Variables for voice robots are available in the dynamic event processing values.

Dynamic values are filled in only for voice robot events.
There are options for filling in some dynamic values:
1) Events:
- VOICE_SECRETARY_START – start of the robot
- VOICE_SECRETARY_END – end of the robot
- VOICE_SECRETARY_ENTERED_NODE – transition to the node
2) The robot is in the background:
- true – background
- false – not in the background
3) Type of node action:
- SPEECH_RECOGNITION – Speech recognition
- TO_SIP – Transfer a call to a SIP line
- TO_GSM – Transfer a call to a GSM number
- TO_GROUP – Transfer a call to a department
- TO_SCENARIO – Activate a scenario
- TO_IVR – Activate the voice menu
- TO_NODE – Transfer to another node
- REJECT – End the call
- EXIT – Exit the voice robot
- PLAYBACK – Play audio
4) The type of node where the robot ended:
- INTERMEDIATE
- END_SUCCESS – Successful
- END_FAIL – Failed
- BACKGROUND – Background
- BACKGROUND_DEFER – Background – call transfer
5) The reason for the termination:
- NORMAL – Ended normally
- USER_REJECT – The subscriber ended the call
- GREETING_SILENCE – The subscriber was silent during the greeting
- ANSWERING_MACHINE – Answering machine recognized
- RECOGNITION_ERROR – Speech recognition was interrupted for technical reasons
- JUMP_LIMIT – The limit of actions “Jump to another node” has been exceeded
- NODE_LIMIT – The limit of crossed nodes has been exceeded
- FAIL – Unknown error
Standard JSON of webhooks
JSON example with all possible fields:
{
“event”: “VOICE_SECRETARY_END”,
“id”: 123456789,
“dbid”: 54321,
“from”: “380971234567”,
“outerNumber”: “380681234567”,
“projectName”: “someprojectname”,
“secretaryName”:”some secretary name”,
“secretaryId”: 12,
“backgroundDialogue”: false,
“nodeId”: 5,
“actionName”: “node action name”,
“actionType”: “TO_SIP”,
“conditionName”: “some condition name”,
“recognizedText”: “some recognized text”,
“endNodeType”: “END_SUCCESS”,
“endReason”: “NORMAL”,
“utmCampaign”: “sale2021”,
“utmSource”: “google”,
“utmMedium”: “email”,
“utmTerm”: “term”,
“utmContent”: “content”,
“googleId”: “11111.11111”,
“facebookClientId”: “fb.1.1234567890”
}
Not all possible fields will necessarily be filled in, it all depends on the type of event, robot, and node on which the event was triggered.
Description of fields related to robots only:
- secretaryName – name of the robot
- secretaryId – id of the robot
- backgroundDialogue – the dialog is in the background (possible values are described in the possible options for filling in dynamic values)
- nodeId – the id of the node on which the event was called
- actionName – the name of the action of the node on which the event was raised
- actionType – the type of node action (possible values are described in the possible options for filling dynamic values)
- conditionName – the name of the action of the node on which the event was triggered
- recognizedText – recognized text before switching to the node
- endNodeType – the type of node on which the secretary ended (possible values are described in the possible options for filling in dynamic values)
- endReason – the reason for the termination of the secretary (possible values are described in the possible options for filling in dynamic values)
Configuring event processing ensures two-way integration between your Voice Robot and external systems. By transmitting a detailed JSON object that includes the recognized text, completion reason, and UTM tags, you gain the full context of the dialogue. This is critically important for accurate analytics, customer segmentation, and initiating subsequent steps in the CRM. Use these webhooks to turn every dialogue handled by the Robot into an automated business event.