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:

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

    1. Right-click in the Workflow editor.

    2. Select Add Existing Object and search for your task.

    3. Check the Insert as External Dependency box.

  • Via drag-and-drop

    1. Drag an object from the Explorer into the Workflow editor.

    2. 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:

Workflows (JOBP)