...
- On the Skill Builder page, click Create Skill as shown below.
- The Create Skill a page appears as shown below.
- Skill Details
- Specify the Skill Name. Keep this name user-friendly as it may be in the Welcome Skill or in a validation message to a user while chatting with the bot.
- The system automatically suggests a skill Identifier, which can be edited.
- Enter the Image URL that you wish to get displayed. We can even skip this field as it is not mandatory.
- Specify the skill description. Use user-friendly terminology as the description is used as the sub-title when a skill is in the Welcome Skill.
- Specify the Category to which this skill belongs. The category helps Administrators and developers organize related skills for filtering and finding skills within the Bot Builder interface. This has no impact on permissions or access. You can create your own category by typing the Category name, else, you can even select an existing category from the drop-down list.
- Optionally select Mark as Sub-Skill. Checking this checkbox means that the Skill cannot be triggered directly by a user phrase instead, it can only be triggered by other Skill.
- The status is automatically set to active and can be set to inactive if you need to make the skill inaccessible i.e. if the skill is not required or is pending changes. .
- KPI Metrics
KPI Metrics indicate how this skill adds value to the organization. The parameters set here are used by Luma to calculate KPI metrics presented in the KPI Dashboard. Set KPI Metrics as shown below:
- Actionable Support Requests: Specify the Number of minutes saved on Actionable Support Requests by executing the Skill. This is selected by default for all new Skills and existing skills for a tenant. The default value is set to 5 minutes.
- Automated Resolutions: Specify the Number of minutes saved on Automated Resolutions by executing the Skill.
- Deflected Support Requests: Deflected support request means by using this Skill, the user request is directly fulfilled avoiding the support request. If the Skill deflects support request, this parameter needs to be set up. Specify the Number of minutes saved by executing the Skill and deflecting support request.
- Skill Details
- Click Next.
Info | ||
---|---|---|
| ||
|
Add User Phrases
User Phrases are a set of phrases used to train the bot’s Natural Language Processing (NLP) engine. Users Phrases are often referred to as utterances when discussing NLP. Phrases help the bot link the skill to the different ways a user asks for that skill. It is important to create phrases for how technical and non-technical users will ask for a skill. For example, a user may say "book meeting room" or "reserve conference room". Each of these is a different and valid way to trigger the same skill. It is recommended that you talk to different users and ask them how they would ask for skill so that you can build better phrases and make your bot more effective.
...
- User Phrases- a Skill can be invoked through the traditional approach using User Phrases.
Command- a Skill can also be invoked using the Commands as shown in the image below.
When you select the Command checkbox, the Skill Identifier is automatically populated as a Command in the Command section.Info - The command must be in the format //command name.
- The command must be at least 8 characters and cannot contain numbers or special characters. Spaces are allowed.
- If the Skill is marked as a Sub-skill, the Invocation Type section is disabled.
- Select the Display in Suggested Skills checkbox if you want this Skill to be listed as Suggested Skills.
To add phrases to your skill start typing in the Enter possible User Phrases text box in the User Phrases section. To add your phrase to the skill, press Enter/Return. Enter all the different ways you think users will ask for this skill.
Info | ||
---|---|---|
| ||
It is mandatory to include at least 2 user phrases. Well-trained skills should have 25 or more phrases. |
...
The following is an example of a Salesforce Account Request Tickets Approaching sla Skill with several instances of attribute tagging. Based on the attributes tagged in the phrase the NLP engine can skip one or more of the prompts in the skill.
- In the User Phrases section of a skill, double-click a word or highlight a group of consecutive words in a user phrase that you want to tag to an attribute.
The list of text type attributes with NLP extraction will show in a drop-down. - On selecting the required attribute, the words appear as the Tagged Value.
- If the Attribute is set to Value in the NLP Extraction Method, you need to select what the tagged value should resolve to and store in the actual Attribute.
- Use the Resolved Value drop-down to select the value.
- If the Tagged Value of the skill is one of the Synonyms available in the attribute, then the corresponding Values appear for selection in the Resolved Value drop-down list.
- If the Tagged Value of the skill has only one Synonym available in the attribute, then that value automatically appears as the Resolved Value in the skill. For example, if the Tagged Value for the attribute Application has only one value - SAP, then SAP automatically appears as the Resolved Value in the skill.
- If the Tagged Value does not belong to any of the existing resolved values - SAP, Oracle and Power BI, then you need to update the value and synonym values of the attribute, application.
...
The Conversation Flow section allows you to build the conversation between the user and the bot. To create a conversation flow, do the following:
In the Conversation Flow section, select the required Conversation Item from the drop-down list. Conversation Item drop-down list includes Attribute, Integration Rule Set, and Information Message.
- Attributes are used to store information during a conversation between the bot and user. The value of an attribute can be set from user input, a web services call (through Connected App), or passed from other skills. This allows building dynamic conversations and gathering data used to fulfill the user's request. For example, if the user interacts with the bot asking to increase the memory on their desktop, the skill could prompt them through an attribute asking for how much memory is required. For more information on attributes, refer Create Global Attributes.
- Integration connects to external systems to perform actions for fulfilling 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 in order to execute the skill. For more information on integration, refer to Integrations.
- Rule Set is the process of branching from one skill to the other. 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. For more information on the ruleset, refer to Rule Set Overview.
- Information Message is used to send a message to the user that does not require a response. This is useful for letting the user know the bot is performing a task (for example: Resetting your password now. This may take a minute) or communicating fulfillment (for example, I created ticket 100-1234 for your network printer issue).
- Set Attribute is used to transform and store information received from a user or from an integration call. This allows the skill developers to convert the value and then use it in integration to execute a task, or in a Ruleset to branch to another Skill, or in an Information Message to provide user information. For example, extracting user details like first name, last name, organization name from an email address received as user input.
- Automation Integration 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. These workflows can then be added as Conversation items and triggered the skill is executed. 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 /wiki/spaces/DOC/pages/1617100849Automation in Luma
- 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.
Multiple conversation items can be added to a single skill by clicking Add Conversation Item. After any conversation Item is added to the flow, you can drag the item to place it in the right order using the icon.
...
- Prompt type: No Prompt, Static User Prompt
- User prompt format: Text, Quick Replies, Cards, Image
- Validations
To override an attribute, 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
Info title Note Ensure that the Connected App (web service) and the related operations are created first so that the values are displayed 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 that you want to use. You can choose to override the operation details by clicking the hyperlink at the operation name and click override button on the operation page. By overriding, you can set values in the operation for this specific skill only.
- The system displays the corresponding Integration Type based on the web service operation configuration.
Rule Set
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.
...
Add an Automation Integration to the Conversation Flow when the Skill needs to execute one of the automated workflow services. For more information on how to automate service and trigger it through a Skill, refer /wiki/spaces/DOC/pages/1617100849 Automation in Luma.
Set Attribute
Set Attributes helps to create local attributes, set the existing attributes with the values received from Integration calls, and transform the data using the system-defined functions from Luma VA. . Set Set Attributes are available in two sections, 1. Skill Design 2. Operation Inbound mapping. There are two ways to use Set Attributes:
- Set Attribute: 'Set Attribute' option allows the skills developer/administrators to assign value in a JSON or Xpath expression to a Global, Local, or Custom User Attribute.
To set Inbound mapping, follow the below steps:- Select Set Attribute in Conversation Item.
- In Add Attribute, select Set Attribute.
- To Set an attribute, add the below details.
- Expression Type and Expression: These represent the type (Value or JSON) and the location path of the value to be assigned to attribute.
- Use Expression Type → Value when a direct value is to be assigned to the attribute e.g. @{response.body}, @{response.code}.
- Use Expression Type → JSONPath when a value from the received JSON response is to be assigned to the attribute e.g. Expression points to a JSON path e.g. $.data.TicketIdentifier, $.data.items[*].Priority.
- Use Expression Type → Indirect JSONPath when a value from a JSON type attribute is to be assigned to the attribute e.g. Expression points to an attribute that holds a JSON path e.g. @{local.items}→$.[*].TicketIdentifier
- Use Expression Type → Xpath when a value of XPath expression to be assigned to the attribute i.e. Expression points to a Path e.g. //AddResponse/Description
- 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, 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 to be assigned to attribute.
- 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. For more information on how to use Transform functions, refer refer to Transformation functions.
Information Message
...
Suggest Skills
Using Suggest Skills, you can configure an exclusive list of Skills that should be recommended to the end-user once the skill is executed. 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.
- Type in the Message you wish the user to view.
- Under Select skill, type in the skill name that you want to display as a suggested skill
- Next, choose the desired Display Format which is either Cards or Quick Replies
- A minimum of one skill is to be selected and there is no limitation on the maximum number of skills to be added.
Info | ||
---|---|---|
| ||
The Suggest Skills step should always be the last Conversation step. |
Information Message
An Information Message is used to communicate an update to the user. Typically Information Message is used to inform the updates during the conversation and post the integration call, you might have to inform the user result of the integration call. The message can be in the format of Text, Quick Replies, Card, or Image.
- If you 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.
If you select Quick Replies, the following supported formats are displayed:
- Text
- URL
Provide the Message in the text box and the Button labels, as shown below. 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, if you want to view the tickets by their priority (high, medium and low), mention those values as the button labels as 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 an action to either 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.
- Information Message could be used as the last step in the conversation to,
- Display the result of the integration call.
- Suggest the list of skills to be suggested to the user as post fulfillment of the skill.
...
Info | ||
---|---|---|
| ||
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. |
...
Once a skill is created, the user is assigned to the skill by default (as seen in the Users section in the following screenshot). The Administrators group is also assigned to every skill and cannot be removed. This ensures that all skills can be accessed for testing by Administrators. Additional Groups can be added.
To add additional groups or users to a skill, you need to edit the skill and then use the Add Group and Add User buttons. To learn more details about managing permissions, refer to Define Roles, Permissions, and Groups.
...