All you need to know about Webhook Integration

Contact Center Software | ziwo.io > Developer  > All you need to know about Webhook Integration

All you need to know about Webhook Integration

In this dynamic era, we are consistently evolving from static websites to real-time applications. Several apps using real-time communication have revolutionized the digital world by making communication easier than it ever was. APIs are extremely mainstream as every new web app today will have an API. There are two ways by means of which your apps can communicate with each other to share information: polling and webhooks. As one of our developers explains it: Polling is like knocking on your friend’s door and asking if they have any sugar while Webhook is like someone tossing a bag of sugar at your house whenever they buy some i.e. while APIs offer responses when you ask for them, webhooks facilitate communication by presenting the information even before asking for it. 

What is a Webhook?

Webhook is termed so, as it is a ‘software hook over the web’. It is an automated message sent by apps at the occurrence of an event. In simple terms, webhook can be defined as a method of sending notifications (much like SMS notifications) using HTTP POST callbacks which are small code snippets linked to a web app. 

Since Webhooks are events that trigger an action that is majorly used for communication between systems, they can be utilized to provide you an application with fast & easy integration with any CRM or ERP, Popup screen, automatic call back, or any outbound campaign. 

Webhooks follow an event-based output mechanism. Each subscribed event (that can be changed) triggers a set of actions that happen without asking for it, as soon as the event takes place. It can be used to trigger events like web-callback that are pre-defined by Ziwo.

For example, as soon as the client approaches the website, they are notified with the information that they might be seeking without asking for it by defining a technical or business process at their end. This is done using webhook which increases customer engagement and helps in the overall growth of the company.

What are the Advantages of using a Webhook 

1. Seamless Third-Party Integration

Webhook helps to have real-time (or close to it) information about specific events. Thus, third-parties don’t need to contact Ziwo in order to set up the technical or business processes. It lightens the development and accounts for an automated system. You don’t have to check for new information. Instead, when something happens, the data is pushed to your system whether it’s in your in-house system or an application that’s not yet integrated. 

2. Synchronizes with a system in real-time

It’s easier to get information through HTTP requests than polling with their API. From dealing with payment gateways to the changes in the code, webhooks are an efficient way to get several tasks done. Alongside this, it enables real-time interactions with APIs.

3. Great at managing files, documents and creating reports

By just telling where to send the HTTP POST request, you shall get the notification telling what exactly happened. A large waste of time and resources is saved since you don’t need to poll for a list of all your files. Or else you’ll need to monitor, keep a record of new updates and sync that information across all the servers that need those updates. 

4. An efficient tool for sending information 

Instead of asking continuously about calls or emails, webhooks let you process, handle, or reply to it automatically. It is done since an HTTP POST request with information gets sent to the URL that you define.

5. Processes Data efficiently

The use of webhooks permits you to create a powerful and integrated workflow across several distinct applications that are unaware of each other. We can even have webhook based log searches for servers.

What is Webhook integration?

Webhooks integration can be enabled only by the admin. It allows automatic notifications without constantly polling the API. It also gives you access to a new rule action to set up a URL that will receive an HTTP request every time the rule is triggered.

The operation of Webhook is quite simple. It delivers data to other applications in real-time, to retrieve data immediately. 

  • The initial step is to tell the first app — Ziwo, in this case — the webhook URL of the app that needs the data.
  • Register the webhook by registering the URL to notify once on the occurrence of an event through the UI or API. 
  • Now the created route has the logic that will be executed as soon as the event occurs. So the primary point of the system is to notify but not to keep a track of the occurring events.
  • The other system is notified through the chosen URL, and alongside, it can respond to it. This route should be accessible through an HTTP POST request. A POST method facilitates the exchange of information through HTTP. The body has information regarding the event and also about the user and time. 
  • This happens through a simple event-notification via HTTP POST. An HTTP POST occurs when something happens, and most webhooks will POST data in JSON(typically) or XML. 
  • Following this process, data parsing is performed by the corresponding script (say PHP, C#, or JSP) on a web server. 
  • The URL writes the location for the script leading to data processing in the POST request. 
  • Post this stage, the Central Data Storage accesses data from all data warehouses for ease of maintenance.

Once the webhook is set up, Ziwo contacts you according to the predefined events, which are listed below:

Call Created 

When a call is started, call details such as start time, end time, and the reason if the call was missed are registered.

Call Ringing

A notification is sent when calls start ringing on Agents’ Phone.

Call Answered

This event functions differently for inbound and outbound calls. For inbound calls, this event is sent only when one agent picks up the call while for outbound calls, this event is sent only when the external person picks up the call.

As the call is answered, customer information is acquired which can later be processed. 

Call Ended

After the call is hung up, the information regarding the call duration and data processed during the call along with the audio recording is automatically gathered and synced to the server.

Agent Login

The details regarding time and the agent profile are gathered to customize the forthcoming activities aligning with the customer requirements.

Agent Logout

After the agent logs out, the total customer engagement time and activities with the agent can be apprehended.

How to use Ziwo Webhook?

Webhooks are very easy to implement using Ziwo. All that is required is a URL and an event. You can go through the following example implementation:

For a POST call webhook, the URL that can be added is:

https://ziwo-ws-proxy.com/customer_url

curl –location –request POST ‘https://ziwo-ws-proxy.com/customer_url’ \

–data-raw ‘{

    “coreUUID”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,

    “dialplan”: null,

    “callID”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,

    “otherLegCallID”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,

    “type”: “ringing”,

    “data”: “043xxxxxx”,

    “flags”: “0”,

    “callerIdName”: “043xxxxxx”,

    “callerIdNumber”: “043xxxxxx”,

    “calleeIdName”: “33333”,

    “calleeIdNumber”: “33333”,

    “startedAt”: “2020-02-16T07:35:55.122Z”,

    “startedAtEpoch”: “1581838555122651”

}’

For a POST agent webhook, the URL could be:

 

https://ziwo-ws-proxy.com/customer_url1

An example implementation is as below:

curl –location –request POST ‘https://ziwo-ws-proxy.com/customer_url1’ \

–data-raw ‘{

    “coreUUID”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,

    “status”: “available”,

    “action”: “agent-add”,

    “type”: “agent-connected”,

    “data”: “043xxxxxx”,

    “startedAt”: “2020-02-16T07:35:55.122Z”,

    “startedAtEpoch”: “1581838555122651”

}’

All you need to do is define your “webhook URL” as above and prepare your system to handle the data – payload – which may differ according to the event.

 

To know more about Ziwo Webhooks , please click here.

 

Webhooks are a simple pattern for an ‘evented web’. We at Ziwo, with our cloud-based SaaS platform, offer programmable webhooks to integrate with customer’s support centers and make them proactive in connecting with their leads or customers. We can help you to build flexible solutions around the APIs. The architecture simply gets you notified about the events you are interested in. Webhook is standing with a whole world to discover, a world where applications find it easy to communicate, a world without polling and content constraints. We welcome you to connect with Ziwo to explore this world and get started.

Sign up for a free Ziwo trial !! 

References: