Fixed – Power Virtual Agents bots for voice not working (Dynamics 365 Customer Service Omnichannel)

We can configure aa PVA Bot for workstreams and when we install the voice channel demo, we can see a bot already configured for the demo workstream.

Recently in our case, the bot configured was not working and we were getting the below message on calling the workstream/voice channel configured.

“Sorry, we couldn’t serve you at this moment. Please call back later”

On removing the bot the workstream/channel was working properly.

We raised the Microsoft support ticket for the same and were suggested to create/configure a new bot instead of using the existing demo/trial one as it might give an issue because of being configured in a different environment.

On configuring a new bot the issue got fixed for us.

Hope it helps..


How to – Configure Voicemail Workstream and Queue – Dynamics 365 Customer Service

When we configure the Voice demo, we can see 2 workstreams and queues created for Voicemail one for individuals other for voicemail of type group.

The Default Group Voicemail Workstream has the following intake rule defined.

And following Route to Queue Rule

Configuring Voicemail –

Similarly, Default Individual Voicemail Workstream has the following intake rule

And Route to Queue rule

Now say we want the voicemail of an advanced queue (type – voice) to be routed to its corresponding advanced queue (type – record) instead of the Default Group Voicemail Queue.

Say we have the below Advanced Queue of type Voice used in the Voice Workstream– 


And the below Advanced Queue – My Sample Voice Mail Queue

Now let us define the Workstream that will route the voicemail to that queue.

Select Type as Record and Record Type as Voicemail.

The intake rule checks for the Queue record in the related entity of voice mail – Missed Conversation (Conversation)

So basically any conversation or voicemail generated because of a call to My Sample Voice Queue / Workstream will be routed to its corresponding Voice Mail Queue.

Overflow handling

And the intake rule of that workstream to route to the Voicemail Queue created earlier.

Hope it helps..


How to – Enable Desktop notifications when the app is in the background – Dynamics 365 Customer Service (Omnichannel – Voice)

Below is how the notification appears to the agents for the incoming conversation. In case the app is in the background the agent might miss the notification. To avoid this scenario we can enable Desktop notifications.




Navigate to Agent Experience >> Workspaces >> Notification Templates (Manage) in the Customer Service Admin center

Here we can see the default template – authenticated and unauthenticated for the incoming voicemail. We cannot update these out-of-the-box templates, however, we can refer to these existing templates to create a new template.

Let us open the existing incoming authenticated template.

The Voice call – incoming authenticated – default :-

Let us create a new template, referring to the existing template, where we will set the Show Desktop Notifications = When the app is in the background.

Notice we can specify other values such as notification timeout, auto assign work items, show reject button as well as notification fields.

Below is our new notification template.

With the template created, navigate to the workstream to which we want to apply this template. In the Agent notification template, specify the custom notification template for the Incoming Authenticated.

Also, enable Notifications for the app in the browser from Site Settings.

Here we can see the Desktop notification for the agent on the incoming call.

Learn more about it –

To enable Sound Notification –

Hope it helps..



Understanding Overflow handling – Work item limit exceeds in Voice Channel – Omnichannel (Dynamics 365 Customer Service)

  1. Say for one the Advanced Queue of type Voice we have the following Overflow handling defined (the queue has only 1 user assigned to it).


Condition = Work item limit exceeds 1

Action = Voicemail

And it also has an Out of operation hours condition defined.

Now, if the customer calls during working hours and if the user’s presence is Available, the agent will receive the notification and the first conversation will have the Status as Active. If we make a second call its status will be open and it won’t go to Voicemail. Now if we make a 3rd call to that number it will go to Voicemail.

This is because we have set the Work item limit exceeds as 1, so it will keep one conversation in the open status, and any subsequent calls after that will go to the Voicemail.

Now here if the user is either in DND, Away, Offline, or not logged into CRM during work hours (if a customer calls outside work hours it will directly go to the Voicemail as we have the Out of operation hours condition defined), the first conversation will have the status as open and then any subsequent calls will go to the Voicemail.

In short,

More detail – Queue Overflow

Hope it helps..


How to – Configure Voicemail in Omnichannel Voice Channel – Dynamics 365 Customer Service

For voice mail to work, make sure Unified Routing is provisioned.

Next, we need to create a new Agent experience profile.

Navigate to Agent Experience >> Workspaces and select Manage for Agent experience profiles.

Create a new record.

Add the users to it. One user can be part of only one Agent experience profile record.

Click on edit for Inbox

Enable Inbox, and add a view for Voice Mail.

We can specify what views the agent can see in the inbox.

Also, switch on All active channels.

The agent inside Customer Service Workspace can now see the Voice Mail option in his Inbox.

Here we first tested the voice mail feature by calling the personal number assigned to the agent. The agent was not logged into the Customer Service Workspace app.

On calling we get the prompt that the agent is not available and to record the voice message.

After recording the message, if we log in to the CSW app, we can see a voicemail record created for the user.

The user can hear the recording, call back the customer using Return Call, Add to Queue, or close the voice mail.

Return Call will launch the phone dialer, with the customer’s number populated.

Close Voicemail will set the status of the voicemail record as Closed.

For this to work, we need to have a Record Routing configured for Voicemail.

Navigate to Customer Support >> Routing >> Manage for Setup record routing.

We have created routing rules for the Voicemail record type.

We have 2 intake rules configured, one for Voicemail type individual (which worked in our earlier scenario, when a customer called the personal number of the agent) and one for a group that would apply to Queue.

Intake rule for Group

Intake rule for individual.

The workstream for the voicemail type individual

It routes to the Default Individual Voicemail Queue, which the agent is part of.

Similarly we have Workstream for Voicemail type Group

The ruleset in it routes to the Default Group Voicemail Queue.

Now to test it, we have created a queue, with only one user currently in it.

Most importantly we have configured an Overflow management rule to it along with operating hours.

Basically if a customer calls out of operation hours, it should go to voicemail.

Here we can specify multiple condition-action pairs.



Next, we created a workstream of the type voice channel, which routes to the above queue.

Now as soon as the customer calls the number, it goes to the queue with the overflow conditions, and if the agent is not logged in/out of operation hour condition is fulfilled, the customer is informed to record the message.

When the agent logs in to the CSW app, he can see a voice mail record created and assigned to the Default Group Voicemail Queue.

In short –


Unified Routing


Agent Experience Profile for the agent.

Enable Inbox.

Specify a view for Voicemail

2 Queues

Individual / Personal Phone Numbers

Group / Queue

2 Workstreams (type – Record)


Individual Workstream – Push Based.

Group / Queue Workstream – Pick Based.

2 Record Routing Rules (Voicemail)

Route – Voicemail type Individual to Individual Queue

Route – Voicemail type Group to Group Queue

Individual Call

Specify the Phone Number for the agent in the Omnichannel Tab – System User record

Group Call

Create a workstream and specify an overflow condition.

For configuring Call Recording please refer –

Get all the details – Configure Voicemail

Must read –

Hope it helps..



Connect Voice Channel to using an existing Azure Communication Services (ACS) Resource – Dynamics 365 Customer Service

We had earlier configured Voice Channel in our Dev environment using ACS Direct Routing.

Please refer to this blog post on how to set up a voice channel using a new ACS.

Recently while configuring the UAT environment, we thought of reusing the same ACS resource configured earlier.

Highlighting the key steps required for it –

The first step is to install the Voice Channel in the new environment

Followed by registering a new App in Azure Active Directory.

This will be required while connecting to the Azure Communication Services.

Enter the details of existing ACS, like name, ID, and Connection String.

And the App ID and App Tenant Id while connecting to ACS in the new environment.

Now if we want to use the feature of Call recording, we can reuse the existing Event Grid System Topics created for the Dev environment, by simply creating a new Event Subscription for it.

Copy and specify the webhook endpoint from the UAT / New environment

Select Manage for Channels >> Phone numbers

Select Advanced

Copy the Webhook endpoint for the new event subscription from the UAT / New env.

For the exact steps refer –

The next step would be to configure a new phone number, voice channel, workstream, etc.

So basically we can have multiple environments using the same ACS Resource using different numbers and with call recording for this we need to

  • Create / Register a new Azure AD app for each environment.
  • New Event Subscription for the existing Event Grid System Topics.

Get all the details here – Connect to ACS

Hope it helps..


%d bloggers like this: