Webhooks for Event Notification
Outbound webhooks are a way to notify another platform when one of the predefined events occurs in uContact. When an event is triggered, an HTTP POST request is sent to a specific URL on the target platform. This request contains information about the event, depending on its type.
This page documents the notifications (event payloads) that uContact sends outward. It is a different concept from the webhook flow, the internal webhook-type automation (creating, editing, and deleting triggers) documented in its OpenAPI spec.
Events
All events send their information in a JSON object, which contains specific data for each event. By default, all these JSON objects include the date and time of the event in the date parameter and the type of event in the event parameter.
Below is a detailed description of each event with an example of the JSON object that is sent for each case.
The same JSON object is also available inside an event function flow as the
BODYvariable (already parsed as an object).
AgentRingNoAnswer
This event is triggered when an agent fails to answer a call within the maximum ring time configured for the campaign. On text channels, it is also triggered when an interaction ends by timeout without having been assigned to an agent; in that case callerId contains the contact ID and the agent fields may be empty.
Properties Sent
- agent: Username.
- agentNumber: Agent's extension.
- agentFullName: Agent's full name.
- callerId: Caller’s number.
- campaign: Campaign receiving the call.
- channel: Interaction channel (
telephonyfor calls, or the text channel of the interaction).
Example
{
"event":"AgentRingNoAnswer",
"date":"2023-12-13 06:48:51",
"agent":"agentTest",
"agentNumber":"9999",
"agentFullName":"Agente Test",
"callerId":"1234",
"campaign":"Demo",
"channel":"telephony"
}AgentLog
This event is triggered when an agent logs in or out of uContact.
Properties Sent
- agent: Username.
- isLogin: Returns
truefor login orfalsefor logoff.
Example
{
"event":"AgentLog",
"date":"2023-12-13 05:16:22",
"agent":"agentTest",
"isLogin":true
}{
"event":"AgentLog",
"date":"2023-12-13 15:18:43",
"agent":"agentTest",
"isLogin":false
}AgentBreak
This event is triggered when an agent enters or exits a break state.
Properties Sent
- agent: Username.
- motive: Break reason.
- isBreak: Returns
truefor break andfalsefor unbreak.
Example
{
"event":"AgentBreak",
"date":"2023-12-13 04:52:57",
"agent":"AgentTest",
"motive":"Lunch",
"isBreak":true
}{
"event":"AgentBreak",
"date":"2023-12-13 05:52:00",
"agent":"agentTest",
"motive":"Lunch",
"isBreak":false
}FinishInteraction
This event is triggered when an interaction on any channel is completed or abandoned
Properties Sent
- guid: Interaction GUID.
- campaign: Campaign name.
- agent: Agent handling the interaction.
- duration: Interaction duration.
- clientId: Client identifier (depends on the channel).
- channel: Channel through which the interaction took place.
- abandon: Indicates whether the interaction was abandoned by the client before it finished.
Example
{
"event":"FinishInteraction",
"date":"2023-06-13 06:06:01",
"guid":"92bda9c4-e224-4cbf-8a01-8ca73e3a18b6",
"campaign":"testDoc",
"agent":"AgentTest",
"duration":80,
"clientId":"59894567987",
"channel":"sms",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-06-13 06:08:17",
"guid":"a34eb6ec-e773-485d-8236-e5539bfc5eb2",
"campaign":"testDoc",
"agent":"AgentTest",
"duration":60,
"clientId":"59894567987",
"channel":"whatsapp",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-12-13 07:31:09",
"guid":"88ab4551-840b-4306-9980-de96f7684067",
"campaign":"Demo",
"agent":"AgentTest",
"duration":23,
"clientId":"1234",
"channel":"telephony",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-12-13 06:21:50",
"guid":"b5779746-f17e-4f8c-92dd-9c8597d9de51",
"campaign":"test",
"agent":"AgentTest",
"duration":12,
"clientId":"test@outlook.com",
"channel":"email",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-12-14 01:23:07",
"guid":"5b28473b-34ef-4a26-8ba7-50e1b18584ee",
"campaign":"Campana2",
"agent":"AgentTest",
"duration":29,
"clientId":"test@test.com",
"channel":"webchat",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-12-17 10:30:58",
"guid":"2ee76d81-f1a1-41eb-afcf-e2ea758a89c8",
"campaign":"Campana2",
"agent":"AgentTest",
"duration":55,
"clientId":"4627623942",
"channel":"instagram",
"abandon": false
}{
"event":"FinishInteraction",
"date":"2023-12-30 12:50:03",
"guid":"b6452eea-4f01-46c5-bf18-e07cbd0ac12f",
"campaign":"Campana2",
"agent":"AgentTest",
"duration":55,
"clientId":"4627623942",
"channel":"messenger",
"abandon": false
}SentDisposition
This event is triggered when an agent assigns a disposition to an interaction on any channel.
Properties Sent
- guid: Interaction GUID.
- campaign: Campaign name.
- agent: Agent who assigned the disposition.
- data: Object with the selected disposition levels in the
levelsproperty: a string with the array of level names, from the root to the selected level, in single quotes (for example"['Sales','Interested']"). - disposition: Result of the agent’s disposition.
Example
{
"event": "SentDisposition",
"date": "2024-09-03 14:06:24",
"guid": "8b4f0d9b-e86e-4704-a573-b9d6c7c5997c",
"campaign": "Demo",
"agent": "agentTest",
"data": {
"levels": "['Sales','Interested']"
},
"disposition": 0
}AssignInteraction
This event is triggered when an interaction is assigned to an agent.
Properties sent
- event: name of the event.
- date: date when the interaction was assigned to the agent.
- guid: unique identifier of the interaction assigned to the agent.
- channel: channel associated with the assigned interaction.
- campaign: campaign associated with the assigned interaction.
- agent: username of the agent to whom the interaction was assigned.
Example
{
"event":"AssignInteraction",
"date":"2025-09-03 14:15:38",
"guid":"95f4c4b8-cbdc-4638-a74b-3662c311f45f",
"channel":"whatsapp",
"campaign":"sales",
"agent":"sales_assistant"
}NewRecording
This event is triggered when a new call recording is available.
Properties Sent
- filename: Path to the recording file within the storage system.
- downloadUrl: Temporary URL to download the recording file.
- guid: GUID of the interaction associated with the recording.
Example
{
"event": "NewRecording",
"date": "2026-04-16 10:23:45",
"filename": "20260416/93457d68-5611-46fc-b720-ddec53489ea1.mp3",
"downloadUrl": "https://storage.googleapis.com/...",
"guid": "93457d68-5611-46fc-b720-ddec53489ea1"
}