Servetel offers HTTP WebHook callback, which is an event-notification via HTTP- POST/ GET methods.
WebHook sends data to the URL ( specified by the user ) when one of the triggers happen.

WebHook can be created on the Servetel portal by configuring the HTTP Method, URL ( where data will be sent ) and selecting one of the below trigger options.

πŸ“˜

Kindly contact Servetel support team to enable WebHook on Servetel portal for your account

WebHook Triggers

Trigger Name

Description

Call Type

Call received on Server

When a call is received on Server

inbound

Call answered on IVR

When a call is answered on IVR

inbound and outbound

Call answered by Agent

When a call is answered by Agent

inbound and outbound

Call Missed

When a call hung up due to being missed

inbound and outbound

Call Hangup

When a call is answered and then hung up

inbound and outbound

Call Missed or Answered

When a call is either hung up due to missed or after being answered

inbound and outbound

DTMF Option

When DTMF Option is pressed on IVR

outbound

Dialed on Agent

When call is Dialed on Agent

inbound

Received on Department

When Call is received on department

inbound

Received on Auto Attendant

When Call is received on auto attendant

inbound

Call answered by Customer

When call is answered by customer in Click to Call

outbound

Below are the request variables for different trigger types.

Response Variables

* DTMF Option

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

Dialed number

String

$caller_id_number

Caller ID shown to customer

String

$digit_pressed

DTMF Option Pressed

String

$date

Time at which Option is pressed

String

* Call hangup Missed/ Answered/ Both

Variable Name

Description

Data Type

$uuid

Unique ID of the Call

String

$call_to_number

Dialed number

String

$caller_id_number

Caller ID shown to customer

String

$start_stamp

Start time of the call

String

$answer_stamp

Answer time of the call on server

String

$end_stamp

End time of the call

String

$hangup_cause

Hang-up reason of the call

String

$billsec

Billed seconds

String

$digits_dialed

Array containing DTMF input

Array of Strings

$direction

Call direction [inbound/outbound]

String

$duration

Call duration

String

$call_flow

Flow of the call

Array

$broadcast_lead_fields

Will be present in case call type is broadcast and leads have custom fields

Object

$answered_agent

Data of the agent who answered the call.

Object

$missed_agent

Data of the agent who missed the call.

Object

$recording_url

URL for recording

String

$start_date

Start Date of Call

String

$start_time

Start time of the call

String

$bridged_duration

Duration of the call between an agent and a client (in seconds)

String

$call_connected

Describes if the call was answered by any agent or not.
1: Answered
0: Missed/Not Answered

Integer

🚧

Fields that are present only on certain conditions

$broadcast_lead_fields: present in case call type is broadcast.
$call_flow: present only if the call is answered by an agent.
$answered_agent: present only if the call is answered by an agent.
$missed_agent: present only if the call is missed by at least one agent

πŸ“˜

For broadcast

To obtain details related to leads, the below variables can be used.

Variable Name

Description

Data Type

$broadcast_lead_fields

Complete list of all details related to lead

Object

$field_0

Phone number of lead

String

$field_1

Name of lead

String

$field_2

Email ID of lead

String

$field_3

Address of lead

String

$field_4

Company name of lead

String

$field_5

Custom detail for lead set by user

String

....

....

....

$field_15

Custom detail for lead set by user

String

broadcast_lead_fields array

Variable Name

Description

Data Type

Phone_Number

Phone Number of the Lead

String

Name

Name of the Lead

String

Email_Id

Email ID of the Lead

String

Address

Address of the Lead

String

Company_Name

Company Name of the Lead

String

Missed Agent Array/ Answered Agent Array

Variable Name

Description

Data Type

id

Unique Extension ID of the Agent

String

name

Name of the Agent

String

number

Number of the Agent

String

* Call Received on Server/ Answered on IVR/ Agent

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

Destination Number

String

$caller_id_number

Caller ID shown to customer

String

$start_stamp

Start Time of the call

String

$answer_agent_number

Number of the agent who answered the call

String

$ivr_id

Unique ID of the IVR

Integer

$ivr_name

Name of the IVR

String

$start_time

Start Time of Call

String

$start_date

Start Date of Call

String

$departments

Details of departments which received the call

Array of Objects

$ivrs

Details of IVRs which received the call

Array of Objects

$channel_id

Channel ID of the Call

String

🚧

$answer_agent_number : present in case call is answered by Agent.
$ivr_id: present in case of answered on IVR.
$ivr_name: present in case of answered on IVR
$departments: present in case of answered by Agent
$ivrs: present in case of answered by Agent.
$channel_id present in case of received on Server

* Dialed on Agent

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

Destination Number

String

$caller_id_number

My Number on which client Called

String

$date

Time at which agent is called

String

$call_flow

Complete call flow of how call reached the agent

Array

$dept_name

Names of the department which received the calls

Array of strings

$ivr_name

Names of the IVR's which received the call

Array of strings

🚧

$dept_name : present in case the call was received on at least one Department.
$ivr_name: present in case the call was received on at least one IVR.

* Received on Department

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

My Number on which client called

String

$caller_id_number

Client's number

String

$date

Date time at which call was received on department

String

$call_flow

Complete call flow of how call reached the department

Array

$dept_id

Unique ID of the department

String

$dept_name

Name of the department

String

$ivr_name

Name of the IVR through which call has been received

String

* Received on Auto Attendant

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

My Number on which client called

String

$caller_id_number

Client's number

String

$start_stamp

Date time on which call was received

String

$auto_attendant_id

Unique ID of auto attendant

String

$auto_attendant_name

Name of auto attendant

String

* Call Answered by Customer

Variable Name

Description

Data Type

$uuid

Unique ID of the call

String

$call_to_number

Dialed Number

String

$caller_id_number

Caller ID shown to customer

String

$start_stamp

Date time on which call was received

String

$direction

Call direction

String

$answer_agent_number

Number of agent who answered the call

String

$billing_circle

Billing circle details (operator and circle)

Object

$call_status

Status of call (Answered by customer)

String