Actions44
- Execution Actions
- Monitoring Actions
- Scheduler Actions
- Tag Actions
- Workflow Actions
Scheduler → Execution Protection
AI-generatedSummary
Scans up to 50 pages of the instance's workflows for self-calling or mutually circular workflow references, and deactivates any selected workflow that is part of such a loop. Returns the full dependency graph plus a per-workflow result.
Inputs
- Workflow Selection — How to choose target workflows: From Searchable List (default), Multiple From List, Current Workflow (needs the workflow saved), or By URL or ID.
- Workflow Name or ID (required) — Single workflow to check; shown when selection mode is list.
- Workflow Names or IDs — Several workflows to check; shown when selection mode is multiple.
- Workflow URL or IDs — Workflow URL, ID, or comma-separated IDs; shown when selection mode is manual. URLs are parsed to extract the ID.
- Protect Against Loops — Default true. When on, selected workflows detected as part of a loop are deactivated. When off, nothing is deactivated and results only report the graph.
Output shape
One item with dependencyGraph ({workflowCount, edges[{fromWorkflowId, toWorkflowId, reason}], possibleLoops[{workflowId, workflowName, reason}]}) and results, an array of {workflowId, protectedAgainstLoops, deactivated} for each selected workflow.
Loop detection is heuristic: it only looks at node parameters named workflowId, workflow, or workflowID, and flags direct self-references and two-workflow reciprocal references. Longer cycles (A→B→C→A) are not detected. The graph covers workflows from the first 50 pages of the API listing, covering all workflows on the instance, not only the selected ones. A failed API call throws unless Continue On Fail is enabled.
Examples
Example 1: Guard the current workflow against recursion before it runs on a schedule.
Workflow Selection = Current Workflow; Protect Against Loops = true.
Example 2: Audit loops across several workflows without changing anything.
Workflow Selection = Multiple From List, pick workflows; Protect Against Loops = false; read dependencyGraph.possibleLoops.