Qiscus Omnichannel have several webhooks and API that can be used to integrate with any CRM of your choice. We provide service to integrate with CRM providers, you can contact our sales team for further discussion.
Should you choose to integrate by yourself, you can read some example scenarios below.
Kindly please note that the Webhooks and APIs are provided for Enterprise user. You can contact our sales team for upgrading to Enterprise.
The main idea of this integration is to have a real-time conversation in Qiscus Omnichannel and put the conversation data as tickets in CRM by utilising intermediary service. You can build your own server to implement the intermediary service or use some automation services like Zapier to name one (We provide Qiscus Omnichannel Zapier App to use). You can have a look at this diagram below on how it works,
Technically, there is a scenario which is usually used in this integration process, it makes use of provided custom webhooks such as: Custom Agent Allocation hook, Mark as Resolve hook and several API endpoints. This scenario is depicted in a communication diagram below,
From the diagram above, Custom Agent Allocation is used to set up a new ticket at CRM whenever a new room or conversation created in Qiscus Omnichannel via any channels. The process is helped by leveraging the Intermediary Service. Here’s the flow:
- User has a chat with agent using provided channels, Qiscus Omnichannel will hook Intermediary Service to create a new user (if this is the first time conversation) and a new ticket when agent take the room in CRM. This will also trigger CRM to create and send an email to user’s email. So, email is an importance field to be used here. If you are using Qiscus widget, you can get it from email field. As for other channel you can append
@mail.comstring or such, following user id.
- Intermediary Service will pull some information from created ticket at CRM to be put in Qiscus Omnichannel room’s additional information sidebar. This could includes ticket id, location, a link to the ticket, etc. The idea is to populate ticket’s details in the Qiscus Omnichannel room.
- Next, user and agent have a conversation.
- When finished, agent mark the conversation as resolved. This will trigger Qiscus Omnichannel to hook Intermediary Service to update this specific ticket id in CRM to be closed.
- If it’s necessary, conversation data could also be added when updating the ticket in CRM.
Here are some hooks and APIs you can use:
- Custom Agent Allocation (CAA): activate this feature in Qiscus Omnichannel Settings page, and provide a webhook URL (In this case, Intermediary Service URL) to be hooked whenever customer sends messages as long as there is no agent in the room)
- New Session Webhook: this is the alternative hook of CAA. The webhook will be triggered when a new room is initiated (after resolved). https://documentation.qiscus.com/omnichannel-chat/webhook#new-session-webhook
- Set User Info API: to put some CRM task/ticket into room, https://documenter.getpostman.com/view/8259884/TVsuCSeT#2b968e9e-2a76-4569-8763-f883e11dc5a7
- Mark as Resolve Webhook URL: activate this feature to hook the intermediate service to update the ticket when admin/agent clicks the resolve button. Please refer to https://documenter.getpostman.com/view/8259884/TVsuCSeT#3d30fc41-ea27-4a39-a13f-390305d769bb to activate the hook and set the URL. Base URL is https://multichannel.qiscus.com / https://omnichannel.qiscus.com
- Load Comment API: This is used to fetch messages data, please refer to https://documenter.getpostman.com/view/3537859/RVnVF1Ep?version=latest#ec2f01af-a60d-c954-f57e-052688c27e31 for API doc
For an example on how you could implement it, please refer to our zapier example https://support.qiscus.com/hc/en-us/articles/360036270973