icon picker
Channel Integration

Graphlogic.ai Chat Bot Platform can be integrated with various omnichannel software where chatbot operates as virtual operator

General Architecture

OMNICHANNEL INTEGRATION CASES - Frame 1.jpg

Terms

Chatbot platform - Graphlogic Chatbot platform
Communication software - Software where human operators serves Visitors’ requests from various channels (messengers, widgets, social networks)
Visitor - a user\customer who sent message to one of end channels connected to Communication software
Connector - channel-specific API in Chatbot platform
light
Chatbot platform has versatile public channel-agnostic connector -

Messaging between Visitor and Chatbot

Incoming communication

OMNICHANNEL INTEGRATION CASES - Frame 2 (1).jpg

Terms

Chat ID - an identifier of chat with visitor inside Communication software , name can be different, specified by every Communication software
Virtual Assistant - feature in Communication software that allows chatbots to answer visitor’s messages. Named in opposite to Human operator
Bot API - an API in Communication software that allows external chatbots to work as Virtual Assistant
Virtual Assistant Webhook - a webhook in Communication software Bot API that receives messages from Chatbot
Chatbot Webhook - an API webhook in Chatbot platform (Connector) that accepts HTTP requests that need to be processed by the chatbot

Requirements and responsibilities

Chat ID (exact key name can be different) is a “primary key” in HTTP requests:
Communication software generates a unique identifier for a chat with every Visitor and includes this Chat ID to HTTP request to Chatbot Webhook.
Chatbot includes the same Chat ID into the HTTP request with its answer to the Visitor
Communication software accepts HTTP requests from the Chatbot to Virtual Assistant Webhook and processes them in the specified Chat ID
Async communication:
Chatbot sends messages (requests to Virtual Assistant Webhook) in HTTP requests (not in responses to HTTPS requests)
If Chatbot knows Chat ID it can send messages to Virtual Assistant Webhook anytime, even if the visitor didn't write anything
But it's up to Communication software how to deliver these messages to the Visitor
Chatbot can send several messages (HTTP Requests) to same Visitor\ Chat ID in a row
Avoiding Broadcasting requests to Chatbot
Communication Software must send HTTP requests to Chatbot Webhook with events (e.g visitor messages, statuses) only in those chats (Chat ID) where the Chatbot (Virtual Assistant) is already assigned to or must be assigned
Operator ID in case of broadcasting - sometimes Communication Software sends all events to Chatbot Webhook even those that belongs to chat with Humans operators if this situation can’t be avoided then
All HTTP Requests from Communication Platform to Chatbot Webhook have to include Operator ID of the Operator (Virtual Assistant) under which the Chatbot is operating in the Communication Software, so the Chatbot can filter requests by Operator ID and process only those who belongs to it
It must be possible to find the Operator ID in the Communication Software to set up in Chatbot connector settings
A risk of exceeding Chatbot Webhook limits must be accepted and managed - all incoming HTTP requests are counted event if they belong to other Operator ID than assigned to the Chatbot
API Security and limits:
Communication Software and Chatbot can use the same token to sign their HTTP requests, the token can be generated on any side (negotiable)
Chatbot Webhook is secured by token as a part of it unique endpoint url (e.g https://...../chatapi_message/fe5929d87f27fa0d39608322b7b54663/bot_api_webhook).
Chatbot Webhook optionally can check incoming HTTP request headers for token and other info
The token should be static and regenerated only manually when necessary. Auto-renewal of token is not supported by Chatbot Platform
If Communication Software requires token renewal e.g every hour\day the Chatbot Platform can’t maintain this requirement
There’s a limit or RPS that Chatbot Webhook can support for every particular Chatbot, limits can be discussed
Visitor's message processing:
Communication Software forwards messages from any kind of messenger (telegram, WhatsApp etc.) to Chatbot Webhook in the same format
Fields - HTTP request keys and values - must have the same names and the same data format that designed and agreed to particular channel (Communication Software) integration. Example: if the Chatbot must operate Visitors names (e.g include name to a greeting - “Hi Martin!”), the Communication Software must send the Visitor name always in the key e.g username to the Chatbot Webhook independently of how the field named in HTTP requests from messengers to the Communication Software
Chatbot Webhook supports receiving next types of visitors and service messages:
text message
button press - as text = button label
file - as text = URL to the file when visitor sends file
If a visitor sent a file, the Communication Software should download the file on its server and send a direct URL to the file to Chatbot webhook in specific key as designed in integration or as a user text message
message delivery statuses (if required by business case)
It's recommended that Communication Software adds additional known data such as messenger name and visitor data (name, ID in messenger) to optional fields of HTTP request to Chatbot webhook
Chatbot message processing
Chatbot sends its messages in specific format designed and agreed for the particular integration
Chatbot sends next types of messages and evens to chats in HTTP requests to Virtual Assistant Webhook:
text message
button menu options
URL to file
If the business case requires delivering a file to the visitor (instead of link to file) the Communication Software must download the file from the provided URL and deliver it to the visitor
service commands e.g. transfer chat (visitor) to human operator or close the chat
Template execution in case of promotional messages in WhatsApp business or Viber business

Transferring a Chat (Visitor) from a Chatbot to a Human operator

Transferring a Visitor from a Chatbot to a Human operator can be done from the Communication Software itself (if there’s this feature) or by the Chatbot if the Communication Software provides an API webhook that allows it
Transferring a Visitor from a Chatbot to a Human operator by Chatbot
OMNICHANNEL INTEGRATION CASES - Frame 3 (1).jpg

Requirements and responsibilities

Chatbot can execute Communication Software API method of transferring a chat to human in any time
As a result of transfer command execution, the Communication Software should assign the chat to
any human operator in no specific human operator\department\group was specified in the transfer command (HTTP request) from the Chatbot
specific human operator\department\group if they specified in transfer command (HTTP request) from the Chatbot
The assigned human operator can see all previous messages and other chat history with the Visitor
As a result of transfer command execution, the Communication Software should unassign the Virtual Assistant from the chat
Communication Software should stop sending requests to the Chatbot Webhook with events in chats where the chatbot was unassigned from, otherwise the Chatbot will reply on them
Communication Software or Human operator can assign the chat back to Virtual Assistant (Chatbot) using own custom logic - from this time Communication Software starts sending HTTP requests for the particular chat ID to the Chatbot Webhook again
If required by business case, the Chatbot can send messages to Visitor (chat ID) even if the chat (visitor) is transferred to human operator. It’s up to Communication Software how to handle this HTTP request


Channel analytics research

Check information and architecture above and give comments on every point if the Communication Software satisfies it or not, and provide some additional comments
Provide next information related to Communication Software
Chat ID description
Receiving messages from Chatbot by type (link to API method, request example, screenshot of how message delivered to Visitor)
text message
buttons
file (image, video, custom) url
Can the Communication Software download file via link in chatbot’s request body and right after that deliver it to the Visitor?
Sending Visitor messages to Chatbot by type (link to API request description, request example)
text message
button press
file (image, video, custom)
Can the Communication Software download file from Visitor, send link to it to the chatbot
Provide Communication Software API (requests above) testing with Postman and (or similar tools). Researcher should test API and provide screenshots of results (show requests, responses, screenshots of how message delivered to user)
Imitate chatbot with postman - send “chatbot’s” messages (all types of messages incl “redirect to operator” command) using postman to Communication Software and ensure they are delivered to Visitor
Imitate chatbot webhook with and ensure visitor’s messages (all types) are delivered there correctly
Provide info of how’s Chatbot Webhook configured on the Communication Software side, describe all options: via UI, via “set webhook” method
Screencast of setting up Communication Software to work with some potential external chatbot, including: creating connection, generating\entering token, setting up chatbot webhook url, creating rules to assign visitors to chatbot

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.