Next week, I will be presenting at CRMUG Focus in Indianapolis on Workflows! To get prepared for this I have been reviewing the webinar Panel Discussion Series: Getting Started with Workflows. This was a great session where Malcolm McAuley hosted with a panel of Abraham Saldana, Gus Gonzalez, and myself. This is a quick session of the best tips when getting starting creating workflows.
The session started with each panelist sharing their top tips. Abe discussed the importance of using synchronous workflows, only make a workflow Real-time if absolutely necessary. I talked about the need to map out all your logic first and test your workflows in a development environment (or if necessary using User Scope or run on demand). Gus shared the importance of using child workflows as well as how you should always start with a check condition (even when you think you don’t need one).
The topic of Child Workflows came up several times on the workflow. Some of the benefits are:
- Break up large workflows into manageable chunks
- If the workflow needs to be edited, you can deactivate the child to make the edits and the parent will still fire. The parent will wait for the child to be active and then keep running. If this was just one workflow, anything that should have triggered the workflow would not while it was inactive.
- If there is a wait in your workflow, you want to separate the logic after the wait into a child so that you can always use the most recent logic. (See more on this in my Workflow Settings blog)
Malcom asked the group what was one of the first “gotchas” when working with workflows. Both Gus and Abe mentioned previous limitations with performance and issues with real time workflows (reminder: use only when necessary). Additionally Abe talked about being careful with Wait conditions in your workflows and being aware of other options outside of workflows. I also mentioned the need to review your security. Don’t just trust out of the box security roles! Some people may have access to create workflows that you would prefer did not.
We also spent some time discussing workflow documentation. Each of us use different tools (Excel, Visio, OneNote) to capture the details. The theme was to make documentation a priority and if possible, start at the beginning. Create your documentation when you start then you can just add to it instead of needing large-scale documentation efforts.
I would also recommend using Advanced Find to review your processes. This allows you to pull in details like if it runs on demand, on create, trigger fields, etc. This is a good place to start with your documentation. Then you can also navigate to specific fields and “Show Dependencies” to see which workflows they are included in. I use this when changing the Display Name for a field, then you can see which workflows might need updated wording too.
Finally, Gus mentioned how extensible workflows are. There are Actions which can be built once and available to use with any entity and there are Custom Workflows. There are several Custom Workflow solutions available for free (Ultimate Workflow Toolkit, Workflow Elements) or, like Abe, you can write your own and use on future projects.
Workflows are a very powerful tool and can greatly streamline your system! Just be careful and learn from these tips so you can build the best processes possible.
How do you use workflow? Any other tips to share?