Tasks
A Task is a reusable configuration that defines an automated action triggered at a specific point in the transfer lifecycle. UDMG supports multiple Task types, each defining a specific action and its associated configuration parameters, such as executing system commands or publishing Universal Events to Universal Controller.
Tasks can be used to automate operations such as executing system commands or publishing Universal Events to Universal Controller.
Tasks are assigned to Pipelines through the Pipeline Workflow. Each Workflow defines:
- which Tasks run,
- which transfer event triggers them,
- and the order in which they are executed.
Workflows and Task Execution
Each Pipeline has a Workflow composed of Triggers based on transfer lifecycle events. Tasks can be assigned to each trigger to automate actions at specific points during transfer processing.
Tasks associated with the same trigger are executed sequentially in the order defined in the Workflow. Each Task must complete before the next Task in the sequence begins.
If a Task fails, the remaining Tasks associated with that trigger are not executed, and the Transfer is marked as Failed.
During Workflow execution, Transfers enter different statuses, depending on the Task trigger. In most cases, the Transfer is in the Processing status, which indicates that post-transfer operations, such as Task execution, are still in progress. Once all Tasks have completed successfully, the transfer status is updated to Completed.
Task Types
| Type | Description |
|---|---|
| Command | Executes a system command on the host where UDMG Server is running. This Task type can be used to run commands or executable programs as part of the Pipeline Workflow. |
| Publish Event | Publishes a Universal Event to Universal Controller through the Universal Controller API. This Task type can be used to notify Universal Controller of transfer lifecycle events or to trigger downstream automation. For more context, see Universal Event Integration. |
Triggers
Tasks are executed when specific transfer lifecycle events occur. These events determine when Tasks run, and their order in the Pipeline Workflow determines the execution sequence.
The available triggers are:
| Trigger | Description | Transfer Status During Task Execution |
|---|---|---|
| On Staged | Triggered after the file is staged on the UDMG Server host and, if configured, after ICAP scanning*, but before the file is moved to its final destination. | Running |
| On Sent | Triggered after the file is successfully sent to the final destination. | Processing |
| On Received | Triggered after the file is successfully received at the final destination. | Processing |
| On Error | Triggered when a transfer fails, or when a Task assigned to the On Staged, On Sent, or On Received Trigger fails during execution. To avoid unnecessary Task execution, low-level transfer errors such as mid-upload disconnects, write errors, and setup failures cause the transfer to be marked as | Processing |
ICAP Error and Violation policies set to Reject and Quarantine are handled as a transfer Failure and trigger On Error tasks directly.
Trigger Availability & Behavior by Pipeline Type
Trigger availability and behavior vary by Pipeline Type. They depend on the role UDMG performs in the Pipeline (Server, Client, or Gateway) and on whether the transfer is inbound or outbound.
UDMG as Server
| Pipeline Type | On Staged | On Sent | On Received | On Error |
|---|---|---|---|---|
| Local AS2 Server to Local Filesystem | (only for inbound transfers) | (only for inbound transfers) | ||
| Local FTP(S) Server to Local Filesystem | (only for inbound transfers) | (only for outbound transfers) | (only for inbound transfers) | |
| Local HTTPS Server to Local Filesystem | (only for inbound transfers) | (only for outbound transfers) | (only for inbound transfers) | |
| Local SFTP Server to Local Filesystem | (only for inbound transfers) | (only for outbound transfers) | (only for inbound transfers) |
For Local AS2 Server to Local Filesystem, only inbound transfers are supported. As a result, On Sent Tasks are not available for this Pipeline type.
The following diagrams shows the Tasks sequencing during the keys steps of a transfer lifecycle:
- Inbound Transfers
- Outbound Transfers
Color code
- Purple: Transfer step
- Orange: Task execution
- Green: Transfer completed
- Red: Transfer failed
UDMG as Client
Push Scenario
| Pipeline Type | On Staged | On Sent | On Received | On Error |
|---|---|---|---|---|
| Local Filesystem to Remote AS2 Server | ||||
| Local Filesystem to Remote FTP(S) Server | ||||
| Local Filesystem to Remote SFTP Server | ||||
| Local Filesystem to Remote Cloud Storage |
The following diagram shows the Tasks sequencing during the keys steps of a transfer lifecycle:
Color code
- Purple: Transfer step
- Orange: Task execution
- Green: Transfer completed
- Red: Transfer failed
Pull Scenario
| Pipeline Type | On Staged | On Sent | On Received | On Error |
|---|---|---|---|---|
| Remote FTP(S) Server to Local Filesystem | ||||
| Remote SFTP Server to Local Filesystem | ||||
| Remote Cloud Storage to Local Filesystem |
The following diagram shows the Tasks sequencing during the keys steps of a transfer lifecycle:
Color code
- Purple: Transfer step
- Orange: Task execution
- Green: Transfer completed
- Red: Transfer failed
UDMG as Gateway
| Pipeline Type | On Staged | On Sent | On Received | On Error |
|---|---|---|---|---|
| Local FTP(S) Server to Remote Cloud Storage | (only for outbound transfers) | (only for inbound transfers) | ||
| Local HTTPS Server to Remote Cloud Storage | (only for outbound transfers) | (only for inbound transfers) | ||
| Local SFTP Server to Remote Cloud Storage | (only for outbound transfers) | (only for inbound transfers) |
The following diagrams shows the Tasks sequencing during the keys steps of a transfer lifecycle:
- Inbound Transfers
- Outbound Transfers
Color code
- Purple: Transfer step
- Orange: Task execution
- Green: Transfer completed
- Red: Transfer failed
Task Instances
Every time a Task is executed, a Record called a Task Instance is created to track that execution.
When a transfer reaches a configured Trigger, UDMG creates one Task Instance for each Task assigned to that Trigger and executes them in sequence.
If a Task fails, the remaining Tasks assigned to the same Trigger are not executed and are marked as Aborted. On Error Tasks are then triggered.
For more information about Task Instance statuses, refer to Task Instances.
Transfer Cancellation Behavior
Admins can cancel a transfer only while it is in the Running state.
When a running transfer is cancelled:
- On Error Tasks are not triggered.
- Any pending Workflow execution is cancelled.
- No additional Task Instances are created for later Triggers.
For more information about cancelling a transfer, refer to Transfers.
Monitoring Task Instances
Task Instances can be monitored from the Task Instances Dashboard, where you can review status, execution details, and Task output. There are two ways to access it:
From the Sidebar — Click Task Instances and filter the Record Table by the relevant Transfer UUID or Task Name. From the Transfers Dashboard — Click a Transfer Record to open its details, then click the View Workflow button. This redirects to the Task Instances Dashboard with the Record Table pre-filtered for that Transfer.