Use Challenge Response Questions to Identify a known Customer

Use Challenge Response Questions to Identify a known Customer

Business scenario

In a B2C scenario you want to unique identify your counterpart over phone, but even if the phone number is known, you still didn’t verify your counterpart identity. A common approach is to use at least three challenge response question like:

  • What is your name?
  • What is your birth date?
  • Where are you living?
  • Where are you living?
  • What was the last order amount you purchased?
  • What was the last account balance amount?

Above questions let you verify your counterpart’s identity against data you’ve within your Dynamics 365 Customer Engagement. The challenge response question approach used over the phone channel can also being used on the chat channel too. Either within a chat with a Customer Agent or with a Virtual Agent.

In this article, learn how to use Power Virtual Agent and Power Automate to unique identify your counterpart by verifying his answers against data you’ve within your Dynamics 365 by following the step by step guide below.

Part 1 – Create Virtual Agent Dialog for «Check if contact is known»
  1. Create new topic called «Check if contact is known»
  2. Add Trigger phrases «Please verify my contact details», …
  3. Open «Go to authoring canvas»
  4. Now add a «Call an action» and choose «Create a flow». This will create a Power Automate flow template interacting with your Power Virtual Agent dialog. Power Virtual Agent Now add a «Call an action» and choose «Create a flow». This will create a Power Automate flow template interacting with your Power Virtual Agent dialog.

  5. Add Message «You are already a customer or partner …» below your trigger phrases
  6. Add Question «What is your Name?», Identify=Person, Safe response as=fullName
  7. Add Question «What is your Email address?», Identify=Email, Safe response as=emailAddress
  8. Add Question «What your birth date?», Identify=Date and time, Safe response as=birthdate
  9. Add Question «What your birth date?», Identify=Date and time, Safe response as=birthdate Power Virtual Agent Add Question «What your birth date?», Identify=Date and time, Safe response as=birthdate

  10. Add Message «Thanks {x}fullName for answering …» as the closing for the challenge response part. To make it more personalised you can add the fullName variable.
  11. Now add a «Call an action» and choose «Create a flow». This will create a Power Automate flow template interacting with your Power Virtual Agent dialog.
  12. Now add a «Call an action» and choose «Create a flow». This will create a Power Automate flow template interacting with your Power Virtual Agent dialog. Power Virtual Agent Now add a «Call an action» and choose «Create a flow». This will create a Power Automate flow template interacting with your Power Virtual Agent dialog.

  13. For details please check the «Add actions to a bot using Power Automate» documentation
  14. Save the Power Virtual agent topic and switch to the Power Automate tab with the new created flow template.
Part 2 – Create Power Automate flow to «Check if contact is known»
  1. In the Power Automate flow template expand the «Power Virtual Agents» section
  2. Choose «Add an input» and add the three variables fullName, emailAddress and birthDate that you want to pass from your virtual agent dialog to the flow
  3. Add four «Initialize variable» steps below to initialize the variables we will use within our flow: contactIsVerified equal false as boolean, contactFullName equal fullName as string from parameter, contactEmailAddress equal emailAddress as string from parameter, contactBirthDate equal birthdate as string from parameter
  4. Add «List records» from Common Data Services and set: Entity Name = Contacts, Filter Query = emailaddress1 eq ‘emailAddress’ from dynamics content, Top Count = 1 as we just want to get the first contact record, Add «Apply to each» control.
  5. Add «Get record» from Common Data Services, Entity Name=Contacts, Item identifier=Contact from dynamics content containing the GUID of the contact record.
  6. Add «Condition» action and name it «Check emailAddress»
  7. Set «Condition» action Email is equal to contactEmailAddress
  8. Add «Set variable» action to «If yes» condition and set contactIsVerified = true, Add two additional «Set variable» action to map Contact detail to contactFullName and contactBirthDate.
  9. Open «Return value(s) to Power Virtual Agents» action and add four return parameters
  10. Open «Return value(s) to Power Virtual Agents» action and add four return parameters Power Virtual Agent Open «Return value(s) to Power Virtual Agents» action and add four return parameters

  11. Once we are happy with the Flow, make sure to give the Flow, triggers and actions meaningful names and leave comments where necessary!
  12. Save the flow and return to the Power Virtual Agent topic canvas
Part 3 – Catch response from Power Automate and response to the customer
  1. Map in the «Power Automate Action» the input and output parameters to the used variables
  2. Save the topic and use the «Topic checker» to verify it
  3. Add «Condition» for «contactIsVerified» variable to is equal to False.
  4. Add «Message» for positive response
  5. Add «Message» for negative response
  6. Add «End of conversation»
  7. Add «End of conversation» Power Virtual Agent Add «End of conversation»

  8. Save the topic
Part 4 – Publish and Test your «Check if contact is known» bot

Simplest way is to test it within the Power Virtual Agent by enabling the topic tracker to check each step. Otherwise publish it to the “Demo Website” channel and test it from there.

Simplest way is to test it within the Power Virtual Agent by enabling the topic tracker to check each step. Otherwise publish it to the “Demo Website” channel and test it from there. Power Virtual Agent Simplest way is to test it within the Power Virtual Agent by enabling the topic tracker to check each step. Otherwise publish it to the “Demo Website” channel and test it from there.

Wrapping up

This is a very simple example how to use Challenge Response Questions to Identify a known Customer pattern. Using the same pattern over the phone and chat channel now we can extend it to the fully automated Virtual Agent channel too with Power Virtual Agent and Power Automate.

In a real scenario you’ll extend the pattern by additional capabilities like

  • Define a larger set of standard identification questions with random selection.
  • Use the standard identification questions on all customer interaction channels.
  • Logging all verification as activity for auditing.
  • Log failed verification as cases to trigger an Agent to follow up later if needed.
  • Checking last order or account statement amount for a customer using Dynamics 365 Customer Insights (Customer Data Platform), where you have unified your customer data from various sources like Dynamics, Salesforce or SAP using a the «Dynamics 365 Customer Insights» Connector.
  • Transferring a failed verification to Agent using «Dynamics 365 Omnichannel for Customer Service»

With Microsoft Power Platform, we can build upon this within hours to meet much more complex business needs with useful automation bringing all the building blocks together.


8. Mar 2020

References

  • Key concepts - Use Power Automate flows in Power Virtual Agents (Docs)
  • Dynamics 365 Customer Insights (Connector reference)
  • Configure hand-off to Dynamics 365 Customer Service (Docs)