Building Conversation in Visual Designer

Skill developers use Conversation constructs to build conversations between the user and Luma. Each Construct represents the steps Luma performs to complete a task. The constructs are added in the sequence of expected execution. Using these constructs, you can ask users for information, integrate with a third-party application, show search results, or conditionally branch to a skill to exit the conversation.

The constructs are available on the Visual Designer palette. You can drag and drop the controls on the canvas and link them together to form the skill.

Luma Virtual Agent provides a wide range of Conversation Items that can be used to perform various actions during a conversation. Following are the conversation items available on the Skill Builder:

Let's look at the constructs available in Visual Designer and how these can be used:

Start

The Start block is the entry point of the skill. It indicates the different methods by which the skill can be triggered. Skill developers use this section to define and configure various ways to initiate the skill, providing flexibility in how users interact with Luma.
A user can trigger the skill using the following:

  • User Phrases: User Phrases are a set of phrases used to train Luma’s Natural Language Processing (NLP) engine. The Users Phrases are often referred to as utterances when discussing NLP.

  • Commands: Command is the special phrase to identify and trigger the skill. Commands bypass the NLP component to identify the skill. Based on the command, the associated skill is executed.

On Canvas, the Start step shows the Skill Name and the first user phrase of the skill. You can click on the Skill name to open the Skill Details. For more details, refer to Creating a Skill with Visual Designer | Skill Information

On the Properties panel, you can:

  1. Add User Phrases. By default, two phrases are added by default to the skill based on Skill name and description.

    1. Toggle the switch to Enable User Phrases for the Skill.

    2. Add the user phrases.

    3. You can also tag a word in one of the user phrases and link it to an attribute. To do so, double-click on the word and link to an attribute. If the user phrase is used, the attribute will be automatically filled with the tagged word. For more information, refer to Creating Skill using Classic Designer | Tag Attributes to User Phrases.

  2. Add the command for the skill.

    1. Toggle the switch to enable the command for the Skill.

    2. Add the command.

There can only be one Start in a skill. The construct in not available in the palette and also cannot be deleted from the skill.

Prompts

Prompts are used to fetch and retain information during a conversation between the bot and the user. With Prompt Control, Luma can gather information from users and design the user’s experience. Prompt Control empowers Luma to ask the right questions at the right time.

Following are the prompts available in Visual Designer:

Prompt- Text

Text prompts provide flexibility, allowing users to respond with detailed information. Here you can define the message to be displayed and the attribute to be used to hold and refer to the user’s response.

To add a Text prompt, do the following:

  1. Drag and drop the Text prompt from the palette onto the canvas.

  2. On the properties, change the step name from Prompt to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. Toggle to ‘New Prompt’.

    2. Add the ‘Message’ Luma should ask the user.

    3. Provide a name for the 'attribute’ to save the user’s response.

    4. Select the ‘datatype' type of information expected.

    5. Confirm if the prompt is mandatory. This means the users must provide the information to go ahead with the skill.

    6. Add the default value.

    7. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

    8. To add more details to the attribute, such as NLP extraction method and validations, before saving it, click on the Advanced Configuration under the create button.

    9. Now you can pass global attributes to send in web widget context. This is applicable only for web widget.

  4. You could also use an existing attribute.

    1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

    2. Toggle the switch to Choose existing Prompt.

    3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

    4. You change the details by overriding the attribute.

      1. You could click on the pencil icon to update the message. Once done, click on the green tick to save changes.

      2. Alternatively, click on the attribute name and make the required changes on the attribute override pop-up screen.
        For more details on attribute override, refer to Building Conversation Flow | Attribute Override.

  5. The Text prompt is now ready.

Prompt -Quick Replies

Quick Reply prompts offer a selection to the end user. Using Quick Replies, skill developers can build personalized conversations. Here you can define the message to be displayed, Options to be presented, and attributes to be used to hold and refer to the user’s response.

To add a Quick Reply prompt, do the following:

  1. Drag and drop the Quick Reply prompt from the palette onto the canvas.

  2. On the properties, change the step name from Prompt to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. Toggle to ‘New Prompt’.

    2. Add the ‘Message’ Luma should ask the user.

    3. Two options are added by default. These are presented to the users as quick reply buttons.

    4. Add as many options as required. Click on the tag icon to change the payload, which is the value saved in the attribute when the option is selected. For more information, refer to Build User Prompts.

    5. Provide a name for the 'attribute’ to save the user’s response.

    6. Select the ‘datatype' type of information expected.

    7. Confirm if the prompt is mandatory. This means the users must provide the information to go ahead with the skill.

    8. Add the default value.

    9. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

    10. To add more details to the attribute, such as NLP extraction method and validations, before saving it, click on the Advanced Configuration under the create button.

  4. You could also use an existing attribute.

    1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

    2. Toggle the switch to Choose existing Prompt.

    3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

    4. You change the details by overriding the attribute.

      1. You could click on the pencil icon to update the message and options. Once done, click on the green tick to save changes.

      2. Alternatively, click on the attribute name and make the required changes on the attribute override pop-up screen.
        For more details on attribute override, refer to Building Conversation Flow | Attribute Override.

  5. The Quick Reply prompt is now ready.

Prompt - Cards

Similar to Quick Replies, Cards prompts offer a selection to the end user. Using cards, skill developers can build a series of cards that can be swiped or scrolled horizontally to display different content, such as images, text, buttons, or other interactive elements. Cards are used to present information or options in a visually engaging and easily navigable manner, building interactive experiences.

Prompt-Cards require defining the message to be displayed, the Card to be presented, and attributes to hold and refer to the user’s response.

To add a Prompt-Card, do the following:

  1. Drag and drop the Card prompt from the palette onto the canvas.

  2. On the properties, change the step name to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. Toggle to ‘New Prompt’.

    2. Add the ‘Message’ Luma should ask the user.

    3. A card is added by default. Click on the card to define the card and option to be displayed to the user.

    4. Add as many cards as required. Click on the tag icon to change the payload of the option, which is the value saved in the attribute when the option is selected. For more information, refer to Build User Prompts.

    5. Provide a name for the 'attribute’ to save the user’s response.

    6. Select the ‘datatype' type of information expected.

    7. Confirm if the prompt is mandatory. This means the users must provide the information to go ahead with the skill.

    8. Add the default value.

    9. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

    10. To add more details to the attribute, such as NLP extraction method and validations, before saving it, click on the Advanced Configuration under the create button.

  4. You could also use an existing attribute.

    1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

    2. Toggle the switch to Choose existing Prompt.

    3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

    4. You change the details by overriding the attribute.

      1. You could click on the pencil icon to update the message and options. Once done, click on the green tick to save changes.

      2. Alternatively, click on the attribute name and make the required changes on the attribute override pop-up screen.
        For more details on attribute override, refer to Building Conversation Flow | Attribute Override.

  5. The Card prompt is now ready.

When Using the 'Quick Replies' and 'Card', the selected option payload is assigned to the attribute. Select 'Show Option text as Value' when the value/payload is not human-readable and should not be displayed to the end user. Luma internally maintains the mapping between the Option text and the payload. The option text is displayed to the user on the channel. 

Ensure the option text is unique across all buttons when “Show Option text as Value” is checked.” If the option text is not unique and is the same for all options, the mapping will hold only one entry which is the text mapped to the last option payload value.

Decision Prompt- Quick Reply

Decision Prompts are designed to create dynamic decision paths in a skill. Decision Prompt - Quick reply is a combination of Quick reply prompts and Conditions. The construct guides users through the skill based on their selections. With Decision Prompt, skill developers can design simple paths within your skill, tailoring the conversation flow based on user preferences. From conditional prompts to custom outcomes, the construct can be used to create engaging and intuitive conversations.

To add a Decision Prompt- Quick Reply prompt, do the following:

  1. Drag and drop the Decision Prompt- Quick Reply prompt from the palette onto the canvas.

  2. On the properties, change the step name from Prompt to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. Toggle to ‘New Prompt’.

    2. Add the ‘Message’ Luma should ask the user.

    3. Two options are added by default. These are presented to the users as quick reply buttons.

    4. Add as many options as required.

    5. You can rename the options. The option names are saved as values to the attribute when the option is selected.

    6. Provide a name for the 'attribute’ to save the user’s response.

    7. Select the ‘datatype' type of information expected.

    8. Add the Validation error Message.

    9. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

  4. You could also use an existing attribute.

    1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

    2. Toggle the switch to Choose existing Prompt.

    3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

    4. You change the details by overriding the attribute.

      1. You could click on the pencil icon to update the message and options. Once done, click on the green tick to save changes.

      2. Alternatively, click on the attribute name and make the required changes on the attribute override pop-up screen.
        For more details on attribute override, refer to Building Conversation Flow | Attribute Override.

  5. The Decision Prompt- Quick Reply prompt is now ready.

  6. The options added to the prompt can now be used to build a path in the skill. When the user takes one of the options, the associated path is taken.

  7. You could also add a Default path to the prompt, which is taken when the user does not take any of the provided options and provides any other value. To do so, select the 'Add Default Path'.

Decision Prompt- Card

‘Decision Prompt - Card’ is a combination of Card prompts and Conditions. The construct guides users through the skill based on their selections. With Decision Prompt, skill developers can design simple paths within your skill, tailoring the conversation flow based on user preferences. From conditional prompts to custom outcomes, the construct can be used to create engaging and intuitive conversations.

To add a Decision Prompt- Card prompt, do the following:

  1. Drag and drop the Decision Prompt- Card prompt from the palette onto the canvas.

  2. On the properties, change the step name from Prompt to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. You could create a new prompt by:

      1. Toggle to ‘New Prompt’.

      2. Add the ‘Message’ Luma should ask the user.

      3. Three cards as options are added by default. Click on the card to define the card and options(s) to be displayed to the user.

      4. Add as many cards as required.

      5. You can rename the options. The option names are saved as values to the attribute when the option is selected.

      6. Provide a name for the 'attribute’ to save the user’s response.

      7. Select the ‘datatype' type of information expected.

      8. Add the Validation error Message.

      9. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

    2. You could also use an existing attribute.

      1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

      2. Toggle the switch to Choose existing Prompt.

      3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

      4. Update the card and option details as required.

    3. The Card Decision prompt is now ready.

  4. The options added to the prompt can now be used to build a path in the skill. When the user takes one of the options, the associated path is taken.

  5. You could also add a Default path to the prompt, which is taken when the user does not take any of the provided options and provides any other value. To do so, select the 'Add Default Path'.

Prompt- Image

Image prompts enable the skill developer to use an image in their prompt. Here, you can define the message and image to be displayed and the attribute to be used to hold and refer to the user’s response. Users can respond to the prompt with detailed information that is stored in the attribute. Typically, an Image Prompt comes in handy when you want to supplement textual instructions with a visual aid for users.

To add an Image prompt, do the following:

  1. Drag and drop the Text prompt from the palette onto the canvas.

  2. On the properties, change the step name from Prompt to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. You could create a new prompt by:

    1. Toggle to ‘New Prompt.’

    2. Add the ‘Message’ Luma should ask the user.

    3. Add the Images to be displayed to the user.

      1. Add the Image URL. Ensure that a public URL is added.

      2. Provide tooltip.

    4. Provide a name for the 'attribute’ to save the user’s response.

    5. Select the ‘datatype' type of information expected.

    6. Confirm if the prompt is mandatory. This means the users must provide the information to go ahead with the skill.

    7. Add the default value.

    8. Click on Create to create the attribute. This is optional. If not clicked, the attribute will be created automatically when Skill is saved.

    9. To add more details to the attribute, such as NLP extraction method and validations, before saving it, click on the Advanced Configuration under the create button.

  4. You could also use an existing attribute.

    1. This enables you to add an existing global attribute to the skill and use the prompt added to the attribute.

    2. Toggle the switch to Choose existing Prompt.

    3. Select the attribute. This loads the Message field with the message configured in the selected attribute.

    4. You change the details by overriding the attribute.

      1. You could click on the pencil icon to update the message. Once done, click on the green tick to save changes.

      2. Alternatively, click on the attribute name and make the required changes on the attribute override pop-up screen.
        For more details on attribute override, refer to Building Conversation Flow | Attribute Override.

    5. The prompt is now ready.

Message

In Luma VA, Messages play a vital role in facilitating the flow of information during conversations between the user and the bot. It enables Luma to send messages to the user without waiting for a response. Primarily, Messages are used to provide timely updates or communicate the outcomes of third-party integrations. These messages can be simple text messages, Quick Replies (providing a range of options to drive subsequent actions), or Text with Image. By leveraging Messages, Luma ensures seamless communication and enhances the user experience throughout the conversation.

Following are the Messages available in Visual Designer:

Message- Text

Text Messages allow skill developers to add simple text messages to be displayed to the user. You could add variations of the message to make the conversation more natural. Luma automatically picks one of the messages and displays it to the user.

To add a Text Message, do the following:

  1. Drag and drop the Text Message from the palette onto the canvas.

  2. On the properties, change the step name from Message to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. Add the ‘Message’ to be displayed.

  4. The Text Message is now ready.

  5. Now you can pass global attributes from text message control to send in web widget context. This is applicable only for web widget.

Message-Quick Replies

Quick Reply Message offers a selection to the end user. Using Quick Reply Messages, skill developers can build personalized conversations. Here you can define the message to be displayed, and the Options to be presented, providing a range of subsequent actions that can be taken.

To add a Quick Reply Message, do the following:

  1. Drag and drop the Quick Reply prompt from the palette onto the canvas.

  2. On the properties, change the step name from Message to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. Add the ‘Message’ to be displayed. This is optional.

  4. Add as many options as required. You could add buttons that trigger another skill or conversation using ‘+Options' or open a URL using '+URL’

  5. Click on the tag icon to change the value. This is the action taken when the option is selected. For more information, refer to Building Conversation Flow | Show Message.

  6. Now you can pass global attributes from message quick reply to send in web widget context. This is applicable only for web widget.

  7. The Quick Reply Message is now ready.

Message-Card

Card Message offers interactive and visually appealing experiences for users. The card carousel enables skill developers to display multiple cards simultaneously, allowing users to browse through various options or information in a more intuitive and engaging manner. Here you can define the message to be displayed, and the cards to be presented, providing a range of subsequent actions that can be taken.

To add a Card message, do the following:

  1. Drag and drop the Card prompt from the palette onto the canvas.

  2. On the properties, change the step name from Message to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. Add the ‘Message’ to be displayed. This is optional.

  4. Add as many Cards as required. You could add buttons that trigger another skill or conversation using ‘+Options' or open a URL using '+URL’

  5. Click on the tag icon to change the value. This is the action taken when the option is selected. For more information, refer to Building Conversation Flow | Show Message.

  6. Now you can pass global attributes from message cards to send in web widget context. This is applicable only for web widget.

  7. The Card Message is now ready.

Image- Message

Image Messages allow skill developers to add simple text messages and images to be displayed to the user.

To add an Image Message, do the following:

  1. Drag and drop the Image Message from the palette onto the canvas.

  2. On the properties, change the step name from Message to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. Add the ‘Message’ to be displayed.

  4. Add the Image URL and a Tooltip. Note: This is not a clickable image. The image used to provide additional information along with the text message.

  5. The Text Message is now ready.

Utilities

In Bot Builder, Utilities are additional tools that enhance the skill-building process. These tools are used to build the logic behind the skill, allowing you to create conditional flows, assign attribute values, transform attribute values, and branch to other skills. By utilizing these constructs, a skill developer can design dynamic and responsive experiences for users.

The following are the constructs available in Utilities:

If Else

The If Else construct in Luma VA is similar to the "Add Conditions" feature in Classic Designer. It empowers skill developers to construct rule-based conditional flows. It dynamically guides users along specific paths within the skill, tailoring the experience based on their inputs. This feature proves particularly valuable when users make generic requests and you wish to steer them towards more specific requests or skills through the course of the conversation flow. With the If Else construct, you gain the flexibility to create customized and personalized interactions, enhancing the overall user experience.

To add an If-Else construct, follow the below steps:

  1. Drag and drop the If-Else construct from the palette onto the canvas.

  2. On the properties, change the step name from If Else to a user-friendly name to identify and define what the step does. This improves the readability of the skill.

  3. Each Rule added on the properties panel appears as a new path in the canvas. The Default path is the fallback path that is taken when none of the Rules are fulfilled or evaluated as ‘true’.

  4. The next step is to define the rules.

  5. On the properties panel, click on the Rule to configure the conditions that form the rule.

    1. Add/Change the Rule Name. Use a user-friendly name.

    2. Now add one or more conditions that should be fulfilled for the skill to take the corresponding path.

    3. You could configure the rule to fulfill ALL, ANY one or CUSTOME (some) of the conditions.

  6. Repeat step 5 to add as many Rules or as many conditional paths as required on the Canvas.

  7. Once the rules are ready, you can add steps to each rule. The defined path is taken when the rule is evaluated as true.

The count 1,2,3… on the links of each Rule indicates the sequence in which the rules are evaluated. Else determines the fallback path that is taken when none of the rule is true.

Set/Transformation Attributes

Set/Transform Attribute enables the skill developers to manipulate and store information obtained from users or integration calls. These constructs enable developers to convert values and use them in various contexts, such as executing tasks through integrations, branching to other skills using Rulesets, or providing users with informative messages. With Set/Transform Attributes, developers can enhance the functionality and customization of their skills by effectively utilizing and transforming data.

Here you can:

  • Set Attribute - Set the existing global or custom attributes with the values received from Integration calls. You could also create local attributes and use those tp retain information that can be used later in the skill.

  • Transform Attribute - Transform Attribute is 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 add a Set/Transformation attribute, follow the below steps:

  1. Drag and drop the Set/Transformation attribute construct from the palette onto the canvas.

  2. On the properties panel, you can now Set Attributes or Transform Attributes.

  3. To Set Attribute:

    1. Click on ‘+Set attribute’.

    2. Now, on the Set Attribute control, configure the details.

    3. Select the attribute to be set.

      1. Select the scope of the attribute, i.e., Global, Local, or User Custom.

      2. Select the Attribute from the dropdown.

      3. Now add the Expression to indicate what type of value is to be assigned to the attribute. You could use a Value, JSON Path, indirect JSON, XPath, Indirect Xpath or Script to the set the value.

      4. Add an expression that holds to assign value.

         

      5. When using a script, add the script that returns a value to be set to the attribute. Use the following syntax to use existing attributes in the script:

        • contextAttributes.getAttribute("@{global.global1}"),

        • contextAttributes.getAttribute("@{local.local1}")

  4. To Transform value:

    1. Click on ‘+Transform’.

    2. Now, on the Transform Attribute control, configure the details.

    3. Select the attribute to be set after transforming a value.

      1. Select the scope of the attribute, i.e., Global, Local, or User Custom.

      2. Select the Attribute from the dropdown.

      3. Now select the Transformation function.

      4. Select the Function Mode.

      5. Based on the Function mode, provide information to the input parameters. For more details on how to use the Transformation function, refer to Using Transformation Function.

  5. You can add as many ‘Set and transform’ attributes as required. The functions are executed in the sequence in which these are added.

Clear Attribute

The clear attribute construct is used to clear the value available in an attribute. Skill developers can either clear specific attributes or clear all attributes. This flexibility ensures a clean slate for tailored user interactions and streamlined skill behavior. The controls allows you to clear Global as well as Local attributes used in the skill.

To Clear an attribute, follow the below steps:

  1. Drag and drop the Clear attribute construct from the palette onto the canvas.

  2. On the properties panel, you may clear Global attributes or Local attributes or both:

    1. In the Global Attribute section, you may:

      1. Select None if you do not wish to clear any Global attributes.

      2. Select the ‘Clear Specific Global Attributes’ option.

        1. In the Attribute dropdown, select the attributes to be cleared.

      3. Select the ‘Clear All Global Attributes’ option.

        1. In the Attribute dropdown, select the attributes that should NOT be cleared and data should be retained.

           

    2. In the Local Attribute section, you may:

      1. Select None if you do not wish to clear any Local attributes.

      2. Select the ‘Clear Specific Local Attributes’ option.

        1. In the Attribute dropdown, type the name of the attributes to be cleared.

      3. Select the ‘Clear All Local Attributes’ option.

        1. In the Attribute dropdown, type the name of the attribute that should NOT be cleared, and data should be retained.

Set KPIs

In Luma VA, you can configure skills to address end-user problems and divert support requests, either through automated services or using existing knowledge resources. The KPIs within Luma serve as measures of the value that skills bring to the organization. When crafting skills, developers use 'Set KPI' conversation construct to compute Luma KPIs as the skill is executed. Here, you can select the KPI metrics and parameters relevant to the skill. Depending on the setup and the conversation, KPIs are computed.

To use Set KPI in your skill follow the below steps:

Drag and drop "Set KPI" on the canvas.

On the properties panel, select the KPIs to be updated and the effort (in minutes) saved.

  1. You may update the following KPIs:

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

    2. Resolved with Knowledge: The KPI is linked to ‘Deflected Support Requests’. Mark 'Resolved with Knowledge' if a Knowledge Article deflects the ticket.

    3. Resolved with External Information: The KPI is linked to ‘Deflected Support Requests.’ Mark 'Resolved with External Information' if the ticket is deflected using the information generated from external sources like the Internet or generative AI.

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

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

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

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

    8. Knowledge Feedback: The Luma Knowledge KPI is used to record feedback on a Knowledge Article or a FAQ presented to the end-user. Select the type of article , and provide the Artifact ID and Feedback (Helpful/Not Helpful).

    9. Skill Gap: This is a Luma VA Skill kpi. If the users response is negative during the conversation, using this kpi one can identify the cases where skill training or new skills are required.

Capture Satisfaction Survey

Capture Satisfaction Survey enables skill developers to add a custom Satisfaction survey to their skill. Satisfaction Surveys are used to collect Feedback from the end user. Use the control to 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. 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:

  1. Drag and drop the Capture Satisfaction Survey on the canvas.

  2. On the canvas, add the Survey Prompt specific to the skill.

  3. Next, add the response options.

    1. Select the option.

    2. Update the Labels and Synonyms as required. 

  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 Customer Feedback and Satisfaction Survey.

Capture Feedback

Capture Feedback enables the skill developer to capture 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. This Feedback is specific to the skill and triggered upon completion of skill execution. Use the Feedback block to request detailed feedback from the end user or provide specific options for Text feedback, or trigger other skills automatically based on the user's feedback.

To add Feedback, follow the below steps:

  1. Drag and drop Capture Feedback on the canvas.

  2. On the properties panel, select the type of feedback in the 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. Click on the tag icon on the option and add the required action or skill in the ‘Value.’

  3. Add a Post Feedback Message. The message is triggered once the response to the survey is received.

Script

The Script block empowers skill developers to add custom scripts to their skills, enabling handling complex scenarios such as performing calculations, data manipulations, or implementing other custom logic. It provides flexibility and capability of your skills by allowing you to inject JavaScript directly into your conversation flow. Using scripts, you can perform complex processing and set or clear context attributes.

To use a script in the conversation, follow the below steps:

  1. Drag and drop the Script on the canvas.

  2. On the properties panel, add the script to the script block.

     

  3. Click on the maximize button on the screen to view the script pop-up.

End

The 'End' block signifies the conclusion of a flow within the skill. When the skill execution reaches the End block, it signals the end of the skill's execution, triggering the Global Survey based on the specified configuration. While the End block is not mandatory, reaching a control without a subsequent node also marks the end of the skill execution and automatically accounts for the Survey, following the global configuration. To disable the survey for a specific path in the skill, you can incorporate the End Block accordingly.

To add an End, follow the below steps:

  1. Drag and drop the End block from the palette onto the canvas.

  2. On the properties panel, select ‘Do not trigger Global Survey’ to ignore triggering the Survey to the skill.

Integrations

In Bot Builder, Integrations enable skill to integrate with 3rd party processes and systems. These tools are used to connect the skill to another system to execute a task. The following are the constructs available in Utilities:

Integration

The 'Integration' feature provides a seamless connection between Luma VA and external systems. Using integrations, Luma VA fulfills user requests by performing specific actions on the integrated system. By incorporating this functionality into the conversation flow, you can trigger integration calls that interact with external applications to execute desired actions or retrieve relevant information. It enhances the capabilities of Luma VA, allowing for dynamic and efficient interactions with external systems to deliver a comprehensive and personalized user experience. For more information on configuring the integration, refer to Integrations.

To add an Integration to your skill, follow the below steps:

  1. Drag and drop the Integration construct from the palette onto the canvas.

  2. On the properties panel, select integration to be added.

    1. Select the Connected App in Integrate with Connected App.

    2. Select Operation to execute

    3. Select the Instance or environment where the operation should be executed.

  3. In order to make specific changes to the operation based on the skill and user experience required for the skill, you may override the operation.

  4. Click on the operation name to open the override screen and make the required changes.

Invoke Automation Workflow

Invoke Automation Workflow executes an Automation Workflow Service as part of your 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 the end-user executes a skill related to it. For more information, refer to Automation in Luma

To add an Automation workflow to your skill, follow the below steps:

  1. Drag and drop the Invoke Automation Workflow construct from the palette onto the canvas.

  2. On the properties panel, select the workflow to be executed as part of the skill.

  3. Provide values to the input parameters required for workflow execution.

Skills

Skills tools empower the skill developers to enhance user interactions within a conversation with custom skill searches and then seamlessly present the results using Display controls. This flexibility enables skill developers to craft tailored user experiences, dynamically responding to user actions and inputs.

The following are the constructs available under 'Skill':

Search Skill

Utilize the ‘Search Skill' to find relevant services at any point during a conversation using search phrases. ‘Search Skill’ looks for the skills that match the provided phrase. The identified results can be accessed using the 'matchedSkill’ Context variables. For more information, refer to Use Variables in Skills.

Follow the below steps to add Search Skills to your skill:

  1. Drag and drop the Search Skills construct from the palette onto the canvas.

  2. On the properties panel, add the search phrase.

  3. By default, the initial user request is added as the user phrase.

  4. Select ‘Exclude Previously Presented Skills’ to exclude skills already presented in the conversation to avoid duplicates and streamline the result presentation. This ensures duplicate skills are not suggested when the system tries to search for matching skills within the same conversation.

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:

  1. Add Display Skill to the Conversation flow.

  2. On the properties panel, you can customize the messages to be displayed with the list of Skills.

    1. The messages and the definition of the card with skill details are part of the Presentation Template. For more details refer to Presentation Templates.

    2. You could use the default configuration or click on Customise to edit the messages.

    3. The customized messages are local to the skill; any changes to the presentation template do not update the change.

    4. Click on Discard to cancel any changes made to the presentation messages.

Trigger Skill

Trigger Skill construct is used for dynamic branching in user conversation. With this construct, you can redirect users to another skill based on specific conditions or user actions. The Trigger Skill construct empowers the skill developer to create intricate decision paths, providing personalized pathways for users based on their unique needs. This construct indicates the end of the current skill and branches the conversation to another skill.

To add Trigger Skill, follow the below steps:

  1. Drag and drop the Trigger Skill construct from the palette onto the canvas.

  2. On the properties panel, select the skill to branch to.

  3. Select from the skill list.

  4. Click on the view button to view the details of the branching skill in a new tab.

Suggest Skills

The Suggest Skills conversation step is used when you want to guide the end-user to relevant skills after completing the current skill. 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. The display format can be Cards or Quick replies.

To add Suggest Skills to your skill, follow the below steps:

  1. Drag and drop Suggest Skills on the canvas

  2. On the properties panel, select Configuring the skills to be suggested.

  3. To configure a custom list of skills:

    1. Select Custom.

    2. Choose the desired Display Format, Cards, or Quick Replies.

    3. Type in the Message you wish the user to view.

    4. Under Select Skill, type in the skill name you want to display as a suggested skill.

    5. A minimum of one skill is to be selected.

  4. To reuse an existing configuration:

    1. Select Suggest Skills.

    2. Select the Suggest Skill Configuration to be displayed to the user. For more information, refer to Customize System Skills behavior.

    3. Click on the pop-out icon to view the Suggest Skill configuration in a new tab.

Execute Subflow

Execute Subflow construct is used for dynamic execute a subflow as part of a conversation. With this construct, you can execute a subflow based on specific conditions or user actions. The construct empowers the skill developer to execute actions based on user needs and continue with user conversation (skill). This construct branches to a sub-flow, executes the steps, and returns to the source skill to execute the next steps.

To add Execute Subflow, follow the below steps:

  1. Drag and drop the construct from the palette onto the canvas.

  2. On the properties panel, select the subflow to execute.

  3. Select from the subflow list.

  4. Click on the view button to view the details of the sub-flow in a new tab.

Knowledge

Knowledge tools empower the skill developers to enhance user interactions within a conversation with custom Knowledge searches and then seamlessly present the results using Display controls. This flexibility enables skill developers to craft tailored user experiences, dynamically responding to user actions and inputs.

The following are the constructs available under 'Knowledge':

Search Knowledge

Utilize the 'Search Knowledge' to search Knowledge Articles within your linked Luma Knowledge Tenant. You may add 'Search Knowledge' into your skill to find relevant articles during execution using an article's ID or search phrases. Search can be refined by adding keyphrases or specifying the search domain."

Search Knowledge construct eliminates configuring 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 Context variables can access the Knowledge articles in the results. For more information, refer to Use Variables in Skills.

Follow the below steps to add Search Knowledge to your skill:

  1. Drag and drop the Search Knowledge construct from the palette onto the canvas.

  2. On the properties panel, select the search methods:

    1. Metadata - To search for Knowledge Articles using a phrase. You could also supply additional context for the search by providing metadata,

    2. Article ID - To search for a specific Knowledge article using a Knowledge Article ID.

  3. Now, based on the selected search method, provide the search filters:

    1. For the ‘Metadata’ Method, you may provide the following:

      1. Search Query: Provide the search phrase to search for Knowledge. The user’s initial request (available in context variable @{conv.skillPhrase}) is assigned to the field by default. You could set the field to a static value or another attribute with a text value.

      2. 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. For example, HR, IT, Network, etc. These domains must be available in the Knowledge graph of your tenant

      3. Topics: Information on products, services, projects, or sub-teams related to the article. For example, Microsoft, Asset Management, etc.

  4. Select ‘Exclude Previously Presented Articles’ to exclude articles already presented in the conversation to avoid duplicates and streamline the result presentation. This ensures duplicate articles are not displayed when the system tries to search for Knowledge within the same conversation.

  5. Include All Matched Articles - select this option to Include matching articles in the search results along with the precise answer.

Display Knowledge

Use 'Display Knowledge' to present Knowledge articles to the end-user during your skill's conversation flow. This construct automatically uses the Knowledge Context variables (updated by initial search or Search Knowledge construct) for article display and can even navigate the user through identified Topics and sub topics when ambiguity arises in the results.

With 'Display Knowledge,' you can customize when Knowledge articles, whether retrieved from Luma's initial search or custom queries using 'Search Knowledge,' should be presented. Additionally, you can define the number of articles and the messages displayed to the user along with the Knowledge content.

Follow the below steps to add ‘Display Knowledge’ to your Skill:

  1. Add Display Knowledge to the Conversation flow.

  2. On the Properties panel, Select 'Limit number of Artifacts', if you wish to restrict the number of articles to be displayed. Next, add the 'Maximum Artifacts to be displayed'.

  3. You can now customize the messages to be displayed with the Topic Navigation and the list of Knowledge Articles.

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

    2. You could use the default configuration or click on Customise to edit the messages.

    3. The customized messages are local to the skill; any changes to the presentation template do not update the change.

    4. Click on Discard to cancel any changes made to the presentation messages.

Display Precise Answer

"Display Precise Answer" is designed to swiftly present users with accurate responses to their queries, eliminating the need to read through entire knowledge articles. A 'Precise Answer' is provided when Luma confidently resolves the user's query, ensuring an efficient and user-friendly experience. The construct automatically uses the Knowledge Context variables (updated by initial search or Search Knowledge construct) for information display.

Follow the below steps to add ‘Display Precise Answer’ to your Skill:

  1. Add Display Precise Answer to the Conversation flow.

  2. On the properties panel, select the checkbox 'Select View Articles…' to provide an option to view the article along with the precise answer.

  3. Provide the label for the article view option.

Create Artifact

Use the Create Artifact step to generate a knowledge article based on the information extracted during an earlier conversation step, enhancing the accessibility of relevant information. The Create Artifact conversation step allows the skill developer to create a Knowledge Artifact in the associated Luma Knowledge Tenant. You may add 'Create Artifact' into your skill when you wish to save some knowledge to be available for later access. The conversation step adds an article in Luma Knowledge so that is available to users in later searches.

Create Artifact construct eliminates configuring integration with the Luma Knowledge tenant. Luma VA and Luma Knowledge tenants are automatically associated with each other. Luma can directly connect to the associated tenant and create the artifact.

Follow the below steps to add ‘Create artifact’ to your Skill:

  1. Drag and drop the ‘Create artifact’ construct on the canvas.

  2. On the properties panel, provide an Artifact Name.

  3. Next, add the text that should be used to create the artifact. You can refer to the value saved in an attribute.

  4. Select the Domain under which the artifact should be created.

Catalog

Catalog tools empower the skill developers to enhance user interactions within a conversation with custom Catalog searches and then seamlessly present the results using Display controls. This flexibility enables skill developers to craft tailored user experiences, dynamically responding to user actions and inputs.

The following are the constructs available under 'Catalog':

Search Catalog

'Search Catalog' searches Service Catalogs within your Luma Knowledge Tenant. Add 'Search Catalog' into your skill to seamlessly search for catalogs during its execution, using a search query or a specific catalog ID. This eliminates the necessity of configuring integrations with the Luma Knowledge tenant, enabling Luma to access catalogs within the associated Luma Knowledge system directly. 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:

  1. Drag and drop the Search Knowledge construct from the palette onto the canvas.

  2. On the properties panel, select the search methods:

    1. Search Phrase or Keyword - To search for Service Catalogs using a phrase. You could also supply additional context for the search by providing keywords,

    2. Catalog ID - To search for specific Catalogs using a Catalog ID.

  3. Now, based on the selected search method, provide the search filters:

    1. For the ‘Search Phrase or Keyword’ Method, you may provide the following:

      1. Search Phrases: Provide the search phrase to search for Catalog. The user’s initial request (available in context variable @{conv.skillPhrase}) is assigned to the field by default. You could set the field to a static value or another attribute with a text value.

      2. Keyword: Any special code or identifier associated with the catalog can help Luma VA search the Service Catalog.

      3. Categories: Categories are used to organize catalogs and usually refer to the type of systems or requests the catalog is related to. These categories must be available in the Category graph of your tenant.

  4. Select ‘Exclude Previously Presented Catalog’ to exclude catalogs already presented in the conversation to avoid duplicates and streamline the result presentation. This ensures duplicate catalogs are not displayed when the user retries sear

Display Catalog

Use 'Display Catalog' to present Service Catalogs to the end-user during your skill's conversation flow. This construct automatically uses the Catalog Context variables (updated by initial search or Search Catalog construct) for catalog display and can even navigate the user through identified categories and Subcategories when ambiguity arises in the results.

With 'Display Catalogs,' you can customize when Catalogs, whether retrieved from Luma's initial search or custom queries using 'Search Catalog,' should be presented. Additionally, you can define the number of catalogs and the messages displayed to the user along with the search results.

Follow the below steps to add ‘Display Catalog’ to your Skill:

  1. Add Display Catalog to the Conversation flow.

  2. On the Properties panel, Select 'Limit number of Catalogs', if you wish to restrict the number of articles to be displayed. Next, add the 'Maximum Catalogs to be displayed'.

  3. Next, customize the messages to be displayed with the Category Navigation and the list of Catalogs.

    1. The messages and the definition of the card with catalog details are part of the Presentation Template. For more details refer to Presentation Templates.

    2. You could use the default configuration or click on Customise to edit the messages.

    3. The customized messages are local to the skill; any changes to the presentation template do not update the change.

    4. Click on Discard to cancel any changes made to the presentation messages.

Generative AI

Harnessing the power of Generative AI, skill developers can create dynamic user interactions, creating more contextually aware and conversational skills.

AI Task

The conversation step "AI task" can be used to execute a Generative AI task as part of a skill. Using the step, a skill developer can add Generative AI capabilities to their skill. They can select from Existing tasks such as Summarization or create ad hoc tasks as required in the skill. The construct removes the need to create a 3rd party integration to connect to LLM, skill developers can use Luma AI services to execute generative AI tasks and build context-rich skills.

Follow the below steps to add Generative Task to your skill:

  1. Drag and drop the 'AI Task' conversation step on the skill.

  2. On the properties panel, select Existing to execute the OOTB tasks or Adhoc to add a new request for Generative AI.

  3. For an Existing Task:

    1. Select the Task Category.

    2. Select Sub Category.

    3. Select the required Task.
      Note: Only the prompt which have Visible in AI Prompt checked will be available here.

  4. Now click on Test Response to verify if the selected task generates the information required in the skill.

  5. The AI Task Response Validation screen is used to verify the AI task and configurations. Here, you can validate the response of the AI task by providing values to the input parameters of the selected task.

    1. Task Category, Subcategory, and Task section to select the task. The section is populated based on the selection in the Properties panel. You may test and change the task as required.

    2. The Task Description section provides information on the task being executed.

    3. Map Task Input Parameters lists all the input parameters required for the task. You can assign a value or use an attribute to refer to the value available in the attribute.

    4. Now click on Test to verify the response of the AI Task.

    5. When an attribute is used while mapping an input parameter, Assign Test values for each attribute. These values are used to test the task. Add the test values and click Test.

    6. The system executes the task using the test values.

  6. For an Adhoc task, select 'Adhoc Task' in the properties panel.

  7. Add the task details to be executed in the Task Description field. This is a free text field where you can describe the task to be executed using Generative AI.

  8. Now, Click on Test Response.

  9. On the AI Task Response Validation screen, validate the response of the AI task.

  10. Task Description indicates the action to be performed in the step.

  11. Click on Test and validate the response in Test Response. Refine the Task description to ensure it generates the information as required.

Categorize User Intent

Categorize User Intent is an AI step, used to identify the user's intention and execute suitable actions based on recognized domains and categories, ensuring a smooth and efficient conversational experience.

This process includes the following steps:

  1. Recognition and Categorization of Domains:

    1. Whitelisted Domain: A domain permitted for use, predefined within the whitelist.

    2. Blacklisted Domain: A domain prohibited for use, predefined within the blacklist.

    3. Unclassified or Greylisted Domain: When the domain isn't listed as either whitelisted or blacklisted.
      Refer to Business Domain Management for more details.

  2. Categorization of Requests within Permitted Domains:

    1. Category: Information Request

      1. Type: Seeking Knowledge when the request is for Knowledge.

      2. Type: Seeking Data when the request is to access ticket data or a data point.

    2. Category: Service Request

      1. Type: Problem when the user reports an issue.

      2. Type: Change when the user requests a change or replacement

      3. Type: General when the user requests a general service request.

    3. Category: Smalltalk -When the requested phrase of not a request but a general phrase.

    4. Category: ToBeDetermined - When the users cannot be categorized.

  3. Taking one of the possible Output Paths based on Categories Identified by Luma:

    1. Data Request: Category is Information Request, and Type is Seeking Data.

    2. Problem: Category is Service Request, and Type is Problem.

    3. Ambiguous: The category is ToBeDetermined or the phrase's meaning is unclear.

    4. Disabled: Triggered when Generative AI is disabled.

    5. Failure: Triggered in case of system failure.

    6. Default: This applies to all other cases not explicitly mentioned in the paths above.

To use the step, follow the below steps:

  1. Drag and drop the 'Categorize User Intent' conversation step on the skill.

  2. On the properties panel, add the phrase to be categorized. By default, the user’s initial search is sent to the step. You can change this to any phrase during the skill.

AI NLQ

AI NLQ (Natural Language Query) is an AI step, that analyzes the user's input to generate a filter query, which can fetch relevant tickets from the underlying ITSM system based on the user's intention. The step uses Natural Language programming to determine if the user's request pertains to tickets rather than general data inquiries and generates the filter criteria to get tickets.

Based on the phrase, NLQ does the following:

  1. Classifies if the request pertains to tickets. Based on this classification, the system takes one of the following output paths.

    1. Query when a ticket type is identified, and the system can generate a filter query.

    2. No Query when a ticket type is identified, but the system cannot generate a filter query.

    3. Unknown when the system identifies that the request is NOT related to tickets.

    4. Failure if a system failure occurs.

    5. Disabled if Generative AI is disabled for the tenant.

  2. If the requests are based on Tickets (Query Path), the step identifies the following:

    1. Type: The Ticket type the user is talking about. Change gear tickets are classified as Service Request, Incident Request, Problem Request, Change Request, or Unknown.

    2. Implicit Reference Used: Set to True if the system finds an ambiguity in identifying the ticket type. In this case, the default ticket type is used as the ticket Type.

    3. Query: The filter query string for the ITSM ticket GET call, based on the identified Type

To use the step, follow the below steps:

  1. Drag and drop the 'AI NLQ' conversation step on the skill.

     

  2. On the properties panel,

    1. Select The Target Applications.

    2. Add the search phrase.

    3. Provide the default ticket type to be used to ‘Interpret Term Ticket As’

    4. By default, the user-specific parameters are passed based on the Target Application.

© 2019 Serviceaide 1-650-206-8988 http://www.serviceaide.com info@serviceaide.com