External Dependencies in Workflows
An external dependency is a placeholder in a Workflow that represents a task running outside of that specific Workflow. It acts as a gatekeeper: a task within your Workflow (the successor) will only begin processing once the external task reaches a specific status.
In the Workflow editor, external dependencies are easily identified by their white background and the arrow icon.
External dependencies can only be defined in Standard Workflows.
How External Dependencies Work
When you add an external dependency, you are telling the Workflow to look for a specific execution of an external object. The Workflow then evaluates whether that execution met your criteria before allowing the next internal task to run.
You define the expected behavior in two locations:
-
On the external dependency
-
Select the external dependency.
-
Open the Properties pane.
-
Open the External Dependency tab.
-
Define the Expected Status in the Executions Settings section.
For more information, see Configuring the Properties of an External Dependency in a Workflow.
-
-
On the successor task
-
Select the successor task.
-
In the Properties pane, open the Dependencies tab.
-
Define the action to take if those conditions are met or if they fail.
For more information, see Configuring the Dependencies of a Task in a Workflow.
-
Important: The status of the external dependency (the task box in your Workflow) is determined by whether the external task (the actual job) met your expectations.
Example: If you set the expected status to ENDED_NOT_OK, and the job actually fails, the external dependency placeholder will show ENDED_OK because your condition was successfully met.
Example: Adding an External Dependency
You can add them using one of two methods:
-
Via Add Object
-
Right-click in the Workflow editor.
-
Select Add Existing Object and search for your task.
-
Check the Insert as External Dependency box.
-
-
Via drag-and-drop
-
Drag an object from the Explorer into the Workflow editor.
-
Right-click the task and select Convert to External Dependency.
-
Once added, draw a line from the external dependency to its successor task. Note that external dependencies cannot have predecessors within the current workflow.
Monitoring and Statuses
The status of the external task is not the same as the status of the external dependency. An external dependency can only have one of the following status:
-
ENDED_OK
-
ENDED_INACTIVE
-
ENDED_SKIPPED
-
ENDED_OK_OR_INACTIV
External Task Colors (Process Monitoring)
During execution, the color of the external dependency task box indicates the state of the dependency:
-
White: The external task has not yet been processed
-
Blue: The external task is currently executing; the workflow is waiting.
-
Gray: The conditions defined in the External Dependency properties have been met.
Handling Blocked Tasks
If the external task enters a Blocked state, the dependency remains in a Waiting status. If you manually unblock the task, the dependency will only clear if your properties are configured to accept ANY_OK_OR_UNBLOCKED or ENDED_OK_OR_UNBLOCKED. Otherwise, it will continue to wait for a final status.
Status Availability Issues
The status of an external task is retrieved through its execution data. No status will be found if:
-
The external task has never been run.
-
The execution data has been cleared by a system reorganization.
In these cases, the action defined in the successor's Dependencies tab will be triggered.
Best Practices
Avoid Overlaps
The system is designed so that one execution of an external task satisfies only one instance of a Workflow dependency. Once an execution is "consumed" by a Workflow, it won't trigger another unless the timeframes overlap or are specifically configured otherwise.
Timeframe Alignment
Carefully configure the Look-back period in the Execution Settings (External Dependency tab in the Properties pane). Ensure the timeframe is wide enough to capture the external task's completion, but narrow enough to avoid picking up outdated executions from previous days.
Logical Date Check
Use the Task Activation Time is the Workflow's logical date setting to ensure the dependency is synchronized with the current business day's processing. For more information about how to configure this period, see Configuring the Properties of an External Dependency in a Workflow.
See also: