A failure occurred in CrmSecurity while configuration Mailbox in Dynamics 365


As we know, before we can use a mailbox it has to be approved by either Office 365 Global Administrator or by an Exchange Administrator.

When Server Side Synchronization was released only the Dynamics 365 System Administrator with the Global Administrator role was able to approve the mailboxes.

Later with the service update, the Dynamics 365 System Administrator having an Exchange admin role could also approve the mailboxes.

This requirement for mailbox approval can also be removed.

Navigate to the Administration > System Settings > Email tab and uncheck the Process emails option there.

For applying this change also, the Dynamics 365 Administrator needs to have either a Global Administrator or Exchange Admin role, else we will get the below error.

A failure occurred in CrmSecurity.

User should be a global administrator or exchange administrator to modify approval setting

We can reach the above setting from Settings > Email Configuration > Email Configuration Settings

We can also enable Verbose Logging, to get more details about the mailbox.

Download mailbox details can be used to download details about the mailbox

The Alerts section of the mailbox lists down any errors, warning, or information specific to that mailbox as shown below.

To monitor Server-Side Synchronization, we can also refer the below dashboards within the application.

Server-Side Synchronization Failures –

Server-Side Synchronization Monitoring –

Or Mailbox Usage Dashboard within Dataverse Analytics inside Power Platform Admin Center

https://docs.microsoft.com/en-us/power-platform/admin/analytics-common-data-service#mailbox-usage

organization-insights-mailbox-usage-section

More on troubleshooting and monitoring Server-side synchronization

Hope it helps..

Azure AD Conditional Access and Application Users / Service Principal in Dynamics 365


Through Azure AD Conditional Access, we can define and enforce policies regarding access to its cloud resources.

Users who do not comply or are blocked with the conditional access policies defined will get the below error message after login.

The Conditional Access works seamlessly for user accounts.

However, Conditional Access doesn’t apply for the Application users (Azure AD Apps / Service Principals in Azure AD) accessing Dynamics 365 / Dataverse Web API.

Say e.g. we have the following policy defined, which applies to all users on the Common Data Service app.

Blocking access from any location or device platform.

Now if a user tries to access Dynamics 365 App, after login he gets the below message.

Now we have the following application user registered which has appropriate security roles assigned.

Now if we try to consume CRM / DataVerse Web API through the application user – client credentials, we can see it working without any exception

If we check the Microsoft Docs, it mentions all user accounts but not service principals.

https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/faqs#does-a-conditional-access-policy-apply-to-service-accounts

Check the below link as well

https://stackoverflow.com/questions/51344114/is-azure-ad-conditional-access-supported-for-dynamics-365-web-services

https://docs.microsoft.com/en-us/answers/questions/119765/app-registrations-and-conditional-access.html

In case if we are using the ROPC (Resource Owner Password Credential) grant type, we will get the below exception there as we are using an user account (UserPasswordCredential)

More on consuming Dataverse / Dynamics 365 Web API

https://nishantrana.me/2021/01/06/sample-code-dynamics-365-web-api-organization-service/

Hope it helps..

Advertisements

New experience – Power Apps Mobile App- Preview


To enable the new experience for the app, navigate to the side menu and toggle on the New design (preview) option.

Old Experience New Experience
Home
The home page now shows Favorites and Recent Apps along with a Navigation bar to easily access apps.
Sorting / Search
Apps can be sorted based on Name and Modified date along with improved search experience.
Pin, Details, etc.

Swipe gestures are now supported, which allows quickly add a shortcut to the app and mark an app as a favorite.
Get from Play Storehttps://play.google.com/store/apps/details?id=com.microsoft.msapps
Get from App Storehttps://apps.apple.com/us/app/power-apps/id1047318566

Get all the details here –

Power Apps Mobile App

Check other posts on Power Apps Mobile App

Push Notification – https://nishantrana.me/2021/02/17/in-app-or-push-notification-model-driven-app-2021-release-wave-1-power-apps-dynamics-365/

Sub-grid and Form tabs improvements – https://nishantrana.me/2020/09/28/sub-grid-and-form-tabs-improvements-in-power-apps-mobile-app/

Hope it helps..

Macros in Omnichannel and Customer Service Workspace – Dynamics 365


Macros enables users to perform the set of sequential actions – repetitive and monotonous –  in a more process complaint manner, which can be reused across different sessions, making it faster, more efficient and less error prone.

To define a Macro, navigate to Omnichannel Administration app > Agent Experience > Macros

Check other posts on Omnichannel 

The interface is similar to Power Automate with some predefined automation actions.

Session Connector has the following actions >

Omnichannel Connector has the following actions >

Flow Connector has the following actions >

Productivity Automation has the following actions >

Get all the details here –https://docs.microsoft.com/en-us/dynamics365/app-profile-manager/macros

Now back to our Macro, select Productivity Automation trigger.

Select the action Start macro execution.

Select Clone current record.

Specify the title of the cloned record.

Let us create a new Agent Script with Agent Script step having Action Type as Macro.

Agent Script – https://nishantrana.me/2021/03/02/agent-scripts-in-omnichannel-and-customer-service-workspace-dynamics-365/

Navigate to Omnichannel Administration > Agent Experience > Agent Script and create a new Agent Script.

Follow it by adding a new Agent script step.

Below is our Agent script step record

which is associated with the Agent Script record

Now to test it let us open an existing record within a new session (Shift + record click) within Customer Service Workspace.

More on Customer Service Workspace –https://nishantrana.me/2020/08/13/new-customer-service-workspace-app-preview-in-dynamics-365-2020-release-wave-2/

Select Clone Record for the record to be opened in the new session.

As expected selecting on Clone Record – opens the clone of the record in a new Tab as shown below

We can also check the run history of the Macro using View run history option

That was a very basic example we saw, now with the option of running flow i.e. Run Flow as Macro using the Flow Connector, the possibility is limitless.

Hope it helps..

Advertisements

Error – “Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server” – while trying to use Dataverse connector in Power BI


While trying to use Dataverse connector inside Power BI Desktop

we got the below error

Details: “Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)”

Later we realized we were not entering the environment details in the correct format as expected

i.e.

[orgname].[crm].dynamics.com

We were entering it incorrectly  below with the https

Entering URL in correct format fixed the issue for us.

In case if TDS endpoint it not enabled –

we will get the below error

i.e. Microsoft SQL: TDS Protocol endpoint is disabled for this organization.

Check more posts on Power BI

https://nishantrana.me/category/power-bi/

Hope it helps..

Agent scripts in Omnichannel and Customer Service Workspace – Dynamics 365


Agent scripts are available within the Productivity pane in the Customer Service workspace and Omnichannel for the Customer Service app.

Agent scripts contains series of steps that will guide the agents while working, helping them to be more efficient.

More on Customer Service Workspace – https://nishantrana.me/2020/08/13/new-customer-service-workspace-app-preview-in-dynamics-365-2020-release-wave-2/

Omnichannel for Customer Servicehttps://nishantrana.me/category/omnichannel/

Smart Assisthttps://nishantrana.me/2020/08/17/ai-suggestions-for-similar-knowledge-articles-and-cases-in-dynamics-365-2020-release-2020-wave-2/

To define Agent Scripts – navigate to Customer Service Hub > Service Management > Agent Scripts or Omnichannel Administration > Agent Experience > Agent Scripts


Create a new Agent script record, and specify steps for the same by creating new agent script step record.


We can define 3 different types of Action – Text, Macro, and Script.


For simplicity, we have selected Text here.


We have defined 2 script steps for the agent script as shown below.


Next, we need to associate the Agent Script with the Session template.

Inside the Omnichannel Administration > Agent Experience > Sessions, select the template we want the script to be associated.

Here let us select the Case entity session – default template

We can also define the conditions for the default agent script to be applied using the Enable Build expression option.

https://docs.microsoft.com/en-us/dynamics365/app-profile-manager/agent-scripts#set-the-default-agent-script-for-agents

For now to make the example simple, we leave it as No (default).

Back in Customer Service Workspace or Omnichannel for Customer Service App– Shift + click the case record to open the new session in the Active Cases grid.

We can see the script populated there for the agent on the case record opened.

If we have multiple scripts associated with the Session template – the agent has the option to select the appropriate script.

Hope it helps..

Advertisements