Not a week goes by that my colleagues and I don’t find ourselves at a crossroads when discussing Workflows in CRM. Personally, I tend to have a love/hate relationship when it comes to workflows because I never want to see the “(Never Ending) Waiting” status in my System Jobs queue. The truth of the matter is, a “Waiting” status can be even more frustrating than a “Failed” status. This is because you don’t have a definitive answer of whether your Workflow is broken or just moments away from validating your CRM customization skills. In an effort to save you from a future headache let’s break down the differences between the “Wait” and “Timeout” conditions within CRM.
When creating a Workflow you may find that you need to insert a delay between one step and another. There are two main ways to accomplish this: a Wait Condition or a Process Timeout. Simply put, a “Wait” condition is action- or state-dependent. A Process “Timeout” is date- or time-dependent. Sounds pretty simple right? A Wait condition is dependent upon another field or Status of a record while a Timeout is dependent upon a specific point in time.
When to Wait
The Wait condition is most useful for situations in which you need to wait for something to be done, or specific value to be set. This means that Wait conditions are great for building workflows that are coordinated with manual processes carried out by Users.
Consider the following scenario:
Your employer, ABC Consulting, provides employee training for a variety of Microsoft Office products. Depending on the number of possible trainees an Account will change ownership to the Trainer (user) specializing in customers of that size.
See Figure 1 to the right for an example.
Trust in Timeout
A Process Timeout is essential for building workflows that should control the execution time of certain steps while remaining fully automated. Let’s go back to our “Microsoft Office Training” scenario.
ABC Consulting prides itself in customer service and wants to ensure that incoming support cases are resolved as quickly as possible. The management team has said that if a Case has not been resolved in 1 day they want to bring it to the top of the Service Queue with a high priority.
Take a look at the next example to see how this process might look.
*You can include a Process Timeout in a workflow by selecting Add Step > Wait Condition, and then adjusting the values as shown here: