/
Intelligent Workflow Best Practices

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