Build a Concierge Bot for Your Customers that Serves them in their Mother-Tongue Imagine being able to serve your customers and employees immediately in their native language, without waiting in Contact Center Queues, 24/7, with your new self-service voice bot factory. And for complex issues, there's always a human agent as an escalation target. Table of Contents Prerequisites Architecture Create the first level of the cascade Create a concierge bot in Power Virtual Agents Create a new topic in Bot Framework Composer Configure greeting topic in Power Virtual Agents Configure the transfer to the next queue by using the escalate topic Configure workstreams and queues Test Implementation Next Steps Prerequisites Having installed and an Application Registration in place. Dynamics 365 Customer Service Having the voice channel deployed with some phone numbers. Bot Framework Composer must be installed locally. Architecture The basic idea behind our concierge is to have a cascade of bots living in separate queues. Please keep in mind to always create an escalation to a human path. We start with a selector for the language and forward the outcome to a queue for that specific language. You could create another bot for that queue or bring human agents to that queue. This mechanism can be used for a cascade of bots with different skills in several languages and can be your foundation of a bot factor in front of your human agents. Create the first level of the cascade Create a concierge bot in Power Virtual Agents Create your "concierge" bot with English (US) language in your -enabled environment. Omnichannel Create a new topic in Bot Framework Composer Create a new topic with Bot Framework Composer. select the (+) node, and then select . Add Send a response <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"><voice name="en-US-AriaNeural"><lang xml:lang="en-US">Hello! Welcome to customer support.</lang></voice></speak> The variable ${virtualagent.msdyn_CustomerName} is available for authenticated customers. Select (+) node, point to , and then choose . Add Ask a question Multi-choice <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"><voice name="en-US-JennyMultilingualNeural"><lang xml:lang="en-US">Press or say 1 for English.</lang><break strength="medium"/><lang xml:lang="fr-FR">Appuyez ou dites 2 pour le français.</lang><break strength="medium"/><lang xml:lang="de-DE">Sagen oder drücken Sie 3 für Deutsch</lang></voice></speak> Select the box User input Property: conversation.language_choice Array of choices 1, 2, 3, one, two, three, un, deux, trois, eins, zwei, drei Select the (+) node, select , and then select Add Create a condition Branch Switch (multiple options) Condition: conversation.language_choice Value: Value: 1, 2, 3, One, Two, Three, Un, deux, trois, eins, zwei, drei Here, enter one choice per value. Select the (+) node and then select > Add Manage properties Set a property And enter the following details: Condition: virtualagent.va_CustomerLocale Value: en-US Repeat the steps to for fr-FR, de-DE. Set a property The value for the variable will be updated with the language selected by the caller. virtualagent.va_CustomerLocale set the va_CustomerLocale context variable with the locale codes for the languages that you want to support. see: Supported locations and locale codes Select the (+) node, and then select .] Add Begin a Power Virtual Agent topic Select "Escale" in the Dialog name. Publish the bot in Bot Framework composer, go back to PVA editing canvas, refresh, find the topic, and publish in PVA. Configure the greeting topic in Power Virtual Agents Open the topic in the authoring canvas and delete everything except the trigger phrases. Greeting Select (+), and then select . Choose the topic you created above. Add node Redirect to another topic Configure the transfer to the next queue by using the escalate topic open the topic in the authoring canvas, and delete all the default messages except the trigger phrases. Escalate Select Add , select , and then select . node (+) End the conversation transfer to agent Save and publish. Check your application registration on AAD Portal and remember the Application ID.(See prerequisite) Go to , , select Settings Agent transfer Omnichannel, enable it and configure the transfer with the Application ID. Configure workstreams and queues In Dynamics 365 Customer Service Admin Center configure a voice workstream, a voice queue, and their routing rules. You can use my articles on the topic as a reference: Dynamics 365 Customer Service with Power Virtual Agents - Part 1 (automation with text chat) Dynamics 365 Customer Service with Power Virtual Agents - Part 2 (automation with voice/voice bots) Use the configured bot as the in the workstream settings as an escalation target for the bot; we need to configure three additional queues - one each for English, French, and German and add the required agents, or if you want to use a bot, add the bot. bot Configure a voice workstream with English as the primary language and French and German as additional languages. In the route to queues rule set of the workstream, use as the criteria to route the incoming call to different language queues based on the option selected by the customer. Conversation.CustomerLanguage Test implementation As a customer, call the number registered with the voice workstream with a phone with a registered caller ID and one without. Hear the greeting and make your choice. Next steps You can use this mechanism to cascade; please feel free to add additional bots and escalations to give your customer a choice of targets to consult. Do not forget it is better to have a bot doing the job immediately instead of waiting for an agent. Also published . here