By default, Qiscus Multichannel doesn’t provide CRM system to be used. However, we allows for CRM to be integrated into Qiscus Multichannel by making some customisations. The main idea of this integration is to have a real-time conversation in Qiscus multichannel 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 Multichannel 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 Multichannel 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 Multichannel 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 Multichannel 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 Multichannel room.
- Next, user and agent have a conversation.
- When finished, agent mark the conversation as resolved. This will trigger Qiscus Multichannel 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: activate this feature in Qiscus Multichannel Settings page, and provide a webhook URL (In this case, Intermediary Service URL) to be hooked whenever a new room is initiated,
- Set User Info API: to put some CRM task/ticket into room, https://documenter.getpostman.com/view/6898497/S11RLG1d?version=latest#b5ee9d30-e85c-4e9e-9e71-0f481ea515f5
- 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/6898497/S11RLG1d?version=latest#e5a32a0f-a496-4de6-ad8b-965bf9c1e45d to activate the hook and set the URL. Base URL is https://multichannel.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