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 10 Current »

Problem Statement: Customers with Luma-enabled public KIOSKs encounter multiple user logins in a given day with the kiosk being the same. So every time a new user comes to the KIOSK, even if we clear the user context every time the widget gets closed, there seems to be no default way to verify the user first before we actually get into the typical user registration process. This is a problem when luma is implemented in public channels like a kiosk where no single user is registered to a channel.

Opportunity: Provide an additional verification(OTP/Email) method from the bot so the user could converse with the bot from the public KIOSKs.

Approach: Call the custom user registration skill that starts the verification process like OTP with mobile number or email code verification, and then takes the user to the user registration skill.

Let's understand how to build a skill for Registering a user in Luma Virtual Agent.

The following are the steps to configure the skill:

Step 1: Define Attribute

  1. Create an attribute Username to store the username.

    1. On Skill Builder--> Attribute tab, click on Create Attribute.

    2. Add attribute details such as Name and Data type.

    3. Click Save.

  2. Follow the above steps and create the below attributes:

    1. Phonenumber to store the phone number received from the Luma API.

    2. ContactId to store user’s contact id received from the Luma API.

    3. OTP_Send to store a Random OTP number generated by the System.

    4. OTP_Check to store the OTP number entered by the user.

Step 2: Create an Integration

  1. Define Integration to Burst SMS with the “Send SMS to a number” operation.

    1. On the tenant menu, click on Integration.

    2. Create an Application with the integration type as REST.

    3. Add an instance to the SA Instance environment to send SMS messages.

    4. Configure the ‘Send SMS to a number’ Operation.

    5. Fetch the access token received as a response from the web service and save it in a local attribute Token.

  2. Follow the above steps and create the following integrations:

    1. ‘GetContact’ to get the registered mobile number from the user’s Luma profile using Luma API.

      1. Fetch the Count of Matching users from Luma VA and save it in a local attribute Userlistsize.

      2. Add the following Error Handling rules:

        1. If a matching user is found, i.e. Userlistsize is 1,

          1. Fetch the Mobile number received as a response from the web service and save it in the attribute Phonenumber.

          2. Fetch the user’s Contact ID in Luma received as a response from the web service and save it in the attribute ContactId.

        2. If no matching user or more than one matching user is found, i.e. Userlistsize is 0 or more than 1, set an error message and exit the skill

    2. ‘MapUserToChannelAccount’ to associate the user (contact id in Luma) to the channel account.

      1. Pass the Channel account ID and Contact ID to API as Outbound Payload.

      2. Fetch the Status received as a response from the web service and save it in the local attribute AuthenticationStatus.

      3. Define the bot behavior and response as Success Handling rule:

        1. If the user is successfully mapped and AuthenticationStatus is ‘Success’, continue executing the skill. Add Success Message such as “User Registered successfully.“ and set Execute to Continue.

        2. If the AuthenticationStatus is not ‘Success’, add a failure message and set Execute to Exit.

Step 3: Build a Skill

  1. On Skill Builder--> Create Skill tab, enter Skill details such as Skill Name, Category, Description, and KPI Metrics.

  2. Under Invocation type, add User Phrases such as ‘Register in Luma,’ ‘Register user in Luma.’

  3. Under Conversation flow,

    1. Add attribute Username to collect Luma VA username from the end-user.

    2. Add the Integration operation GetContact to fetch the user's registered mobile number from the Luma profile and store it in Phonenumber.

    3. Add a Ruleset to verify the user’s phone number. Configure the following rules.

      1. If the user’s Phonenumber is found, continue executing the skill. Set Execute to Continue.

      2. If the user’s Phonenumber is not found, i.e., is NULL or empty, prompt the user that the mobile number is not available, and exit the skill. Set Execute to Exit.

    4. Add Set Attribute-->transform and use Transformation Function- Random to generate a Random OTP number and store it in the attribute OTP_Send.

    5. Add the Integration operation Send SMS to a number to send the OTP generated in OTP_Send to the user's registered mobile number, available in Phonenumber.

    6. Add attribute OTP_Check to prompt the user to provide the OTP received on the registered phone number.

    7. Add a Ruleset to validate the OTP and authenticate the user. Configure the following rules.

      1. If OTP provided by the user ( in OTP_Check) is the same as the OTP send to the user (in OTP_Send), set Execute to Continue to execute the next step.

      2. If OTP provided by the user ( in OTP_Check) and the OTP send to the user (in OTP_Send) do not match, prompt the user that the provided OTP is invalid and exit the skill. Set Execute to Exit.

    8. Add the Integration operation MapUserToChannelAccount to associate the user's contact id to the channel account.

  4. Click Save to finish building the skill.

  5. The next step is to add permission to the skill. Click on Permission and the Users or Groups who should be able to execute the Skill.

  6. Run Build and Publish to make the skill available in Virtual Agent.

  7. Once the skill is Published, Go to the Test Widget to test the skill. Click on Debug Logs and execute the skill to view the runtime Skill execution logs.

Your skill is now ready to use.

Step 4: Add Skill to Suggested Skill List for Anonymous Users

  1. Under Bot Menu → Configurations page. Click on the Suggested Skills tab.

  2. Click on the Welcome/What can you do tab.

  3. Configure Bot response when there is no skill permitted and Bot Response when there are no skills to suggest.

  4. Select Anonymous in the Group field.

  5. Customize Bot responses that the user receives before the skill recommendations are presented. Example: “I can help you with the following skills.”

  6. Select the Display Order to Custom to customize the list of the skills to be displayed to the end-user.

  7. Select Display Type and Display Count

  8. Select the Custom User Registration Skill and other skills one by one in the required sequence.

  9. Click on Save. You may also refer to use case Permission models - display skills based on the role of User

This list of Skills will be displayed as skill recommendations when a New user or Anonymous user accesses Luma Virtual Agent.

Download a sample skill definition. Note that the integration details should be replaced with your organization-specific instance details.

Additional Resources

Visit the below Wiki Documentation for more information on:

  1. Creating an Attribute on Create Global Attributes

  2. Configure a 3rd party Web service integration on REST Integrations

  3. Creating and Managing Skills is at Create Skills

  4. Using Transformation Functions: Random is at Transformation Function Random

  5. Using local attribute in skills on Use Variables in Skills

  6. Using Ruleset on Using Rule Sets

  7. User Registration Skill on Configure System Skills

  8. Publishing Skill on Build and Publish

  9. Understanding Conversation logs on Conversation History.

  10. Provide permissions to users or groups at Permission

  11. Test your Skill on Test your Bot

  12. Debugging skill on Debug Skills

  13. Configure Suggested Skills on Customize System Skills behavior

  14. Refer Use case Permission models - display skills based on the role of User

  • No labels