Tip #767: Server-to-server authentication is here

Headless

Woot, woot! At long last we can create passive clients – the ones that do not have someone sitting in front of them. Clients like web sites or services – and authenticate them without using username and password AND get the magic bearer token that is good to use in Web API. The detailed walkthrough […]

Tip #765: Dynamics 365 for Team Members – fine print

Team members

One of the new licenses is Dynamics 365 for Team Members Enterprise Edition, starting at $10 per user per month. As attractive as it sounds, this license comes with some caveats. Before shelling out your credit card and getting this license for all of your users, read the Dynamics 365 Enterprise Edition Licensing Guide, and […]

Tip #764: How to customize schedule board slots

Schedule board is one of the centerpieces of the Dynamics 365 for Field Service (yep, that’s the new name). But every time we deployed field service, we’ve been asked to change the default layout that includes Work Order number, and start and end times. Field Service Documentation defines Scheduler Field Service slot text template as […]

Tip #762: Good news for Campaign Monitor fans

Vaporware

We rarely if ever post vendors news but considering the official demise of Dynamics Marketing, this one is hard to ignore. We’ve long been a big fan of Campaign Monitor, the (proudly Australian) vendor very much focused on helping to create beautiful and actionable emails “your customers can’t ignore”. And they just announced integration with […]

Tip #761: Script error in main.aspx on line 1

Fragile

When creating fine-tuned roles for restricted access to your Dynamics CRM deployment, be very careful about privileges granted on Customization tab in role editor. Some of the privileges are easy to overlook and, if not granted, that can break the user experience. What I learned today is that CRM is very sensitive about Process privileges. […]

Tip #759: Create a persistent backup of your instance

Clock is running out latte

Now that you’ve mastered the backup and restore for your CRM Online organization, you may be wondering, now what? Backups are only held for three days, that’s not very useful, is it? Well, actually, it is. These transient backups are very useful if you perform some scary-looking update to your production instance. But more importantly, […]

Tip #757: Passing enumerated values to Web API

Passing values

Shiny Dynamics CRM Web API has a number of useful functions that you can call using simple GET. Like ubiquitous WhoAmI: https://notarealorg.api.crm.dynamics.com/api/data/v8.1/WhoAmI, nifty RetrieveOrganizationResources: https://stillnotarealorg.api.crm.dynamics.com /api/data/v8.1/RetrieveOrganizationResources, or canny RetrieveDataEncryptionKey: https://yesthisisarealorg.api.crm.dynamics.com/api/data/v8.1/RetrieveDataEncryptionKey. Some of these functions require parameters and documentation how to pass parameters is available. Except that the documentation does not explain how to deal with […]

Tip #755: Logs grow rapidly if audit is enabled on mailbox entity

Wafer thin mint

Be careful when enabling auditing on the Mailbox entity. As Jukka “Kalsarikännit” Niiranen has discovered after analyzing why one of the instance consumed disproportional storage: “It all looked fine at first, but looks like at some point the sync process had started to update the exchangesyncstatexml field with new data every few minutes. [This] field […]