Microsoft Dynamics CRM’s built in workflow engine is pretty powerful, as anyone who’s worked with it for a while is aware. However, in our experience, a good customer quickly comes up with requirements that go beyond it’s built in capabilities, requiring custom activities. Engage is used to writing some basic activities to handle common problems, but now thanks the Carlton Coltor of Microsoft, there’s a robust library of basic workflow activities up on codeplex for all CRM customers and partners.
The CRM Workflow Manipulation Library has custom activities for a variety of basic scenarios. It’s broken up into five sections which I’ll talk about separately
By default, CRM workflows can’t do much in the way of basic math. The Manipulation library handles simple arithmetic and min, max calculations. The crown jewel though is a powerful equation solver, which allows CRM developers to set up complex equations involving CRM variables, and use that output in the workflow.
Engage is really excited about these date utilities. One of the big limitations of CRM workflows is that they don’t distinguish business days from non business days. The workflow activities here deal with that limitation, giving users the ability to figure out what date is X business days from or before any other day, accounting for weekends, and holidays as defined in the CRM business closures calendar. On top of the date math activities we worked on, Carlton’s added a parse date activity, which will return the different components of a date (year, month, date, day, time, etc.)
CRM also doesn’t allow you to do any string manipulation in native workflow activities. The Manipulation Library has plenty of useful string functions, including capitalization, trim leading or following spaces (great for duplication detection), and string replacement. Most interestingly though are functions that convert any string to it’s SoundEx or Metaphone equivalent. For those not aware, SoundEx and Metaphone are short hand codes for expressing how a string is pronounced, so two homonyms like see and sea end up with the same shorthand (SoundEx: S000, and metaphone: S). By writing a the SoundEx or Metaphone code of a contact’s name out to a separate field, you can actually set up duplicate detection rules based on how the names are pronounced. It’s a neat idea with some novel applications
If you’re one of the people who knows regular expressions you probably feel a lot like this guy. Now you can apply those skills to your CRM problems in extremely efficient fashion. Regular expressions can take some time to master, but once you know them, there’s almost no better way to quickly manipulate strings and text. RegEx functionality in CRM is an excellent idea with tons of applications.
A big thanks to Carlton for putting this library together, and we’re glad we were able to contribute and round out CRM with some solid reusable functionality that partners and customers can use to improve their CRM setup.
Lets have a discussion on how will you use the Manipulation Library. Does this solve any current needs you or your client has? Does the library help you think and design out side of the box?