Building Conversation Flow
The Conversation Flow section allows you to build a conversation between the user and the bot. The conversation items represent the steps Luma VA should perform to complete a task. You can add the conversation items in the sequence of desired execution. Using the conversation items you can ask users for information, integrate with a third-party application, show search results, update KPIs or conditionally branch to a skill to exit the conversation.
To build the skill conversation flow, add the conversation items in the desired sequence of execution. Luma Virtual Agent provides a wide range of Conversation Item that can be used to perform various actions during a conversation. Following are the conversation items available on the Skill builder:
- 1 Prompt User (Attribute)
- 1.1 Attribute Override
- 1.2 Invoke Integration
- 1.3 Add Conditions- Rule Set
- 1.4 Invoke Automation Workflow
- 1.5 Set/Transform Attributes
- 1.5.1 Set attribute
- 1.5.2 Transform
- 1.6 Suggest Skills
- 1.7 Show Message
- 1.8 Capture Satisfaction Survey
- 1.9 Capture Feedback
- 1.10 Set KPI
- 1.11 Search Knowledge
- 1.12 Search Catalog
- 1.13 Display Knowledge
- 1.14 Display Catalog
- 1.15 Display Skill
- 2 Conversation Flow Restrictions
Prompt User (Attribute)
Prompt User (Attribute) is used to fetch and retain information during a conversation between the bot and the user. The information can be gathered from user input, an integration (discussed later), or passed from other skills. This allows for building dynamic conversations and gathering data to execute the user's request. For more information on attributes, refer Create Global Attributes.
To prompt the user with a question or store a value, follow the below steps to use an Attribute Conversation Item.
Select Prompt User (Attribute) from the conversation drop-down list. The construct is added to the conversation Flow.
Now select the attribute in Select Attribute dropdown. You can search for the attribute, and the list is filtered based on the filter added. You can select an existing global attribute defined in the Attributes tab or click on 'Create Attribute' to add a new global attribute and use it in your skill. For further details refer to the Create Global Attributes article.
Mark the attribute if the attribute value is mandatory for the skill execution.
Add the default value to be assigned to the attribute if the user skips providing a response or the attribute.
All the predefined attribute configurations such as prompt message, Options, validations are applied to the skill. In case you want to make any changes specific to your skill, you can override the attribute.
Every Attribute added to the conversation flow is marked as Mandatory by default. In such a case, a default value is required. If the attribute prompt type is Static, you can unselect the Mandatory field.
While executing a Skill, End-user can skip Static Prompt attributes using Skip command. Refer System Commands on Bot Settings more information on Skip Command in Luma.
Attributes of type List, JSON, and XML cannot be used to prompt users for input. Use these attributes to store data received from the integration in the conversation flow.
Attribute Override
While building the skill, Luma VA allows you to override the selected attribute. This means you can modify a few attribute details and continue using the same instead of creating a new attribute. While overriding an Attribute, the changes made are local to the skill and do not impact the original attribute. The following details of the attribute can be overridden at skill level:
Prompt type: No Prompt, Static User Prompt
User prompt format: Text, Quick Replies, Cards, Image
Validations
To override an attribute, follow the below steps:
On the Prompt User (Attribute) construct, click on the Attribute Name to open the View/Override Attribute window.
Click on the Override button.
Update the required fields.
Click on Done to save the changes.
To revert overridden changes of the attribute, please follow the below steps:
Click on the selected Attribute Name to open the View/Override Attribute window.
Click on Override button.
Click on Reset to Default button. All the fields will be reset to the values of the original attribute.
Click on Done to save the changes.
Attribute Name, Identifier, Data type, and NLP Extraction Method cannot be modified.
Overridden values or updates are saved only once the Skill is Saved.
Build and Publish process should be run for the changes to take effect and the updates to be available for End Users.
Reverting to the original Attribute values is non-reversible, this means the changes done will be lost.
Invoke Integration
‘Invoke Integration’ connects Luma VA to external systems to perform actions to fulfill the user's request. For example, if the user interacts with the bot asking to create a ticket in ServiceNow, then an integration action is performed with ServiceNow to execute the skill. For more information on integration, refer to Integrations.
When added to the conversation flow, integration calls an external application to execute an action or retrieve information. To use Integration in your skill, follow the below steps.
Select the App Name from the drop-down list. This is a Connected App or external system that you previously created in the Integrations section of the Bot Builder interface. For more information on create
Ensure that the Connected App (web service) and the related operations are created first to display the values in the drop-down list.
Select the app Instance from the drop-down list. The instance is the environment you want to fulfill this request. For example, you may have a test instance or a production instance.
Select the Operation from the drop-down list. The operation is the web service call or method for the Connected App you want to use. You can choose to override the operation details by clicking the hyperlink at the operation name and clicking the override button on the operation page. By overriding, you can set values in operation for this specific skill only.
The system displays the corresponding Integration Type based on the web service operation configuration.
To trigger emails as part of a skill, you can add the Email Connector Integration as a Conversation flow step. For more information, refer to Configure Email Integrations.
Add Conditions- Rule Set
Add Conditions or Rule sets are used to add Condition checks to your skill. Use Rules, you can conditionally, prompt message to user, set or clear attributes, set KPIs or branch to another skill. This is often useful when a user asks for a generic request and through the conversation flow, you want to direct them to a more specific request (skill). For example, a user asks Luma for a new computer. Through a prompt you identify that the user requires a new laptop, then you can direct them to a laptop order skill. Likewise, you can branch to multiple skills and associate attributes according to the requirement.
Add a Rule Set to a Conversation Flow when the Skill needs to evaluate a user's response and continue the Skill or branch to a different Skill. For more information on specifying the rule details, refer Rule Set Overview.
Invoke Automation Workflow
Invoke Automation Workflow is used to add a published Automation Workflow Service to the Skills. Automation Workflows allow Administrators or Skill developers to automate tasks on remote services, servers, applications, and hardware. Add an Automation Workflow to the Conversation Flow when the Skill needs to execute one of the automated workflow services.
For example, we can enable an AD account using Automation Workflows which will be triggered when a skill related to it is executed by the end-user. For more information, refer Automation in Luma
Set/Transform Attributes
Set/Transform Attributes are used to transform and store information received from a user or an integration call. This allows the skill developers to convert the value and then use it in integration to execute a task, in a Ruleset to branch to another Skill, or in an Information Message to provide the user with information. For example, extracting user details like first, last, and organization names from an email address received as user input. Using the conversation item, two actions can be performed:
Set attribute
Set Attributes helps to create local attributes and set the existing attributes with the values received from Integration calls. Set Attributes are available in Conversation items, Rule Sets, and Operation Inbound mapping. The 'Set Attribute' option allows the skills developer/administrators to assign value to a Global, Local, or Custom User Attribute. To set Inbound mapping, follow the below steps:
Select Set/Transform Attributes from the Conversation Item list.
In Add Attribute, select Set Attribute.
To Set an attribute, add the below details.
Scope: Represents the scope of the attribute to be used to hold the values
Use Global to assign value to a Global attribute to be used in the skill. Though the attributes are available for other skills to use, the value is retained during the current skill execution.
Use Local to create and set the value to a local attribute. These attributes are only valid and available during skill execution. The local variable value is retained between the prompts and is used to pass data between multiple integrations, user messages, or rules. If used after a bot response, the value in the Local attribute is lost.
Use User Custom to assign value to a User Custom Attribute. The values of the User custom Attribute is retained across skills unless overwritten.
Attribute: This is the name of the attribute
Data Type: Represents the data type of the attribute.
Expression Type and Expression: These represent the type (Value or JSON) and the location path of the value assigned to the attribute.
Use Expression Type → Value to assign a value to the attribute. This could be a static value or value available in an attribute, e.g., @{response.body}, @{response.code}.
Use Expression Type → JSONPath to assign a value from a JSON response such as $.data.TicketIdentifier, $.data.items[*].Priority.
Use Expression Type → Indirect JSONPath to assign a value from a JSON type attribute such as @{local.items}→$.[*].TicketIdentifier.
Use Expression Type → Xpath to assign a value from an XPath expression such as //AddResponse/Description.
Transform
Transform functions are used to transform the values and assign the transformed/formatted/customized value to a Global, Local, or Custom User Attribute. Luma Virtual Agent provides a range of Transformation functions to allow skill developers to convert the data as required such as Split, Trim, Substring, Replace, Custom Date-Time, and more.
To use the Transformation function use Transform and add details. Refer to Transformation functions for more information on how to use Transform functions.
Suggest Skills
Suggest Skills is used to display the list of skills to be suggested to the end-user at the end of skill execution so that the user is guided to relevant skills post the completion of the current skill. Using Suggest Skills, you can configure an exclusive list of Skills that should be recommended to the end-user once the skill is executed or reuse the configuration already configured for a System Skill/suggest Skill category. This ensures that the user is guided to relevant skills post the execution of the current skill. The display format can be Cards or Quick replies.
To set Suggest Skills:
Select Suggest Skills in the Conversation Item.
To configure a custom list of skill:
Select Custom.
Type in the Message you wish the user to view.
Under Select skill, type in the skill name you want to display as a suggested skill.
Next, choose the desired Display Format, Cards or Quick Replies.
A minimum of one skill is to be selected.
To reuse configuration defined for a category:
Select Suggest Skill Configuration.
The suggest skills configured for the select category ate displayed to the user. For more information refer to Customize System Skills behavior.
The Suggest Skills step should always be the last Conversation step.
A maximum of 50 skills can be added as Skill Suggestions.
Show Message
Show Message sends a message to the user. A Message does not require a response from the user. It is used to display a piece of information. This is used to let the user know the bot is performing a task or to communicate an update to the user. Typically Show Message is used to inform the updates during the conversation or to inform the user of the result of the integration call. The message could be a simple Text message, Quick Replies (a collection of options), Card, or Image.
Add a Message
To add Message to your skill, follow the below steps:
Select Show Message from the Conversation Item list.
Now select the message type:
To send the text message, select Text. Provide the Message in the text box and press Enter. You can specify multiple text messages. However, only one random text message is displayed to the user.
To display options, select Quick Replies.
Provide the Message in the text box
Select the button type. The following formats are supported:
Text
URL
Add Button name or label.
The system automatically uses the button label as the Payload. Payload indicates the value or action Luma takes if the button is selected. You can modify the Payload to meet your needs, which is used to pass any values for integration with other systems. For example, if you want to view the tickets by their priority (high, medium, and low), mention those values as the button labels shown below. If the priority is denoted as 1 for high, 2 for medium, and 3 for low in the corresponding system, then you can specify 1, 2, and 3 against the corresponding buttons as the payload.
If you select Card, provide the prompt Message in the text box. Enter the Card Title, Card Subtitle, and Button details. The system automatically uses the button label as the Payload. You can modify the Payload to meet your needs, which is used to pass any values for integration with other systems. For example, you may want to view the list of pending tickets and take action to approve, reject, or request additional information from the user. You can provide the button labels as Approve, Reject, and Need Info. Similarly, the corresponding payload information can be specified as shown below.
If you select Image, provide the prompt Message in the text box. Enter the Image URL and Tooltip details. For example, you may want to view the map of the place u wish to visit. You can provide the corresponding Image URL.
The Quick reply and Card buttons trigger actions such as opening a URL, opening an article, or triggering a new skill.
It is not suggested to use the Information message during the middle of a conversation with quick replies and cards that will make the branching to the other skill from the current conversation unless branching is required without the need for conditional branching that is available in Rule Set of the conversation item.
Configure Interactive List or Quick Replies in Whatsapp via Infobip
For the Whatsapp channel (via Infobip), the Quick Replies are presented as Interactive lists. In case of more than three options in quick replies, the buttons are automatically converted into an interactive list. You can add additional information to these interactive lists.
Infobip List Title: Add an exclusive title for the interactive lists. The title is displayed on only ‘Whatsapp (via infobip)’ channel in addition to the prompt message. The additional title is ignored for the other channels, and the prompt message is displayed to the end user.
Quick Replies Description: Add descriptions for each option in the Interactive List item displayed to the users. On Whatsapp (via infobip) channel, the additional information for each selectable option is displayed to the end user. For the other channels, the description text is ignored.
Infobip List Title and Quick Replies Description fields are enabled only if Whatsapp (via infobip) channel is enabled for your tenant.
Formatting Messages
You can also format the bot messages using Smart Lookups. Type '@' to enable smart lookups and select the Format Category from the dropdown. This standardizes the text format on all configured channels such as MS Teams, Slack, Whatsapp, Business Hangouts, and Web widgets.
To format your text:
Type '@'
Select Format(format) from the list. You can add a line break or add Bold, Italic styles to the required text.
Select the required format.
For Bold and Italic formats, start by selecting Begin Character for Bold/Italics tags.
Add the End tags at the end of the text to be formatted.
You may refer to Global, Local and User Custom attributes to build your skill. Follow the below syntax to refer to the values in the attributes:
Global attribute: @{global.<Attribute identifier>}
Local attribute: @{local.<Attribute Name>}
Custom User attribute: @{user.<custom attribute identifier>}
Capture Satisfaction Survey
Capture Satisfaction Survey prompts a custom Satisfaction survey to the end-user. Satisfaction Surveys are used to collect Feedback from the end user. Using Capture Satisfaction Survey, you can define a customized survey that is triggered after the execution of the skill. The survey configured in the conversation flow is specific to the skill. Here, you can define specific Survey questions and response options. A skill with a customized survey does not follow the system-level Feedback survey counter, and the survey is triggered every time the skill is executed.
To add a customized survey, follow the below steps:
Select Capture Satisfaction Survey from Conversation item.
Add the survey question specific to the skill in the Survey Prompt.
In Survey Rating Options section, add the response options. Add option Labels and Synonyms.
Add a Validation Message. The message is triggered whenever an invalid response is received for the survey.
Add Post Feedback Message. The message is displayed after the survey response is received.
For more information, refer to Customer Feedback and Satisfaction Survey.
Capture Feedback
Capture Feedback prompts the end-user to provide feedback on skill execution. Feedback is used to request detailed feedback from the end user. Add ‘Capture Feedback’ to the conversation flow to prompt the user to provide feedback. The administrator uses the feedback response to improve user interaction with the Bot. Here you can configure a custom feedback question. This Feedback is specific to the skill and triggered upon completion of skill execution. Using Feedback, you can request detailed feedback from the end-user or provide specific options to provide Text feedback. You can also use the Quick Replies to trigger other skills automatically based on the user's feedback.
To add Feedback, follow the below steps:
Select Capture Feedback from the Conversation item.
Select the type of feedback in Feedback Prompt
For Text type:
Add the feedback question specific to the skill in the Message field.
For Quick Replies:
Add the response questions
You may add a follow-up action or skill in Payload to automatically trigger an action based on the feedback response selected by the end user.
In the Survey Rating Options section, add the response options. Add option Labels and Synonyms.
Add a Validation Message. The message is triggered whenever an invalid response is received for the survey.
The response received for the Custom Satisfaction Survey is used to derive the Custom Satisfaction Rating for your Bot. The end-user Feedback is an input for the Skill Developers and Administrators to improve skills available in the Bot.
If the Custom Satisfaction Survey is triggered as part of the skill, the system-level Feedback Survey is not triggered for the skill. For more information refer to Customer Feedback and Satisfaction Survey
The customized Satisfaction Surveys or skill executions with Custom Satisfaction Surveys are not counted for the system-level Feedback Surveys.
Set KPI
Skills in Luma can be configured to resolve an end-user issue and deflect a support request. This can be achieved through an automated service or by using existing Knowledge. KPIs in Luma are indicators of the value skills add to the organization. While creating skills, skill developers can use the 'Set KPI' conversation item to calculate or update Luma KPIs during skill execution. Here you can choose the KPI Metrics and the parameter based on the skill. Based on the configuration, KPIs are calculated during the conversation.
To set the KPI in a skill, do the following:
Add Set KPI to the Conversation flow.
Select the KPI(s) to be updated and the effort (in minutes) saved. You may update the following KPIs:
Deflected Support Requests: The KPI indicates that the skill can deflect a support request. Specify the number of minutes that the skill can save as the user request is directly resolved and a support request is avoided
Resolved with Knowledge: The KPI is linked to ‘Deflected Support Requests’. Mark 'Resolved with Knowledge' if the ticket is deflected by a Knowledge Article
Actionable Support Requests: Use the KPI to indicate that the skill creates a well-structured, actionable ticket. Specify the number of support minutes that can be saved by creating an actionable support request through Skill. The default value is set to 5 minutes.
.Automated Resolutions: The KPI indicates that the skill resolves user issues using an automated service. Specify the number of support minutes that can be saved by the execution of the automated service, skill, or job by executing the Skill.
Ineffective Best Response: This is a Luma Knowledge KPI. The KPI indicates that the Knowledge Articles returned in the result set are incorrect or irrelevant to the user’s request.
Knowledge Gap: This is a Luma Knowledge KPI. The KPI indicates that Knowledge articles are unavailable for the user’s request and the phrase should be marked as a Gap in Luma Knowledge.
The Luma Knowledge KPIs are managed in Luma Knowledge. The Dashboard in Luma Knowledge is updated based on the KPI information in Luma Virtual Agent.
KPIs can also be updated conditionally as part of Rule conditions. For more information, refer to Using Rule Sets.
KPI configuration for skills is optional and can be added to parent as well as Sub skills.
KPIs are calculated as encountered in the conversation flow.
KPIs are not calculated for conversations through the Test Widget.
Search Knowledge
Search Knowledge is used to search for Knowledge Articles in the associated Luma Knowledge Tenant. Add Search Knowledge to your skill to search for Knowledge Article anywhere during skill execution. You can search for a specific article or with a phrase and metadata.
Search Knowledge construct eliminates the need to configure integration with the Luma Knowledge tenant. Luma VA and Luma Knowledge tenants are automatically associated with each other. 'Search Knowledge looks for articles directly in the associated Luma Knowledge system. The Knowledge articles in results can be accessed using the Knowledge Context variables. For more information, refer to Use Variables in Skills.
Follow the below steps to add Search Knowledge to your skill:
Add Search Knowledge to the Conversation flow.
Add a short description for the search.
There are two search methods:
Metadata - To search for Knowledge Articles using a phrase. You could also supply additional context for the search by providing metadata,
Article ID - To search for a specific Knowledge article using a Knowledge Article ID.
Now, based on the selected search method, provide the search filters:
For the ‘Metadata’ Method, you may provide the following:
Phrases: Provide the search phrase to search for Knowledge. By default, the user’s initial request (available in context variable @{conv.skillPhrase}) is assigned to the field. You could set the field to a static value or another attribute with a text value.
Domain: Domain is the first level of categorization applicable to the Knowledge Artifact. In Luma Knowledge, all Knowledge Articles are categorized under domains and usually refer to the department or functional division the article is related to. For example, HR, IT, Network etc.
Topics: Information on products, services, projects, or sub-teams related to the article. For example, Microsoft, Asset Management, etc.
Subjects: Any specific target of information available in the article. For example, Office, Password, Account etc.
Action: Action is the purpose of the Knowledge artifact. It indicates what action can be performed using the article. For example, Reset, Change, Create, Explain, Work, etc.
Motivation: Motivation words that determine the intention of the user query. For example, how, when, where, etc.
For metadata search, Pharse is a mandatory filter. You can optionally provide the metadata to enhance the search.
Search Catalog
Search Catalog is used to search for Service Catalogs in the associated Luma Knowledge Tenant. Add Search Catalog to your skill to search for Catalog during skill execution. You can search for a specific catalog or with a phrase and keywords. The search Catalog construct eliminates the need to configure integration with the Luma Knowledge tenant. Luma VA and Luma Knowledge tenants are automatically associated with each other. ‘Search Catalog’ looks for catalogs directly in the associated Luma Knowledge system. The Catalogs in results can be accessed using the Catalog Context variables. For more information, refer to Use Variables in Skills.
Follow the below steps to add Search Catalog to your skill:
Add Search Catalog to the Conversation flow.
Add a short description for the search.
There are two search methods:
Search Phrase or Keyword - To search for Service Catalogs using a phrase. You could also supply additional context for the search by providing keywords,
Catalog ID - To search for specific Catalogs using a Catalog ID.
Now, based on the selected search method, provide the search filters:
For the ‘Search Phrase or Keyword’ Method, you may provide the following:
Search Phrases: Provide the search phrase to search for Catalog. By default, the user’s initial request (available in context variable @{conv.skillPhrase}) is assigned to the field. You could set the field to a static value or another attribute with a text value.
Keyword: Any special code or identifier associated with the catalog can help Luma VA search the Service Catalog.
For ‘Search Phrase or Keyword’ search, Seaech Pharse is a mandatory filter. You can optionally provide the metadata to enhance the search.
Display Knowledge
Display Knowledge is used to display Knowledge articles to the end-user. Add the construct to the skill’s conversation flow whenever you want the Knowledge to be displayed. Display Knowledge automatically uses the Knowledge Context variables to display the Articles. It automatically generates guided navigation with the identified categories in case an ambiguity is identified in the results.
Using 'Display Knowledge' you can specify when should the Knowledge articles, found during the initial search by Luma or custom search using 'Search Knowledge', be displayed. You can also define the number of articles and messages displayed to the user when presenting the Knowledge Articles.
Follow the below steps to add ‘Display Knowledge’ to your Skill:
All the necessary configurations and message are defined out-of -the-box. The messages and card definition are defined in Presentation templates. You could use the OOTB configurations or customise as required.
Add Display Knowledge to the Conversation flow.
Add a short description.
If you wish to restrict the number of articles to be displayed,
Select 'Limit number of Artifacts'.
Add the 'Maximum Artifacts to be displayed'.
Next, customize the messages to be displayed with the Topic Navigation and the list of Knowledge Articles.
The messages and the definition of the card with Knowledge Article details are part of the Presentation Template. For more details refer to Presentation Templates.
You could use the default configuration or click on Customise to edit the messages.
The customized messages are local to the skill; any changes to the presentation template do not update the change.
Click on Discard to cancel any changes made to the presentation messages.
Display Catalog
Display Catalog is used to display Service Catalogs to the end-user. Add the construct to the skill’s conversation flow whenever you want the Catalog to be displayed. Display Catalog automatically uses the Catalog Context variables to display the Service Catalogs. It automatically generates guided navigation with the identified categories in case an ambiguity is identified in the results.
Using 'Display Catalogs,' you can specify when the Catalogs, found during the initial search by Luma or custom search using 'Search Catalog', should be displayed. You can also define the number of catalogs and messages displayed to the user when presenting the Service Catalogs.
Follow the below steps to add ‘Display Catalog’ to your Skill:
All the necessary configurations and message are defined out-of -the-box. The messages and card definition are defined in Presentation templates. You could use the OOTB configurations or customise as required.
Add Display Catalog to the Conversation flow.
Add a short description.
If you wish to restrict the number of catalogs to be displayed,
Select 'Limit number of Catalogs'.
Add the 'Maximum Catalogs to be displayed'.
Next, customize the messages to be displayed with the Category Navigation and the list of Catalogs.
The messages and the definition of the card with catalogs details are part of the Presentation Template. For more details refer to Presentation Templates.
You could use the default configuration or click on Customise to edit the messages.
The customized messages are local to the skill; any changes to the presentation template do not update the change.
Click on Discard to cancel any changes made to the presentation messages.
Display Skill
Display Skill is used to display the skills to the end-user. Add the construct to the skill’s conversation flow whenever you want the Skills to be displayed. Display Skill automatically uses the Skill related Context variables to display the Skills. Using 'Display Skills,' you can specify when the Skills found during the initial search by Luma should be displayed. You can also define the messages displayed to the user when presenting the Skills.
Follow the below steps to add ‘Display Skills’ to your Skill:
Add Display Skill to the Conversation flow.
Add a short description of the step.
Next, customize the messages to be displayed with the list of Skills.
The messages and the definition of the card with catalogs details are part of the Presentation Template. For more details refer to Presentation Templates.
You could use the default configuration or click on Customise to edit the messages.
The customized messages are local to the skill; any changes to the presentation template do not update the change.
Click on Discard to cancel any changes made to the presentation messages.
Conversation Flow Restrictions
When building a conversation, keep in mind the following:
A Conversation Flow cannot end with an Attribute. A Skill cannot be saved when an Attribute is the last item in the flow.
All Conversation Items must have the required information populated.
The suggested skills configured in the last skill (branched skill) are presented to the user.
Suggest skill could be added only as the last step of the skill.
© 2019 Serviceaide 1-650-206-8988 http://www.serviceaide.com info@serviceaide.com