Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

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.

...


Info
titleInfo

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 in order to address user requests more efficiently.


Build the Conversation Flow

The Conversation Flow section allows you to build the 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. Conversation 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 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 in order 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, then 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 is executed by the end-user. For more information, refer refer to Automation in Luma
    Suggest Note: Invoke Automation is available only if your organization is subscribed to Serviceaide Automation.

  • 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 is used to prompt 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 does the skill add adds value to the organization. Based on the configuration, KPIs are calculated during the conversation.

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 Image Removed icon.

Info
  • 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

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. In case the required attribute is not available in the list, click on 'Create Attribute' to add a new global attribute and use it in your skillFor further details refer to the Create Global Attributes article.

All details in the Attribute will be used in the Conversation Flow including the prompt and validation. 

Image Removed

Info
  • 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 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:

...

View file
nameOverride video.mp4
height400

To revert overridden changes of the attribute, please follow the below steps:

  1. Click on the Attribute Name of the selected Attribute to open the View/Override Attribute window.
  2. Click on Override button. 
  3. Click on Reset to Default button. All the fields will be reset to the values of the original attribute.
  4. Click on Done to save the changes.

Image Removed

Info
  • 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.

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 

Info
titleNote

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.

...

Image Removed

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.

Automation Integration

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 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 Attributes are available in two sections, 1. Skill Design 2. Operation Inbound mapping. There are two ways to use Set Attributes:  

...

  1. Select Set Attribute in Conversation Item.
  2. In Add Attribute, select Set Attribute.
  3. To Set an attribute, add the below details.
    1. Expression Type and Expression: These represent the type (Value or JSON) and the location path of the value to be assigned to the attribute.
      1. Use Expression Type → Value when a direct value is to be assigned to the attribute e.g. @{response.body}, @{response.code}.
      2. 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.
      3. 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
      4. 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
    2. Scope: Represents the scope of the attribute to be used to hold the values
      1. 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.
      2. 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.
      3. Use User Custom to assign value to a User Custom Attribute. The values of the User custom Attribute is retained across skills unless overwritten.
    3. Attribute: This is the name of the attribute
    4. Data Type: Represents the data type of the attribute

...

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:

  1. Select Suggest Skills in the Conversation Item.
  2. Type in the Message you wish the user to view.
  3. Under Select skill, type in the skill name that you want to display as a suggested skill
  4. Next, choose the desired Display Format which is either Cards or Quick Replies
  5. A minimum of one skill is to be selected.
Info
titleNote :
  • The Suggest Skills step should always be the last Conversation step.
  • A maximum of 50 skills can be added as Skill Suggestions.

Image Removed

Information Message

...

If you select Quick Replies, the following supported formats are displayed:

...

  1. Display the result of the integration call. 
  2. Suggest the list of skills to be suggested to the user as post fulfillment of the skill.

Configure Interactive List or Quick Replies in Whatsapp via Infobip

For 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 interactive list. You can add an additional information  for 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. For the other channels, the additional title is ignored 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.

Info

Infobip List Title and Quick Replies Description fields are enabled only if Whatsapp (via infobip) channel is enabled for your tenant. 

 Image Removed

Formating Messages

You can also format the bot messages using Smart Lookups. Type '@' to enable smart lookups and select the Format Category from dropdown.  This standardizes the text format on all configured channels such as MS Teams, Slack, Whatsapp, Business Hangouts, Web widget.  

To format your text:

  1. Type '@' 
  2. Select Format(format) from the list. You can add a line break or add Bold, Italic styles to the required text
    Image Removed
  3. Select the required format.
    1. For Bold and Italic formats, start by selecting Begin Character for Bold/Italics tags.
    2. Add the End tags at the end of the text to be formatted.
      Image Removed
Info
titleTip

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>}
Info
titleWarning

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.

Capture Satisfaction Survey

Satisfaction Survey is used to configure a customized Feedback Survey for the skill. The survey configured here is specific to the skill and triggered after execution of the skill. Here you can define specific Survey question and response options. A skill with customized survey does not follow the system-level Feedback survey counter and the survey is triggered everytime the skill is executed.

To add a customized survey, follow the below steps:

  1. Select Capture Satisfaction Survey from Conversation item.
  2. Add the survey question specific to the skill in the Survey Prompt.
  3. In Survey Rating Options section, add the response options. Add option Labels and Synonyms
  4. Add a Validation Message. The message is triggered whenever an invalid response is received for the survey.
  5. Add Post Feedback Message. The message is displayed after the survey response is received.

For more information, refer to /wiki/spaces/DOC/pages/26398392333.

Image Removed

Capture Feedback

Feedback is used to request feedback from the end-user. Add Capture Feedback conversation item to a skill to prompt the user to provide feedback on the skill execution. The Feedback request is specific to the skill and triggered upon execution of the skill. Using Feedback, you can request for 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:

  1. Select Capture Feedback from Conversation item.
  2. Select the type of feedback in Feedback Prompt
    1. For Text type:
      1. Add the feedback question specific to the skill in the Message field.
    2. For Quick Replies:
      1. Add the response questions 
      2. 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.
  3. In Survey Rating Options section, add the response options. Add option Labels and Synonyms
  4. Add a Validation Message. The message is triggered whenever an invalid response is received for the survey.

Image Removed

Info

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.

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 an indicator 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. 

To set the KPI in a skill, do the following:

  1. Add Set KPI to the Conversation flow.
  2. Select the KPI(s) to be updated and the effort (in minutes) saved. You may update the following KPIs:
    1. 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 the Skill. The default value is set to 5 minutes.
    2. 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.
    3. Deflected Support Requests: The KPI indicates that the skill can deflect a support request. Specify the number of minutes that can be saved by the skill as the user request is directly resolved and a support request is avoided

Image Removed

Info
  • 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. 

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.

...


  • 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.


For more information on each Conversation Item, refer to Building Conversation Flow.

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 Image Added icon.

Info
  • 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.

...

Info
titleNote

A skill must be created in Luma before user permissions can be added to it. 

...

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.


Image RemovedImage 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.

...