If you ever dealt with Dynamics CRM authentication at “close range”, you know that CRM supports OAuth. Presumably, with CRM 2016 and ADFS 3.0 (Windows Server 2012 R2), we should be able to use OAuth for CRM On-premises, right? Especially now that ADFS supports JSON Web Tokens, so we should be able just enable JWT […]
Tip #542: Who do you think you are
One of the great features of Dynamics CRM is the ability to impersonate other users’ accounts. Just set CallerId property on CrmConnection object and go on with your business as usual. However, make sure that your code or the code that you call, do not rely on the current user identity obtained using WhoAmIRequest. As […]
Tip #537: Removing O365 global administrators
When you assign an O365 user a Global Administrator role, and this user is assigned a Dynamics CRM license, system will automatically assign a System Administrator role to that user. If later on Global Administrator role is removed, the system will also remove a System Administrator CRM role regardless whether it was automatically or manually […]
Tip #536: CRM Online, SharePoint On-premises and OneNote walk into a bar
There seems to be a theme here, at CRM Tip of the day, with trios of various components walking into refreshment establishments. On this occasion, it did cost me a few hours of mouse-bending investigation. Enjoy the summary. As we mentioned before, if you carefully followed the steps to configure server-based authentication for Dynamics CRM […]
Tip #532: Retrieving global optionsets using web api
Even the best of us are still finding their footing with new shiny CRM Web API. Tipsters to the rescue in another mini truck stop. Andrii “Granny’s Moonshine” Butenko was wondering what is the best way to fetch Global OptionSets using Web API (from now on apiendpoint == https://orgname.crm.dynamics.com/api/data/v8.0): I can get all global optionsets […]
Tip #531: CRM, SPA and CORS walk into a bar
If you wanted to access your CRM from the javascript using web services, the only option until CRM 2016 was to wrap your script as a webresource. That way script is hosted in the same domain as CRM and “rides” authenticated session of your browser. External pages were no go because of the Cross-Origin Resource […]
Tip #529: Queuing things in CRM workflow and code
I know it’s and oldie but I just got this question today so perhaps time for a refresher. The question was on “how to queue activities and other things in CRM workflow – I vaguely recall ‘assign’ operation but I can only assign to a user and not a queue”. Long, long time ago CRM […]
Tip #528: Execute them all
While our video dude is stuffing himself with turkey (who’d want to listen even to Morgan Freeman with a mouthful of dry meat?), I’d take this Friday to clarify few things about asking CRM server to do few things at once. There are two ways to do it. ExecuteMultiple ExecuteMultipleRequest has been around for quite […]
Tip #524: Inactive optionsets
One of the advantages of using lookups vs optionsets is the ability to create a “dynamic” set where the available values can be filtered and deactivate when they become obsolete. Optionsets still are very useful because they are easy to set up and use – dropdown as a UI element is all too familiar to […]
Tip #522: Escape CRM Online sandbox
I said it before and I said it again that presenting at the conferences like eXtremeCRM can be a real eye-opener. You quickly learn, for example, that Bob could not make it and you also learn how much people know about CRM. With all the accumulated knowledge it comes as a surprise that some of […]