In many cases, we want the conversation to be conducted first with a bot asking a number of questions, according to which it will be decided where to route the conversation for further treatment, and sometimes even to provide a response to the customer without requiring an agent.
In order to do this, there is a bot mechanism in the system that enables the definition of Q & A, and for each possible answer, the follow-up question that will be presented to the customer when he chose this answer can be defined. In each channel you can define a bot with a pre-call question that will be displayed to the caller if it is called during the defined hours for that channel, and you can also define a bot with a pre-call question that will be displayed to the caller if it is outside the hours of operation, identical or different from that shown during the hours of operation.
For each answer, you can define keywords according to which the answer will be found. If the system does not recognize the customer's response, the customer will be given another attempt to answer the question, all in accordance with the limit of the number of attempts and the maximum time the system will wait for an answer.
In addition to having a predefined answer list for each question, you can also set the answers to be retrieved from information in the system, such as the customer's open cases or the list of branches near their home, and you can also set open-ended questions, that awaits for the customer to type an answer in an expect format such as textual, numeric or date, or expect the customer to perform some action such as upload a file or an image, or even send her current location or address. The bot can even perform more complex operations such as customer identification or running a workflow to apply special validations and logics.
Following an answer or any other situation such as the customer not responding, the bot can decide to present another question or end its operation so the conversation will be routed to an available agent for further processing. The bot can also decide to close or cancel the conversation.
A SimpleChat Conversation is created containing all the messages exchanged with the bot, and if the bot did not close the conversation a destination queue is filled, based on the last answer, if set, or the default channel queue.
Once the bot has finished its work it signals the system to activate the routing mechanism to find an available agent. If an agent is found the conversation will be routed to him for further processing. Alternatively, during a long wait, a Wait Bot can be activated, for example to send a message to the customer once or perhaps from time to time that all agents are currently busy.