Skip to content

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 BODY variable (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 (telephony for calls, or the text channel of the interaction).

Example ​

json
{
   "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 true for login or false for logoff.

Example ​

json
{
   "event":"AgentLog",
   "date":"2023-12-13 05:16:22",
   "agent":"agentTest",
   "isLogin":true
}
json
{
   "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 true for break and false for unbreak.

Example ​

json
{
   "event":"AgentBreak",
   "date":"2023-12-13 04:52:57",
   "agent":"AgentTest",
   "motive":"Lunch",
   "isBreak":true
}
json
{
   "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 ​

json
{
   "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
}
json
{
   "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
}
json
{
   "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
}
json
{
   "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
}
json
{
   "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
}
json
{
   "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
}
json
{
   "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 levels property: 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 ​

json
{
  "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 ​

json
{
   "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 ​

json
{
  "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"
}

uContact by net2phone