When Microsoft initial announced the introduction of real-time workflows in Microsoft CRM 2013, I became overjoyed – or at least excited – about the new functionality I’d have available to me.  As a non-developer, I envisioned a world in which, gone were the days of relying on jscript, stumbling through oData, json and jQuery, just to get a value from a related record – in real time.  It appeared that I could now use a workflow to populate the phone number of the contact associated with a case, on the case record – in real time!

However, when I finally got my hands on CRM 2013, I have to admit, I was disappointed.  Real Time wasn’t quite Real Time!  With forms automatically saving every 30 seconds, it meant that real time actually meant within 30 seconds – the workflow still only triggered On Save, not On Change as I had anticipated.

Again, however, this forced me to think outside the box and really explore some valuable use cases for this new tool.  For starters,  I recognized that with Quick View Forms – another new feature – I no longer needed to load this related data on the form immediately.  Quick View Forms would handle that for me.  I also recognized that if I simply forced a save using a very simple jscript function, that I would get the workflow to trigger – and unlike asynchronous (non-real time) – the result would appear immediately on load.  Pretty cool!  And this is what led me understand the real power of real time workflows in Microsoft CRM in the form of Quick Data Entry, and Data Validation.

Quick Data Entry

Let’s say that you run a Travel Agency – you’ve renamed your Opportunity entity to Trip – and you’d like to keep track of all the Travelers associated with a Trip.  In CRM 2013, Microsoft did improve the entry of specific connection records, like Stakeholders by allowing you to lookup a contact inline, and quickly add a role.

However, in this scenario, the Travel Agency is only interested in tracking one type of role – Traveler.  And while this isn’t a showstopper – we could simply remove all of the underlying Connection Roles under the Stakeholders category and leave just Traveler – what’s more of an issue, is that they can’t change the columns associated with this Traveler on the Trip record.  When they’re booking a trip, they want to quickly see the birthday and passport expiration date of the Traveler – not just a column that says Traveler!

Initially, I constructed a new view under Connections to include the Birthday and Passport Expiration Date of the Traveler – but when I added it to the form, my ability to use the Inline Quick Add functionality was gone.  By removing the out of the box view that only showed role, I lost my ability to quickly add travelers.  At this point, I did consider creating a custom Traveler entity – and then leveraging the new Quick Create form – but even this felt too cumbersome.  And more importantly, they wanted to be able to view all connections with a Trip in one view, like associated Vendors – and by moving Travelers to a separate entity, they’d lose that functionality.

The Lightbulb Moment

Enter Real Time Workflows!  I realized that if I created a lookup field to the contact entity and a simple checkbox field that triggered a save, I could quickly create these underlying Traveler connection records directly on the form – using Real Time Workflow.

Real time workflow add travelers

The Simple Script – Used to trigger the save when the Add Traveler is Checked

Real time workflow simple script


As shown below, once I enter the name of the contact I’m looking to add – once the Add Traveler checkbox gets checked, the Real-Time Workflow does two things:

  1. Creates a Connection Record to Associate the Contact as a Traveler
  2. Removes the Contacts Name from the Enter Traveler Name field – and then unchecks the Add Traveler field, enabling us to quickly enter additional travelers once the form reloads

The Workflow Definition

Real time workflow options

Real time workflow step description

Creation of the Traveler Record Step

Create Connection Traveler Record Step

Clear the Traveler Fields Step

Clear Traveler Fields Step

The Result – After Clicking Checkbox

Result after clicking checkbox

And that’s it – quick entry in CRM.  With some creativity, this example can be extended to many different business scenarios that require simple, quick entry of data.  Stay tuned for Part 2 of this series, which will focus on Data Validation.

Happy CRM’ing! If you need help, MIBAR can help you get the most out of your Microsoft CRM (Dynamics 365) Implementation. Schedule your Microsoft Dynamics CRM consultation today!

Additional Microsoft CRM Resources

Enabling a Mobile Sales Force with Microsoft CRM, Scribe Online and Resco – Part 1

Managing Seasonality with Goals in Microsoft CRM

The Real Power of Real Time Workflow in Microsoft CRM 2013