Tip #183: Keep batch modifications under control

Ploughing

Not so long ago we experienced the wrath of an unhappy customer when, with all the good intentions we verified and normalized phone numbers for all contacts in the organization. This particular implementation had sophisticated business processes that kicked in on updates and modified on timestamp was used to calculate some performance metrics. With us […]

Tip #154: One pre-validate to rule them all

It may come as a surprise but when a contact is created as a side-effect of another operation, e.g. qualifying a lead or processing incoming message with contact auto-create in force, pre-validation plugin does not fire at all. It happens when operation performed is a compound message such as QualifyLeadRequest or DeliverPromoteEmailRequest. This behaviour, unintuitive […]

Tip #134: How to block click-to-call in CRM

People would like to have an option to switch click-to-call functionality off. Unfortunately, none of the suggestions is going to work. Why? Because this functionality relies on URL protocols skype: (for Skype) and tel: (for Lync). You can try fooling the system by deregistering protocols, fiddling with the registry, disabling addins, blocking addins, directing to […]

Tip #119: Help me – help you

Dialog: Microsoft Dynamics CRM has encountered an error

When CRM users see the infamous Microsoft Dynamics CRM has encountered an error dialog, they often select the option to send error report and honestly believe that system administrators, support, developers, all of the above will be getting a copy of the report that contains exact steps how to solve the problem. Explain to your […]

Tip #107: Use metadata browser to find status reason

While working on the solution for stuck emails, I needed values for various status reasons for email entity to intelligently hide/display RESEND button depending on email record status. Quick look in local SDK help yielded zilch. Online version – bupkis. Hmmm, I do remember metadata pages in 2011… Ah, here it is and, indeed, there […]

Tip #106: Resend stuck emails

Resend button for emails

We use email router to send outbound CRM emails via Office 365 accounts. In our configuration email router is set to use user’s credentials, i.e. we need to enter our O365 passwords in user settings in CRM. When password in O365 expires, people (read: me) simply forget to adjust passwords in CRM, especially those for […]

Tip #84: What a difference a date makes

At Convergence 2014, the tipsters participated in some “Ask the MVP” sessions. There were many great questions, but one question kept coming up time and time again, no matter whether the session was for administrators or developers. That’s right: how to deal with timezones when date-only field is used. Since our tipping truck is a […]

Tip #72: Granular notifications for end users

Granular validation of multiple fields

Today’s tip was supposed to be called “Why it’s very important to keep your SDK up to date” but instead I named it after the updated functionality that was added to CRM Online, released for onpremises in UR1 and documented in the December update of the SDK. Previously, if you wanted to notify user about […]