Azure DataFactory Pipeline
The Azure DataFactory Pipeline activity triggers a pipeline in Azure Data Factory and waits for it to complete before the workflow continues.
Purpose
Use the Azure DataFactory Pipeline activity to:
- Trigger ADF pipelines as part of a Una workflow
- Chain ADF data movement or transformation work with downstream Una activities (ETL, reports, notifications)
- Pass runtime parameters to an ADF pipeline from workflow context variables
Prerequisites
An Azure Data Factory data source must be configured in Una with:
- Tenant ID
- Client ID and authentication key (service principal credentials)
- Subscription ID
- Resource group name
- Data Factory name
Configuration
Data Source
Select the Azure Data Factory data source. Only data sources of type Azure Data Factory are available.
Pipeline Name
The name of the pipeline to run as it appears in Azure Data Factory. Supports interpolation:
ProcessActuals_{{var:Period}}
Parameters
Key/value pairs passed to the ADF pipeline as runtime parameters. Both key and value support interpolation.
| Field | Description |
|---|---|
| Name | The parameter name as declared in the ADF pipeline |
| Value | The value to pass — static or interpolated |
Behavior
- The pipeline name and all parameter values are interpolated.
- A service principal credential is created from the data source configuration.
- The pipeline is triggered with the provided parameters.
- The activity polls for the pipeline run status using incremental wait intervals.
- Polling continues until the status is no longer
InProgressorQueued. - On completion the activity returns Success (regardless of the ADF pipeline's outcome — check ADF logs if the downstream steps indicate an issue).
The activity does not currently distinguish between ADF pipeline success and failure in its status return. If the pipeline fails in ADF, the workflow will still proceed to the success branch. Wire an additional check if ADF pipeline outcome is critical.
Usage Patterns
Trigger ADF Then ETL Into Model
Azure DataFactory Pipeline ──> ETL ("Import_Actuals")
└── Pipeline: MoveActualsToStaging
Parameters: Period = {{var:Period}}
Conditional Trigger
If ({{var:RunAdf}} == "true")
├─[Yes]──> Azure DataFactory Pipeline
└─[No]───> Skip to next step
Best Practices
- Use service principal authentication (not personal credentials) for the data source so the connection survives user account changes.
- Name the activity after the ADF pipeline it runs for clarity in the workflow diagram.
- If the ADF pipeline outcome is critical, add a downstream validation step (e.g. check a staging table row count) rather than relying on this activity's status alone.
JSON Reference
{
"discriminator": "AzureDataFactoryWorkflowActivity",
"activityId": "<uuid>",
"name": "ADF Pipeline",
"positionX": 0,
"positionY": 0,
"advanceRule": 2,
"dataSource": "MyADFConnection",
"pipelineName": "ProcessActuals",
"parameters": [
{ "key": "Period", "value": "{Period}" }
]
}
| Property | Type | Description |
|---|---|---|
dataSource | string | Corresponds to the Data Source field. The Azure Data Factory data source. |
pipelineName | string | Corresponds to the Pipeline Name field. The name of the ADF pipeline to trigger. Supports {variable} interpolation. |
parameters | array | Corresponds to the Parameters list. Array of { "key": string, "value": string } objects passed as ADF pipeline runtime parameters. |