Enable email address validation (preview) in the Model Driven app / Dynamics 365

To enable the new email address validation feature (preview), log in to Power Platform Admin Center >> Settings >> Features >> Data Validation

Switch On – Data Validation. (Interestingly in one of the environments enabling this setting was enough to get the smart email validation working however in another environment had to enable the below settings as well to get that working)

Next open the Model Driven App in Maker Portal – App Designer and switch on  Enable Smart Email Address Validation Control 


Below we can see it validating the email address while we enter its value

We get the below messages

And this works for the email field in a custom entity as well.

Refer – https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-validation-email-column

Also, check the similar feature we have for Sales Hub App

Hope it helps..


Fixed – Exception in creation of lead (Dynamics 365 Marketing)

Recently we were getting the below error in one of our marketing forms for form submission record.

Exception in Creation of lead – Activity id: 40ff82fc-bb10-4d30-8671-12683392ccdf, Request id: AsChkx2zn5IKrjHVC4cTb6j-ZkB23D0PqgCdxwi8kEE_0, Exception: An item with the same key has already been added.

This was because we had mistakenly added first name fields twice as the form-matching attribute in the form-matching rule used for that form.

Deleting that extra field resolved the issue for us.

Hope it helps..


Manage Security Roles using the new modern UI (preview) – Power Platform Admin Center

Security roles can be now managed using the new modern UI (preview).

Select Security Roles (See all) for an environment, within Power Platform Admin Center.

Select Edit for a security role.

We can see here Display only parent security roles option is On by default.

We can see the different options.

  1. Filter based on table or privileges

2. Specify Member’s privilege inheritance option


Nicely explained here –


3. Tabs for Table specific, Miscellaneous, and Privacy-related privileges

4. Filter privileges further by all, assigned or unassigned.

5. Collapsible

6. Option to Copy Table Permission to another table(s) and apply predefined Permission Settings i.e. Access Levels.

Copy table permissions to multiple tables

Permission Settings (Access Levels)

7. Specify Access Level for Privileges

Get all the details here – Security Roles and new modern UI

Hope it helps..


Get RequiredAttendee (Required) from the Meeting (appointment) table – Power Automate / Dataverse

Below is the sample flow we can use to retrieve the Required (requiredattendees) field’s value from the Meeting table (on the update of the record).

Here we are triggering the flow, if there is an update in the subject field of the meeting record.

Then using the List rows action we are fetching the Activity Parties record associated using the Appointment’s unique identifier and participation mask as 5.

More on participation type mask

And in the last step, we are checking for all the associated Activity Party GUIDs for a specific GUID and then update the record or cancel the record.

Hope it helps..


Agents not receiving calls in Omnichannel Voice – Dynamics 365 Customer Service

Recently we saw a few of our agents were not receiving the calls/notification for incoming conversations.

Apart from checking the Routing Diagnostics, we can refer to the Omnichannel Ongoing Conversation Dashboard (available for the Omnichannel Supervisor role)

In our case, we realized that the ongoing conversation was in Wrap-up status for the agent.

And also as we had a work item limit of 1 along with assignment blocking defined through the capacity profile for that agent, the agent wasn’t receiving the incoming notifications.

So here we can ask the agent to close the session correctly.

Or as a supervisor, we can force close the conversation from the Omnichannel Ongoing Conversation Dashboard.

Force Close-

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 – https://nishantrana.me/2023/02/23/how-to-configure-voicemail-in-omnichannel-voice-channel-dynamics-365-customer-service/

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 handlinghttps://nishantrana.me/2023/03/07/understanding-overflow-handling-work-item-limit-exceeds-in-voice-channel-omnichannel-dynamics-365-customer-service/

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

Hope it helps..

%d bloggers like this: