Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 41 Next »

This article details how to create skills and includes the following topics:

Overview

Any request to be fulfilled by the Virtual Assistant/Bot must be defined in a logical entity called Skill, where you define the intention of the user request, the required information to process the user request, and fulfillment details that resolve the user’s request. A conversation is started and completed when the user request/intent understood and fulfilled by the Virtual Agent. 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:

  1. On the Skill Builder page, click Create Skill as shown below.


  2. The Create Skill a page appears as shown below.

  3. Add Skill Details
    1. 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.
    2. The system automatically suggests a skill Identifier, which can be edited.
    3. Enter the Image URL that you wish to get displayed. We can even skip this field as it is not mandatory.
    4. 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.
    5. 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.
    6. 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 another Skill.
    7. 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.

  4. Click Next.

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.

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:

  • guest network password
  • guest wifi network name
  • visitor wifi access
  • Guest WiFi Password
  • Guest Network Password
  • password for guests
  • Password for WiFi
  • WiFi Password


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

  1. NLP extraction 
  2. 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 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.

Entity extraction 

Entity Extraction occurs for attributes with datatype EMAIL, NUMBER, or TIME. The extraction of 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 and the bot will skip any mandatory prompts for that value.

The values are assigned to the attribute in the sequence defined in the Conversation flow. 

For Example :

 If the user enters two phone numbers, then the first value will be assigned to the first attribute and the 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

The bot must be fed with more examples to address user requests more efficiently.

Build the Conversation Flow

The Conversation Flow section allows you to build a 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. The conversation Item drop-down list includes Prompt User (Attribute), Invoke Integration, Add Conditions (Ruleset), and Show Message (Information Message).

  • Prompt User (Attribute) are used to store information during a conversation between the bot and the 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 to Create Global Attributes.

  • Invoke 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 to execute the skill. For more information on integration, refer to Integrations.

  • Add Conditions 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, and 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.

  • Show 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/Transform Attributes 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's information. For example, extracting user details like first name, last name, and organization name from an email address received as user input.  

  • 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. 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 the end-user executes a skill related to it. For more information, refer to Automation 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.

  • Capture Satisfaction Survey prompts a custom Satisfaction survey to the end-user. Using Capture Satisfaction Survey, you can define a customized survey that is triggered after the execution of the skill. Here you configure customized Survey questions and response options. 

  • Capture Feedback is used to prompt the end-user to provide feedback on skill execution. Here you can configure a customized feedback question that is triggered after the execution of the skill. The feedback response is used to improve user interaction with the Bot.

  • Set KPI is used to set Luma KPIs during Skill execution. Here you can choose the KPI Metrics and the parameter value to indicate how the skill adds value to the organization. Based on the configuration, KPIs are calculated during the conversation.

  • Search Knowledge is used to search for Knowledge Articles in the associated Luma Knowledge Tenant. The conversation item performs a custom Knowledge search during the skill execution. This eliminates the need to configure integration with Luma Knowledge. You can search for a specific article or with a phrase and metadata.

  • Search Catalog is used to search for Service Catalogs in the associated Luma Knowledge Tenant. Use the conversation item to perform a custom Catalog search during the skill execution. This eliminates the need to configure integration with Luma Knowledge. You can search for a specific catalog or with a phrase and keywords.

  • Display Knowledge is used to display Knowledge articles during skill execution. Using 'Display Knowledge' you can specify where should the Knowledge articles, found during the initial search by Luma or custom search using 'Search Knowledge', should be displayed. Here you can define the number of articles and messages to be displayed to the user when presenting the Knowledge Articles.

  • Display Catalog is used to display Service Catalogs during skill execution. Using 'Display Catalog' you can specify how should the Catalogs found during the initial search by Luma or custom search using 'Search Catalog', be displayed. Here you can define the number of articles and messages to be displayed to the user when presenting the Catalogs.
  • Display Skill is used to display Skills found during the initial search by Luma, during the conversation. You can define the number of articles and messages displayed to the user when presenting the Skills.

You can select multiple conversation items for a single skill and build the conversation between the user and the virtual agent. Add the conversation items in the sequence of expected execution. You can drag the items and arrange the controls in the right order using the  icon. For more information on each Conversation Item, refer to Building Conversation Flow.

  • Search Knowledge, Search Catalog, Display Knowledge, and Display Catalog conversation items are available only if your organization is subscribed to Luma Knowledge.
  • Invoke Automation is available only if your organization is subscribed to Serviceaide Automation.
  • 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.
  • 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
  • KPIs can also be updated conditionally as part of Rule conditions. For more information, refer to Using Rule Sets

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 user 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 skill has to be accessed by only a 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 the 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


  • No labels