diff --git a/content/applications/websites/livechat/chatbots.rst b/content/applications/websites/livechat/chatbots.rst index f5f9bc62d..a8feab371 100644 --- a/content/applications/websites/livechat/chatbots.rst +++ b/content/applications/websites/livechat/chatbots.rst @@ -8,8 +8,8 @@ response, and lead them through a series of questions and answers the same way a would. Chatbots can be customized to fill various roles, from customer support, to creating leads, to -collecting contact information. The goal of the chatbot depends on the page of the website they are -assigned, and the messages included in the script, among other criteria. +collecting contact information. The goal of each chatbot can vary based on several criteria, +including the webpage where it is located, and the information it captures. .. image:: chatbots/chatbot-visitor-view.png :align: center @@ -19,25 +19,21 @@ Build a chatbot =============== Before creating a new chatbot, the *Live Chat* application must first be installed on the database. -This can be done directly from the :menuselection:`Apps` menu by searching for `Live Chat` in the -:guilabel:`search bar` and clicking :guilabel:`Install`. +This can be done directly from the :menuselection:`Apps` application, by searching for `Live Chat` +in the :guilabel:`Search...` bar, and clicking :guilabel:`Install`. -Alternatively, *Live Chat* can be installed and enabled by navigating to the :menuselection:`Website -application --> Configuration --> Settings`, and checking the box labeled :guilabel:`Livechat`. Once -enabled, the database will refresh, and the *Live Chat* application is accessible. - -Once the *Live Chat* application has been installed on the database, open it, and go to -:menuselection:`Configuration --> Chatbots`. +Once the *Live Chat* application has been installed on the database, go to :menuselection:`Live Chat +app --> Configuration --> Chatbots`. .. note:: When the *Live Chat* app is installed, a sample chatbot is created, named *Welcome Bot*. This - chatbot has a pre-configured script that walks through a few basic steps, including asking for a + chatbot has a preconfigured script that walks through a few basic steps, including asking for a visitor's email address, and forwarding the conversation to an operator. *Welcome Bot* can be used as a starting point. The existing steps can be edited or removed, and new steps can be added to customize the script, as needed. - *Welcome Bot* can be deleted (or archived). + *Welcome Bot* can be deleted or archived, if necessary. .. image:: chatbots/chatbot-welcome-bot.png :align: center @@ -52,35 +48,35 @@ the :guilabel:`Edit Image` icon in the upper right corner of the form to add a p Chatbot scripts --------------- -Once the new chatbot has been created and named, the next step is to create a script. Chatbot -conversations follow an accompanying script. These scripts are comprised of lines of dialogue, each -designed to either deliver or capture information. +After the new chatbot has been created and named, the next step is to create a script. Chatbot +conversations follow an accompanying script. These scripts are comprised of lines of dialog, each +designed to deliver or capture information. -To create a chatbot script, navigate to the :guilabel:`Script` tab of the chatbot details page, and -click :guilabel:`Add a Line` to open the :guilabel:`Create Script Steps` pop-up form. +To create a chatbot script, click :guilabel:`Add a Line` in the :guilabel:`Script` tab of the +chatbot detail page, and a :guilabel:`Create Script Steps` modal appears. -This form must be filled out for each line of text (dialogue) that the chatbot could potentially -deliver during the conversation. + +This form must be filled out for **each** line of text (dialog) that the chatbot could deliver +during the conversation. First, enter the content of the message in the :guilabel:`Message` field. Then, select an option -from the :guilabel:`Step Types` drop-down menu. +from the :guilabel:`Step Type` and :guilabel:`Only If` drop-down menus. Step types ~~~~~~~~~~ The :guilabel:`Step Type` selected depends on the intended purpose of the message. The available -options in the :guilabel:`Step Type` drop-down are listed below, as well as their use, and any -additional information: +options in the :guilabel:`Step Type` drop-down menu are detailed below: Text **** -This step is used for messages where no answer is expected (or necessary). Text steps can be used -for greetings and/or to deliver information. +This step is used for messages where no answer is expected or necessary. Text steps can be used for +greetings, to offer resources, such as documentation, or provide links to specific web pages. .. important:: - Text step types are only intended to deliver information, and do not allow for any visitor input. - As such, they need to be followed by additional steps to continue the conversation. + *Text* step types are only intended to deliver information, and do **not** allow for any visitor + input. As such, they **must** be followed by additional steps to continue the conversation. Question ******** @@ -88,9 +84,20 @@ Question This step asks a question and provides a set of answers. The visitor clicks on one answer, which either leads to a new step in the conversation, or can lead to an optional link to a new webpage. +Enter the question in the :guilabel:`Message` field. Then, under the :guilabel:`Answer` heading, +click :guilabel:`Add a Line` to create a blank answer line. + +Proceed to enter the answer as it should appear to the visitor. To turn the answer into a link that +redirects the visitor when selected, add the URL to the answer line under the :guilabel:`Optional +Link` heading. + +Repeat these steps for every answer to be included for the question. + +Click :guilabel:`Save & Close` or :guilabel:`Save & New`. + .. tip:: - It is helpful to add a catchall answer to question steps (ex: "Something else"). This helps - visitors continue the conversation, even if their needs don't exactly fit with any of the other + It is helpful to add a catchall answer to question steps (e.g: `Something else`). This helps + visitors continue the conversation, even if their needs do not exactly fit with any of the other answers. Email @@ -99,7 +106,7 @@ Email This step prompts visitors to provide their email address, which is stored and can be used by team members later to follow up with additional information. -The only accepted inputs for this step type are email addresses that are in a valid format. If a +The **only** accepted inputs for this step type are email addresses that are in a valid format. If a visitor attempts to enter anything other than a valid email address, the chatbot responds with a message stating it does not recognize the information submitted. @@ -111,24 +118,26 @@ Phone ***** Similar to email, this step type prompts the visitor to enter their phone number, which can be used -at a later time to follow up with additional information, or to schedule demos, and more. +to follow up with additional information, schedule demos, and more. .. warning:: Due to the vast number of formats used for phone numbers worldwide, responses to this step type - are **not** validated for formatting. + are **not** validated for formatting, and can include both numbers and special characters. Forward to Operator ******************* -This step forwards the conversation to an active live chat operator, so that they can continue -assisting the visitor. As the conversation transcript is passed on to the operator they are able to -pick up where the chatbot left off. This not only saves time for all parties involved, it can also -help qualify conversations before they reach live human operators. +This step forwards the conversation to an active live chat operator, so they can continue +assisting the visitor. As the conversation transcript is passed on to the operator, they can pick up +where the chatbot left off. This not only saves time for all parties involved, it can also help +qualify conversations before they reach live operators. .. note:: If no active operator is available on the channel, the chatbot continues the conversation with - the visitor. Therefore, additional steps should be added after this one to ensure that there is - no abrupt end to the conversation. + the visitor. Therefore, additional steps should be added after this one to ensure there is no + abrupt end to the conversation. The additional steps can both inform visitors about the lack of + available operators (e.g. `Uh-oh, it looks like none of our operators are available`) and + continue the conversation (e.g. `Would you like to leave your email address?`). .. image:: chatbots/chatbot-no-operator.png :align: center @@ -137,42 +146,49 @@ help qualify conversations before they reach live human operators. Free Input/Multi-Line ********************* -The free input step allows visitors to respond to questions without providing pre-written responses. -Information provided in these responses is stored in the chat transcripts. +The *free input* step allows visitors to respond to questions without providing pre-written +responses. Information provided in these responses is stored in the chat transcripts. Choose between :guilabel:`Free Input` and :guilabel:`Free Input (Multi-Line)` depending on the type -and amount of information being requested from the visitor. +and amount of information the visitor is asked to provide. Create Lead *********** This step creates a lead in the *CRM* application. Select an option from the :guilabel:`Sales Team` -drop-down to assign the created lead to a specific team. +drop-down field that appears to assign the created lead to a specific team. + +.. note:: + This step is **only** available if the *CRM* application is installed on the database. Create Ticket ************* -This step creates a :doc:`ticket ` in -the *Helpdesk* application. Select an option from the :guilabel:`Helpdesk Team` drop-down to assign -the created ticket to a specific team. +This step creates a :doc:`ticket <../../services/helpdesk/overview/receiving_tickets>` in +the *Helpdesk* application. Select an option from the :guilabel:`Helpdesk Team` drop-down field that +appears to assign the created ticket to a specific team. + +.. note:: + This step is **only** available if the *Helpdesk* application is installed on the database. Only if ~~~~~~~ Chatbot scripts operate on an if/then basis, which means the next question presented to the visitor -is determined by the answer they provide to the previous question. +is determined by the answer provided to the previous question. -To continue the progression of the conversation, the form for a new step contains a field labeled -:guilabel:`Only If`. This field is where the progression of questions is defined. +To continue the progression of the conversation, the :guilabel:`Create Script Steps` form for a new +step contains a field labeled :guilabel:`Only If`. This field is where the progression of questions +is defined. If a step is intended to follow all of the previous messages, this field can be left empty. However, -if a message should **only** be sent conditionally, based on a previous response (or several -previous responses), those responses need to be added to this field. +if a message should **only** be sent conditionally, based on a previous response, or several +previous responses, those responses **must** be added to this field. .. important:: - If there are any selections made in the :guilabel:`Only If` field, the step will **not** be shown - in a conversation unless **all** of the answers have been selected. Only include selections in - this field if they are necessary for this step to be displayed. + If any selections are made in the :guilabel:`Only If` field, they must **all** be selected during + the conversation *before* this step will be included. Only include selections in this field if + they are necessary for this step to be displayed. .. example:: In the *Welcome Bot* script, a visitor can ask about pricing information. If the visitor selects @@ -198,15 +214,14 @@ previous responses), those responses need to be added to this field. Script testing -------------- -In order to ensure all visitors have a satisfactory experience with the chatbot, each message needs +To ensure all visitors have a satisfactory experience with the chatbot, each message needs to lead to a natural conclusion. Chatbot scripts should be tested to confirm there are no dead-ends, -and to get an understanding of what the visitor sees when they interact with the chatbot. +and to understand what the visitor sees when they interact with the chatbot. .. important:: - If there is an answer or input provided by the visitor that is **not** assigned a corresponding - follow-up response, the conversation stops (*dead-end*). Since the visitor cannot re-engage the - chatbot, they will have to re-start the conversation, by refreshing the chat window, or their - browser. + If the visitor provides an answer, or input, that is **not** assigned a corresponding follow-up + response, the conversation stops (*dead-ends*). Since the visitor cannot re-engage the chatbot, + they must restart the conversation by refreshing the chat window, or their browser. To test the performance of a chatbot, first click on the :guilabel:`Test` button at the top-left of the chatbot script page. Then, upon being redirected to the testing screen, answer the chatbot @@ -222,15 +237,21 @@ Add chatbot to a channel After a chatbot has been created and tested, it needs to be added to a live chat channel. -First, open the :menuselection:`Live Chat` application, and select the kanban card for a -:guilabel:`Channel`, or create a :doc:`new one `. Click on the -:guilabel:`Channel Rules` tab. Then, open an existing rule, or create a new one by clicking -:guilabel:`Add a line`. +First, open the :menuselection:`Live Chat` application, find the Kanban card for the appropriate +live chat channel, hover over it, and click the :guilabel:`⋮ (three dots)` icon to open the +drop-down menu. Click :guilabel:`Configure Channel` to open the channel detail form. -On the :guilabel:`Create Rules` pop-up detail form, choose the appropriate chatbot in the -:guilabel:`Chatbot` field. +.. note:: + To create a new live chat channel, open the :menuselection:`Live Chat app` and click + :guilabel:`New`. See :doc:`Live Chat <../livechat>` for more information. -If the chatbot should **only** be active if there are no available live chat operators, check the +Click on the :guilabel:`Channel Rules` tab. Then, open an existing rule, or create a new one by +clicking :guilabel:`Add a line`. + +On the :guilabel:`Create Rules` modal, choose the appropriate chatbot in the :guilabel:`Chatbot` +field. + +If the chatbot should **only** be active if there are no live chat operators available, check the box labeled :guilabel:`Enabled only if no operator`. .. image:: chatbots/chatbot-add-to-channel.png diff --git a/content/applications/websites/livechat/chatbots/chatbot-add-to-channel.png b/content/applications/websites/livechat/chatbots/chatbot-add-to-channel.png index 748fc642a..091fdac19 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-add-to-channel.png and b/content/applications/websites/livechat/chatbots/chatbot-add-to-channel.png differ diff --git a/content/applications/websites/livechat/chatbots/chatbot-invalid-email.png b/content/applications/websites/livechat/chatbots/chatbot-invalid-email.png index 9a1e1dc98..e97198f9d 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-invalid-email.png and b/content/applications/websites/livechat/chatbots/chatbot-invalid-email.png differ diff --git a/content/applications/websites/livechat/chatbots/chatbot-no-operator.png b/content/applications/websites/livechat/chatbots/chatbot-no-operator.png index e1d828a43..8caedc2ce 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-no-operator.png and b/content/applications/websites/livechat/chatbots/chatbot-no-operator.png differ diff --git a/content/applications/websites/livechat/chatbots/chatbot-only-if.png b/content/applications/websites/livechat/chatbots/chatbot-only-if.png index 64fd33803..2f81c7275 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-only-if.png and b/content/applications/websites/livechat/chatbots/chatbot-only-if.png differ diff --git a/content/applications/websites/livechat/chatbots/chatbot-visitor-view.png b/content/applications/websites/livechat/chatbots/chatbot-visitor-view.png index 3a9e8091b..5265ae477 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-visitor-view.png and b/content/applications/websites/livechat/chatbots/chatbot-visitor-view.png differ diff --git a/content/applications/websites/livechat/chatbots/chatbot-welcome-bot.png b/content/applications/websites/livechat/chatbots/chatbot-welcome-bot.png index 9c261cf09..a0811f58c 100644 Binary files a/content/applications/websites/livechat/chatbots/chatbot-welcome-bot.png and b/content/applications/websites/livechat/chatbots/chatbot-welcome-bot.png differ