This article details how to create skills and includes the following topics:
Overview
A skill contains identification details, phrases for how the skill will be triggered, the conversation flow, and the fulfillment of the conversation. These components together provide the back and forth conversation between the bot and the user and can enhance the end user's service management experience. This article details how to build skills and take advantage of the many configurable options.
Create New Skill
The Skill Details section allows you to provide skill identification details. To create a new skill, do the following:
- On the Skill Builder page, click Create Skill as shown below.
- The Create Skill 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.
- 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 , 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
- At least one KPI metric is required to save the Skill successfully.
- When the skill is copied, the KPI calculation metrics will also be copied along with the skill.
- KPI metrics are not applicable to sub-skills. When a sub-skill is executed through parent skill, KPI metrics of the main skill is considered for calculation
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 different and valid ways 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.
An Administrator and developer can define how the skill can be invoked by a user in the channel so that multiple ways of invoking the skill is allowed. In addition to the existing user phrases, the user can also be able to invoke the skill using the command which will bypass the NLP component for the skill identification. As a power user of skill, for the Developers, Support agents, and Administrators, who deal with the Skill Builder on a day-to-day basis, typing the entire user phrase can be time-consuming. Moreover, each user phrase undergoes the translation process through the NLP, which again delays the process to execute a skill. To quickly initiate the skill, Command is available along with the User Phrases. This approach will bypass the NLP and directly execute the required skill and eventually save time and effort.
The invocation type includes the following sections. A Skill can be invoked by using both, the User Phrases as well as Commands.
- 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.- 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.
Note
It is mandatory to include at least 2 user phrases. Well trained skills should have 25 or more phrases.
Example:
For "What is the guest WiFi network password" skill, in the User Phrases section, enter every expression a user in your organization may type when asking for the guest WiFi password. Let us specify the following Phrases:
Note
- The NLP engine is case insensitive. Therefore the case of the characters in the phrases are ignored.
- Click the delete icon to remove a phrase.
Tag Attributes to User Phrases
A developer or administrator can tag a word in a user phrase and link it to an attribute. This can be done in two ways
- NLP extraction
- Entity extraction
NLP extraction
This method is used when the data type is TEXT. Here the value from the user's phrase is stored in an attribute and will skip any mandatory prompts for that value. This provides a better experience for the user and makes the conversation more intelligent. The NLP engine can extract Text type attributes when their NLP Extraction Method is set to Value or Pattern.
For better understanding please refer Create Attributes
The following is an example of a Salesforce Account Request 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.
Entity extraction
Entity Extraction occurs for attributes with datatype EMAIL,NUMBER or TIME. The extraction the value is provided by the user even before the attribute is prompted. Need to explicitly mention the above line. If the attribute is prompted then the value provided by the user in a valid format is considered to be the value for the attribute.
When the entered Data type is EMAIL,NUMBER or TIME, the entity extraction occurs. The value from the user's phrase will be automatically assigned to the attribute before the , and will skip any mandatory prompts for that value.
The values are assigned to the attribute in the sequence defined in Conversation flow.
For Example :
If the user enters two phone numbers, then the first value will be assigned to the first attribute and second value to the second attribute by skipping the mandatory prompts
If the user enters one phone number and one email address, then the values will be assigned to their corresponding attributes by skipping the mandatory prompts
The user can also enter multiple values of EMAIL, NUMBER and TIME. For all these 3 data types, the values from the user's phrase will be automatically assigned to their corresponding attributes and will skip any mandatory prompts.
Info
Standard Formats for Date and Time
Date and Time can be specified as today, Monday, Feb 18, the 1st of march, last week, a quarter to noon, 11:45 am, three months ago, next 3 weeks, thanksgiving, Mother’s Day, from 9:30 - 11:00 on Thursday, the day before labor day 2020, etc.
Best Training practice for NLP Extraction
Bot must be fed with more examples in order to address user requests more efficiently
Build the Conversation Flow
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).
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.
Attributes
If you select the Attribute Conversation Item, then select the required attribute from the drop-down list. You can also enter the first character of the attribute name to scroll down the list to that letter. All Attributes must be defined in Attributes tab before you create or edit the conversation. All details in the Attribute will be used in the Conversation Flow including the prompt and validation. For further details refer to the Create Global Attributes article.
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 a Static Prompt attributes using Skip command. Refer System Commands on Bot Settings more information on Skip Command in Luma.
Attribute Override
While building the skill, Luma allows you to override the selected attribute. This means you can modify a few details of the attribute and continue to use the same instead of creating a new attribute. While overriding an Attribute, the changes made are local to the skill and do not have any impact on 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 Conversation Flow tab, select Attribute in Add Conversation Item select list. Alternatively, you may also click on +Add Conversation Item and select Attribute
- Select the required attribute in Select Attribute select list.
- Click on the Attribute Name to open View/Override Attribute window.
- Click on 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 Attribute Name of the selected Attribute 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 means the changes done will be lost.
Integrations
An Integration is used in the conversation flow to call an external application to trigger fulfillment or retrieve information for the Skill. Once an Integration is added to the Conversation Flow 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
Note
Ensure that the Connected App (web service) and it's 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. RuleSet is used to implement conditional branching to another skill based on the user's input. For more information on specifying the rule details, refer Rule Set Overview.
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.
Tip
You may use 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>}
For information on the other attributes that can be used in a skill, refer to Use Variables in Skills.
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.
Creating then Building and Publishing a newly Created Skill
Once you are done building your Skill, click Create to create the skill.
Note
- Once the skill is created, it remains in a Pending status. The skill cannot be executed unless you perform Build and Publish.
- If you make any changes to skill and save it, it remains in a Pending with Changes status until the changes are published.
- Once the skill is published, the status changes to Published.
To publish a skill, on the Skill Builder, click Build & Publish Skills on the right side of the Skill Builder page. For more details on Building and Publishing skills see Build and Publish.
Reorder Attributes, Quick replies and Cards
To change the conversation flow according to your requirement, you can reorder the following in the Edit mode of the respective task or operation.
Manage Skill Permissions
Note
A skill must be created in Luma before permissions can be added to it.
Grant access to skill to individual users and groups so that correct people can execute the skill. For a smaller organization, where a skill has to be accessed by only limited or few sets of users, you can directly add the users to the skill instead of creating a group and adding the skill and users to the group. For more details on permissions, see Define Roles, Permissions, and Groups.
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.
To remove a group or user, select it and click the corresponding Remove button.
A skill marked as 'Display in Suggested Skills' can be added to the Suggested skill list for a User role only if the User role has permission to execute the Skill. for more info on Suggested Skills, refer article.
Execute Skills
Once the skills are created and published, you can execute the skill through the test bot or any other supporting channel as shown below.
Note
Note that you cannot test or execute any skills through the bot or any chat channels unless the skills are published. Only the users and groups assigned to the skill can use the published skill. For more details on users, groups, and permissions, refer Manage Users, Groups, and Permissions.
Exit or Abort Skills
You can end or exit a conversation without fulfillment or completing the skill. If you do not want to proceed with the existing skill and want to exit it, use Abort/Exit Skill defined for your tenant to come out of the skill and execute another skill. Refer section Abort/Exit skill for more details
System Skills
System Skills are out-of-the-box skills which are available to the users when a new tenant is provisioned. The System Skills tab includes the following details:
- Welcome Skills
- What Can You Do
- Abort/Exit
- Transfer to Agent
Note
With each release, Serviceaide may update the out of the box system skills. If you have made changes to the System Skills, your custom System Skills will remain as is and not be updated. If you have not edited the System Skills they will be updated automatically.
Welcome Skill
The Welcome Skill creates a welcome experience for users and helps communicate all the requests that the bot can assist with. The Welcome Skill includes User Phrases and Welcome Messages. User Phrases are the various ways the user is expected to converse with the bot when the conversation begins. Welcome Messages are the greetings sent back to the user. Examples of User Phrases include 'Hi', 'Hello', and 'Welcome'. While an example of a Welcome Messages is 'Hello and welcome. I'm Luma your Virtual Support Agent. I'm here to help!'.
An Administrator can create a welcome experience by defining various phrases and messages as required, and can also edit the existing phrases.
- To define user phrases and welcome messages, do the following:
- Type the phrase in the Enter Possible user Phrases row in the User Phrases section and press the Enter key.
- Type the welcome message in the Enter Welcome Message row and press the Enter key.
- To delete a user phrase or welcome message, hover over the row which you want to delete and click the Delete icon.
- Click Save to save the phrases and messages.
The following image shows how the welcome skill appears:
What Can You Do
In this section, you can define a phrase which the user is expected to utter when they ask for help or ask what the bot can do. You can add new phrases and edit existing phrases. During the conversation, when the user enters phrases specified in 'What can you do', the suggested skills are displayed in response.
While Welcome skill is comprised of user phrases and welcome messages, 'What can you do' contains only user phrases.
- Type the required phrase in the Enter Possible User Phrases row.
- Hover over the row and click the delete icon to delete a row.
- Click Save to save the phrase.
Abort/Exit
In this section, you can define Abort/Exit command and Abort messages for your tenant.
Abort Command
This command allows the user to exit conversation with the bot or Agent. The command is tenant-specific and set to '//abort' by default. However, it can be customized as required.
Abort Message
You can define the Abort message for two types of exit scenarios (conversation status):
- Within a conversation, when the user exits from an ongoing conversation with bot or Agent.
- Outside a conversation, when the user is not interacting with bot or Agent.
You can add new messages or edit existing messages. When the user executes abort command, an appropriate abort message will appear as bot response based on the conversation status.
- To configure Abort/Exit the command for your tenant,
- Add new command
- Press the Enter key
- To configure the corresponding message in Luma, do the following
- Add messages in Abort Message (Within a conversation) and press the Enter
- Add message Abort Message (Outside a conversation) and press the Enter
- To delete the message, hover over the row which you want to delete and click the Delete icon.
- Click Save to save new command and messages.
Transfer to Agent
This section is used to define Transfer to Agent skill for your Tenant. In addition to skill details, you can define command and phrases which end users are expected to utter when they prefer to talk to an agent, instead of continuing their conversation with Luma. During a conversation, when the user executes the skill using any of the associated phrases or the defined command, the conversation moves from the bot context to the Agent context. The user can now start a conversation with the live agent.
Skill Details
Below details are available in Skill Details section:
- Skill Name : Defines the name of the skill.
- Skill Image URL: This is the URL to the Image assigned to the skill. The image appears when the skill is recommended to the End User as a Suggested Skills.
- Description: This is the general description of the skill.
- Transfer to Agent Command: This command is used to trigger the Support Agent transfer process. It transfers the conversation to a Support Agent. This command is tenant-specific and set to '//transfertoagent' by default. However, this command can be customized as required.
User Phrases
You can add multiple phrases that could be used to trigger the transfer to the agent skill.
To configure Transfer to agent skill for your tenant, follow the below steps:
- Update the default Skill Name and Description as required.
- Add Skill image URL. This is not a mandatory field
- Update the Transfer to Agent command as required
- Type the phrase in the User Phrases section and press the Enter
- To delete a phrase, hover over the row which you want to delete and click the Delete icon.
- Click Save to save the updates.
While Abort/Exit skill is triggered only using the command, ‘Transfer to agent' can be triggered using the command as well as User phrases.
Small Talk
Small Talk is a casual form of conversation that makes your bot seem intelligent and allows an organization to give their bot a personality that aligns with their culture. Small Talk is a set of common phrases that are not related to any skill. Out-of-the-box Small Talk is available for each bot and an Administrator can customize the responses to meet their unique needs. Both the Phrases and responses sections of a small talk question/name are editable.
Note
- Small Talk is based on the bot's language. An English bot will have different Small Talk questions than a Chinese bot.
To define the phrases and responses for Small Talk, do the following:
- Click the Small Talk topic header to expand and view the subsequent questions, phrases, and answers. Each header includes a number of common questions or statements that users say to bots. Each question has a name, the user phrases that trigger it and the responses that are sent to the user. For example, the Courtesy topic includes responses for 'That's bad', That's great' or 'Thank you'. You can adjust the phrases that trigger this question/statement and the responses that will be communicated.
- To edit existing phrases or add your own custom phrases
- Type your phrases in User Phrases and hit enter
- Hover over existing rows and click the delete icon to delete a row
- Click Save to save the phrases
- To edit existing responses or add your own custom responses
- Type your response in the Responses row.
- Press the Enter key to add another row.
- Hover over the row and click the delete icon to delete a row.
- Click Save to save the responses.
- You can enable or disable entire topic sections of Small Talk based on your organization's needs.
Important
Changes to Small Talk will require running the Build & Publish Skills process.