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.

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.

Properties Sent ​

  • agent: Username.
  • agentNumber: Agent's extension.
  • agentFullName: Agent's full name.
  • callerIdNum: Caller’s number.
  • campaign: Campaign receiving the call.

Example ​

json
{
   "event":"AgentRingNoAnswer",
   "date":"2023-48-13 06:48:51",
   "agent":"agentTest",
   "agentNumber":"9999",
   "agentFullName":"Agente Test",
   "callerIdNum":"1234",
   "campaign":"Demo"
}

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-16-13 05:16:22",
   "agent":"agentTest",
   "isLogin":true
}
json
{
   "event":"AgentLog",
   "date":"2023-16-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-52-13 04:52:57",
   "agent":"AgentTest",
   "motive":"Lunch",
   "isBreak":true
}
json
{
   "event":"AgentBreak",
   "date":"2023-52-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 before being answered by an agent.

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": true
}
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: Information provided when creating the lead.
  • 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": {
    "exampleId": 1234
  },
  "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