Skip to main content

Workflow Dependencies

Workflow dependencies in NeoAgent allow you to control the execution order of your workflows. This ensures that workflows run in the correct sequence, especially when one workflow relies on the output or completion of another.

Why Dependencies Matter

  • Prevent Conflicts: Avoid situations where workflows might perform conflicting or redundant actions if run simultaneously or out of order.
  • Ensure Data Availability: Guarantee that data generated or processed by one workflow is available and finalized before a subsequent workflow that needs this data begins.
  • Enable Complex Automations: Build sophisticated, multi-step automation processes by chaining workflows together based on specific completion criteria.

How Dependencies Work

When a NeoAgent workflow is triggered, it can be configured to wait for other specified workflows to complete before it starts its own execution. This is particularly useful for "Triggered" workflows.

  • If a workflow has dependencies, it will pause and wait until all its prerequisite workflows have finished successfully.
  • If a prerequisite workflow fails, the dependent workflow might not run, or its behavior could be affected, depending on your overall setup and error handling.

Configuring Execution Order

You can manage the execution order of your workflows directly from the Workflows page in NeoAgent.

Sequential Execution

To make one workflow run only after another one finishes, you can establish a dependency. This is achieved by reordering workflows. The workflow that needs to run first should be placed higher in the execution order.

For example, you might have a "Triage" workflow that first categorizes a ticket. An "L1 Engineer" workflow could then depend on the "Triage" workflow to ensure the ticket has the correct type, subtype, contact, and company information before it attempts to perform its tasks.

Workflow Reorder Button The "Reorder" button allows you to change the execution sequence of your triggered workflows.

In the image below, the "L1 Engineer" workflow is set to execute after the "Triage" workflow. This ensures that "L1 Engineer" only starts after "Triage" has completed its processing. Other workflows (like "Summarize Phone calls", "Notify about a ticket", etc.) that do not have explicit order dependencies with "Triage" or "L1 Engineer" can run in parallel or based on their own triggers and conditions.

Sequential Workflow Execution Example In this setup, "L1 Engineer" waits for "Triage" to complete. Other workflows can run in parallel.

Parallel Execution

Workflows that do not have defined dependencies on each other can run in parallel. This means they can be triggered and execute concurrently, based on their individual trigger conditions (e.g., "Ticket Created", "Status - Closed"). This is the default behavior if no specific order is set using the reorder functionality.

Best Practices

  • Start Simple: Begin with basic dependencies and gradually introduce more complex ordering as your automation needs evolve.
  • Avoid Circular Dependencies: Ensure you don't create a loop where Workflow A depends on Workflow B, and Workflow B (directly or indirectly) depends back on Workflow A. This will prevent your workflows from running.
  • Review Regularly: Periodically review your workflow dependencies, especially as you add or modify workflows, to ensure the logic remains sound and efficient.
  • Use Event History: Check the Event History to monitor workflow executions and confirm that dependencies are behaving as expected.
tip

Clearly defining dependencies is key to building robust and reliable automation sequences in NeoAgent.