Intelligent Workflow Best Practices
To ensure a reliable, maintainable, and high-performing system, follow these best practices when configuring intelligent workflow rules.
1. Define Rules with Clarity and Purpose
Create rules based on specific targets. Rules should apply to individual categories, category values, or fields.
Focus on outcomes. Design each rule to answer:
“When should this element be hidden, defaulted, or required?”Think in terms of results, not just conditions. Understanding the desired outcome helps guide rule logic more effectively.
2. Avoid Conflicts and Redundancy
Do not target the same element with multiple rules of the same result type (e.g., multiple "required" rules).
Avoid creating multiple rules of the same result type for the same element. This can lead to performance issues and unexpected behavior.
Only group multiple elements under one rule if none of them are involved in other rules of the same result type.
3. Use Clear and Descriptive Naming
Be explicit when naming rules—especially those that affect multiple elements.
A rule’s name should make it easy to identify which element(s) it applies to or allow that to be inferred.
4. Consider Performance and Maintainability
Multiple rules with identical conditions do not impact performance negatively.
Combining rules with shared conditions does not improve performance.
A larger number of simpler, well-targeted rules is often easier to support and understand than fewer, more complex ones.
5. Be Mindful of Logic Operators and Rule Interactions
Use caution with multiple "!=" operators.
Example:
if (Leak Found != AG Hazardous OR Leak Found != AG Non-Hazardous)
This will be true for any selection.
Instead, use:
if (Leak Found != AG Hazardous AND Leak Found != AG Non-Hazardous)
to enforce the intended condition.
Avoid conflicting rule types for the same element.
Be cautious when applying hide/show logic to elements that also have required or default value rules.
6. Write Clean, Readable Conditions
Minimize unnecessary parentheses and nesting for better readability.
Instead of:if ((((Leak Found = AG Non-Hazardous) AND Investigation Reason = Customer/Public Complaint) AND Leak At = Riser - Above ground) AND Proximity to Bldg = 3' or less)
Use:
if (Leak Found = AG Non-Hazardous AND Investigation Reason = Customer/Public Complaint AND Leak At = Riser - Above ground AND Proximity to Bldg = 3' or less)
© 2025 • Epoch Solutions Group, llc. • All rights reserved