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


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


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 #758: When users are unable to save personal views

Private property keep out

tl;dr When no one in your organization including system administrators can create or update personal views, check that you don’t have any plugins registered on all entities to run in a context different from a calling user. Mundane details Symptoms: when personal views are created or updated, all users including system administrators receive the following […]

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 […]