Search For Privilege Name Using Privilege Id

Really useful!

Passion Dynamics

Quick post on how to search for privilege/permission name using privilege Id. You often in dynamics receive an error like below during your plugins or Web Api requests.:

“user is missing privilege ba09ec92-12c4-4312-ba16-5715c2cbd6da”

looking at the error, its difficult to tell what is the permission missing and on what entity.

Use this approach

All privileges are stored in an entity called privilege : Read more here.
you cannot see this entity in dynamics CRM front-end as its not available however you can easily query this entity using Web Api.

  1. Get web api url of your organization by going to Settings > Customizations > Developer Resources > Web API instance url:

    i.e. https://organizationname.api.crm8.dynamics.com/api/data/v9.1/

  2. Append this url with “privileges?$select=name” and put it in your browser: https://organization.api.crm8.dynamics.com/api/data/v9.1/privileges?$select=name

    1

  3. hit Ctrl+F and search using id:

    1.png

  4. Now we know the id refers to “PrvReadContact”. Go to the security role and assign appropriate read access on…

View original post 5 more words

Advertisements

D365 Solutions History – Keep track of your deployments

As you might have observed, newer updates to D365 are bringing out vital features which were much needed in Dynamics 365 are finally rolling out.

One such feature is Solution History!

As you can see in your SiteMap, you’ll see Solutions History has been added
sitemap

It gives you a summary what solutions were imported, exported or deleted.

summary

Where does this come from?

If you look at the Default Solution, this is coming from Virtual Entity Data Provider
dataprovider

Availability

My observation is that this is available for organizations from 9.1.0.1471 onward.

version

If you want to learn more about my Cloning and patching Solution, check my blog here – Using ‘Clone a Patch’ & ‘Clone Solution’ in D365 Solutions

 

Hope this helps.

D365 Quick Tip: Why BPF wouldn’t appear in D365 Unified Interface?

Got stuck trying to figure out why the Business Process Flow you created/modified couldn’t be seen in the Unified Interface?

Like I have this BPF called ‘Onboarding Process’

actualprocess

But when I look at the form on the Sales Hub, it won’t show up
blankrec

 

And when I Switch Process and try to apply, it won’t apply either
applying

Where could we check to make sure it appears –

  1. Whether it was Activated.
  2. Whether it was corrected ordered in the Order Process Flow
  3. Logged in user had correct privileges to access it.
  4. Even trying to switch to the process won’t make it appear!

and so on.

But there’s one thing that needs attention when

App Designer is the answer

The reason is the App Designer for the Unified Interface app you are in.

  1. In this case, the Sales Hub app.
    Open the Sales Hub app and look for Business Process Flows section and expand it.
    missingprocess
  2. On the right hand pane, find your BPF and add it in the App Designer
    foundprocess
  3. Once you added, it should appear in the included BPFs. Save and Publish once confirmed
    added

BPF is now applied

Now, your BPF is finally added and you can work on it.
appeared

Hope this helped! 🙂

Linear Slider Custom Control in D365 v9.x UCI

Using Custom Controls is the new cool in Dynamics 365. Specifically, if visual cue of approximation or ‘to what extent’ is priority over the textual/numeric data, using Custom Control is the best way forward.

Something like this –

featured

Use Case

In my use case, I want to know the client budget so that I keep Quotes for them around the range they can afford.

Now, number will give me an idea. But a visual cue of the same will let me know the spending capacity of the client in the bigger picture.

So, I’ll use Linear Slider custom control on the Client Budget currency field to show a slider as well as the currency value.

Enabling Linear Slider on Currency Field

  1. So here, Client Budget (new_clientbudget) is my Currency type of field in D365.
  2. On the Form Editor, I’ll go to Properties of the field and go to Controls. Click on Add Control…
    addcontrol

  3. Select Linear Slider among others and click Add.
    addslider
  4. Then, I’ll set the properties of the control. Make sure you enable them for Web, Phone and Tablet as per your preferences.
    sliderproperties
  5. I’ve set the min and max range for the control, also that step which should reflect while moving the slider.
  6. Finally, click OK and publish changes.

 

Linear Slider

featured

You can even input custom number in the box and the slider will set to it.

manualnumber

 

Hope this was useful! 🙂

Thanks for reading.

Delete Async Plugin Logs if plugin succeeds, save D365 storage space

Let’s see how we can efficiently manage D365 storage without bloating the storage with data that you might not need.

In my opinion, we don’t really need to know that the background process was successful or not, we typically care for what failed.

So, from an Asynchronous plugin standpoint, the logs in D365 is registered in the System Jobs and they create a ton of System Events if you are Importing data in D365 and your Async process is on the create of such records.

sysjobs

Check your Async plugin step

  1. Now, you can preserve this storage space by choosing to Delete the Async plugin logs.
  2. In the screenshot below, you can see an option to ‘Delete AsyncOperation is StatusCode = Successful
    deletelog

In this case, the System Jobs for the will not be created, thus, saving you valuable storage space if your plugin is run frequently.

Hope this helps.

Use Azure App Passwords for MFA enabled D365 authentication from Console App

If you have a Console App that authenticates to D365 using a credential (typically, an Administrator) but now the administrator is setup for Multi-Factor authentication, your Console App won’t work. So here’s what you can do.

If you first want to check out about enabling Multi-Factor Authentication, you can check my blog post on it here – Office 365 Admin: Quickly Enable Multi-factor authentication for users

Standard Authentication vs MFA enabled User

When there’s not MFA enabled for Dynamics 365 (Office 365) account credentials, you are able to connect to the organization with no issues and get the CRMServiceClient in your application easy.
authenticated

But, if you have Multi-Factor Authentication enabled for a credential that is used in Console Apps to connect to D365, the Console App will not connect and the CrmCerviceClient will have null as below with the error ‘Unable to Login to Dynamics CRM

unabletologin

Managing App Passwords on Azure Portal

Once you have multi-factor authentication enabled for your account, you can go to portal.azure.com and manage App Passwords as follows –

  1. In Azure Portal, go to your account settings.
    gotoaccount
  2. Then, go to Additional security verification
    additionalsecurityverification
  3. Look for App Passwords
    apppasswords
  4. You can manage and create more passwords here
    manageapppasswords
  5. Create a password if you don’t want to use a default one or want to use different passwords for different apps. Give it a suitable name and click Next
    createapppassword
  6. Copy the password as it is the only time it will be displayed.
    copypassowrd
  7. And you can see your passwords as you create them
    morepasswords

 

Implementing App Passwords in Console App

As the name suggests, App Passwords will let you create special passwords for applications to authenticate to Dynamics 365 without needing to go through multi-factor authentication like when you’re running a Console App to connect to Dynamics 365

  1. Go to the Password in the credentials in the App.Config of the Console Application
    oldpassword
  2. And replace it with the App Password
    newpassword
  3. Now, Build the application and run it. It will authenticate successfully.
    authenticated

Hope this helps! 🙂

 

Talking Points in D365 AI For Sales

Overview

Talking Points is a D365 AI for Sales feature that helps you to start a conversation or bring in ice-breakers if you are going to communicate with a contact the next time.

It gives you highlights on the Contact form about what was communicated in the past and you can use that suggestion to bring it up in your conversation with the D365 Contact.

Talking Points works for the below topics –

Health, Family, Sports and Entertainment

Pre-Requisites

  1. The user who will use Talking Points must have Server Side Sync enabled for their mailbox.
  2. Make sure Analytics feature is enabled for your organization. You can find it in the Admin Center.
  3. Enable Sales AI in your D365 Organization. To learn more about Sales AI, check my post on enabling Sales AI for your Organization – Enable D365 AI For Sales in v9.1.x
  4. Turn on Talking Points by clicking on the check box
    selectTP
  5. And then clicking on Save button show on the top right corner of the screen.
    clickSave
  6. Once Talking Points preferences are saved, you can see what all you selected
    savedSettings
  7. Additionally, also make sure the card to display Talking Points is enabled on the Contact form.
    contactForm1
    visibleByDefault

Talking Points

Now, let’s see an example of it’s working.

  1. Priyesh sent me an email telling me that he’ll be late as he was at a Baseball game. And out of curiosity, asked if I follow Red Sox team.
    redSoxMail
  2. D365 AI For Sales’ Talking Points analyses the conversation and in D365’s Contact for Priyesh Wagh, shows this card telling me that Sports was being discussed/sent in the message
    talkingPoints
  3. So, if I am about to talk to Priyesh and I am looking at the D365 Contact before I speak, Talking Points can tell me what else I can talk about apart from just work.
  4. It’s a great functionality to give a more personal touch to the conversation than just discussing work, maybe.

    Enjoy exploring Talking Points.