Workflow OR conditions in CRM 2013 SP1
June 3, 2014 1 Comment
Everyone is writing about all the big changes in Dynamics CRM 2013 Service Pack 1 (aka Spring ‘14 Release for CRM Online, previously codenamed “Leo”). There are tons of great features around Service management, new tools for developers, improved tablet support and so on.
If you want to find out all about the new service management functionality, how to enable and take advantage of the SLAs, entitlements, Case routing and related features, sign up for our in-person classroom training course What’s new in Dynamics CRM 2013 Spring ’14. In one day of accelerated training you will learn all about configuring new service features, as well as high-level coverage of other items such as tablet support, server-side synchronisation, status transition controls, and more!
At the CRMUG UK Meeting in July we are also focussing on “Service” and will have plenty of time to hear from Microsoft about the new release, as well as a session from Wael Hamze of Barclays for developers, including some of the new things in the SDK.
In all the kerfuffle there has not been much mention of a little feature that I have been waiting on for a long time, that will make a small but important difference to the development of Workflows. You can now create conditions and group clauses using OR and AND conditions.
Creating a Workflow condition with an OR clause
Using conditions with an OR clause has not been possible in previous releases of CRM. There are ways to get there using reverse AND conditions and then taking advantage of the “Otherwise” side of the IF. These rely on the Boolean equivalence that A OR B == NOT(NOT(A) AND NOT(B)). Messy at the best of times.
Now you can simply add your condition step, add your condition clauses, select rows and group them as OR (or AND) as required, just as you would do for an Advanced Find query:
While this seems quite small, I think it will be a really useful feature, especially for people who are new to CRM Workflows and don’t know all the weird workarounds for the bits of missing functionality.
The right way to make suggestions for new features for Microsoft products is to post them on Connect, so that other members of the community can vote on them to indicate their support (or lack of it), add comments and refinements, and theoretically get the most-wanted features pushed to the top of a product team’s stack.
The site for CRM suggestions is: https://connect.microsoft.com/dynamicssuggestions/
When you go to submit feedback, you choose between Dynamics products, including the Connector for Microsoft Dynamics, Dynamics CRM, Dynamics Marketing and Microsoft Social Listening.
Does Connect Work?
I first requested OR conditions for Workflows on Connect back in August 2009 and since then it has been requested separately by several other people. So on the one hand it is great that new features are added, but nearly five years has been a long time to wait for what seems an obvious feature gap.
The fact that others have requested it in the meantime tells me that we need better mechanisms on Connect to be able to link these suggestions together in order to aggregate the votes they all received – each one their own did not get all that many votes because it was split. This is an issue we see quite a lot on the Connect site when people don’t even seem to have tried to search before adding a suggestion of their own (it might be forgivable here, because it can be hard to look for this topic since “OR” is interpreted as a Boolean operator by the Connect site search if used without quotation marks).
My suspicion is that this feature would still not be here if it was not for the new Case routing functionality. This uses the same workflow engine “under the hood”, and I suspect some developer came across this limitation and Microsoft suddenly saw why this was such an issue for so many customer for so long, and it got bumped up the priority list and implemented tout de suite.
Don’t get me wrong, Connect does generally work and we get lots of great new features that have been suggested there. I proposed that fields should show configurable tooltips on forms, and in CRM 2013 this was implemented, so now the field Description property is used to display an infotip when the user hovers on the field label (or clicks, or pokes it). While this is still not 100% ideal for full configurability, and does not support a multi-language implementation, it is at least a good start.