Skip to main content

Microsoft Fabric

Disclaimer

Your use of this download is governed by Stonebranch's Terms of Use.

Version Information

Template Name

Extension Name

Extension Version

Status

Microsoft Fabric

ue-ms-fabric

1.0.0

Fixes and new Features are introduced

Refer to Changelog for version history information.

Overview

Microsoft Fabric is an end-to-end analytics and data platform designed for enterprises, unifying data engineering, data integration, data science, and business intelligence into a single SaaS solution. Data Pipelines in Microsoft Fabric enable the orchestration and transformation of data at scale, connecting data sources, applying transformations, and loading results across the platform.

This Universal Extension provides the capability to trigger and monitor Microsoft Fabric Data Pipelines directly from the Universal Controller, enabling users to incorporate Fabric workloads into their broader automation and scheduling workflows. Pipeline parameters can be passed, execution can be tracked in real time on activity level, and results are returned directly in the task's output.

Key Features

Feature

Description

Data Pipeline Execution

Trigger Microsoft Fabric Data Pipelines from UAC, with support for passing runtime parameters via local YAML or JSON files.

Real-Time Pipeline Monitoring

Poll pipeline execution status at a configurable interval, streaming live progress on the activity level throughout the pipeline lifecycle

Flexible Authentication

Authenticate with Microsoft Fabric using Service Principal (client secret), Managed Identity, or Workload Identity, with support for environment-variable-based credential fallback.

Pipeline Cancellation

Cancel a running pipeline on demand via a Dynamic Command issued from the Universal Controller, or automatically upon task cancellation.

Structured Extension Output

Optionally expose pipeline run metadata and full activity details as structured JSON output, suitable for use in downstream UAC task dependencies and variable extraction.

Requirements

This integration requires a Universal Agent and a Python runtime to execute the Universal Task.

Area

Details

Python Version

Requires Python 3.11, tested with Agent bundled python distribution

Universal Agent Compatibility

  • Compatible with Universal Agent for Windows x64 and version >= 7.6.0.0.
  • Compatible with Universal Agent for Linux and version >= 7.6.0.0.

Universal Controller Compatibility

Universal Controller Version >= 7.6.0.0.

Network and Connectivity

Agent outbound network connectivity towards Microsoft Fabric REST API is required.

Microsoft Fabric

This integration is compatible with Microsoft Fabric Runtime 1.3.0

Supported Actions

There is one Top-Level action controlled by the Action Field:

  • Trigger Data Pipeline

Action Output

The extension output provides the following information:

  • exit_code, status_description: General info regarding the task execution. For more information users can refer to the exit code table.
  • invocation.fields: The task configuration used for this task execution.
  • result.attr_x: [description]
  • result.metadata: [description]
  • result.errors: List of errors that might have occurred during execution.

Examples:

Example of successful task execution, with all Extension Output options enabled.
{
"exit_code": 0,
"status_description": "Task executed successfully",
"invocation": {
"extension": "ue-ms-fabric",
"version": "1.0.0",
"fields": { ... }
},
"result": {
"pipeline_run_info": {
"id": "abcdefab-cdef-abcd-efab-cdefabcdefab",
"itemId": "abcdefab-cdef-abcd-efab-cdefabcdefab",
"jobType": "Pipeline",
"invokeType": "Manual",
"status": "Completed",
"failureReason": null,
"rootActivityId": "abcdefab-cdef-abcd-efab-cdefabcdefab",
"startTimeUtc": "2026-03-09T14:18:29.7489545",
"endTimeUtc": "2026-03-09T14:19:17.0855039"
},
"activity_details": {
"activities": [
{
"name": "SourceToDest",
"type": "Copy",
"status": "Succeeded",
"start": "2026-03-09T14:18:36.4579948Z",
"end": "2026-03-09T14:18:59.1918995Z",
"duration_s": 22.73
},
{
"name": "HardlyWait",
"type": "Wait",
"status": "Succeeded",
"start": "2026-03-09T14:19:00.6525098Z",
"end": "2026-03-09T14:19:02.4000498Z",
"duration_s": 1.75
},
{
"name": "Wait",
"type": "Wait",
"status": "Succeeded",
"start": "2026-03-09T14:19:00.6489133Z",
"end": "2026-03-09T14:19:16.3479894Z",
"duration_s": 15.7
}
]
}
}
}
Example of failed task execution, with all Extension Output options enabled.
{
"exit_code": 1,
"status_description": "Pipeline Failed: Pipeline run abcdefab-cdef-abcd-efab-cdefabcdefab failed.
Reason: {'requestId': 'abcdefab-cdef-abcd-efab-cdefabcdefab', 'errorCode': 'Failed', 'message': \"...\"}",
"invocation": {
"extension": "ue-ms-fabric",
"version": "1.0.0",
"fields": { ... }
}
},
"result": {
"activity_details": {
"activities": [
{
"name": "Stage Table",
"type": "InvokeCopyJob",
"start": "2026-03-09T12:37:58.4703049Z",
"end": "2026-03-09T12:39:19.5692696Z",
"duration_s": 81.1,
"error_code": "3161",
"error_message": "CopyJob execution failed, error message received from failing copyjob - 'A job
instance of the same job type is already running and this job instance is skipped' ",
"failure_type": "UserError"
}
]
}
}
}

Configuration Examples

Example: Managed Identity authentication, pipeline with parameters, full output

The MS Fabric task uses Managed Identity authentication to trigger a Data Pipeline in the specified workspace, passing runtime parameters. The task waits for pipeline completion, polling every 300 seconds with no maximum poll limit. All output options are enabled - activity transitions, summaries, and statistics are streamed to the task log, and both pipeline run metadata and full activity details are captured as structured extension output.

managed_full_output.png

Example: Workload Identity authentication, fire and forget

The MS Fabric task uses Workload Identity authentication, with client credentials sourced from environment variables on the agent host. The pipeline is triggered without any runtime parameters and the task does not wait for completion, returning immediately after the pipeline is successfully submitted.

workload_no_wait.png

Example: Service Principal authentication, wait for completion, failed activity details only

The MS Fabric task uses Service Principal authentication, with tenant ID, client ID, and client secret all explicitly provided in the task fields. The pipeline is triggered without any runtime parameters and the task waits for completion. Only failed activity details are captured in the extension output, providing a focused error report without returning details for successful activities.

sp_only_ext_out.png

Importable Configuration Examples

This integration provides importable configuration examples along with their dependencies, grouped as Use Cases to better describe end to end capabilities.

info

Those examples aid in allowing task authors to get more familiar with the configuration of tasks and related Use Cases. Such tasks should be imported in a Test system and should not be used directly in production.

Initial Preparation Steps

  • STEP 1: Go to Stonebranch Integration Hub and download the "Microsoft Fabric" integration, along with the "Azure Kubernetes Job" integration. Extract the downloaded archive on a directory in a local drive.
  • STEP 2: Locate and import the above integration to the target Universal Controller. For more information refer to the "How To" section in this document
  • STEP 3: For "Microsoft Fabric", inside directory named "configuration_examples" you will find a list of definition zip files. Upload them one by one respecting the order presented below, by using the "Upload" functionality of Universal Controller:
    • variables.zip
    • credentials.zip
    • scripts.zip
    • tasks.zip
    • workflows.zip
  • STEP 4: Update the uploaded UAC Credential entity introduced with proper Username / Password
  • STEP 5: Update the UAC global variables introduced with variables.zip file. Their name is prefixed with "ue_ms_fabric". Review the descriptions of the variables as they include information on how they should be populated.
  • STEP 6: Create an OMS record on the Universal Controller. Ensure the address matches the one assigned to the relevant global variable from the previous step. For more information refer to the Creating OMS Server Records in this document.
  • STEP 7: Create an Agent Cluster on the Universal Controller. Ensure the name matches the one assigned to the relevant global variable from the previous step. For more information refer to the Creating an Agent Cluster in this document.
tip

The order indicated above ensures that the dependencies of the imported entities need to be uploaded first.

How to "Upload" Definition Files to a Universal Controller

The "Upload" functionality of Universal Controller allows Users to import definitions exported with the "Download" functionality.

2.jpg

Login to Universal Controller and:

  • STEP 1: Click on "Tasks""All Tasks"
  • STEP 2: Right click on the top of the column named "Name"
  • STEP 3: Click "Upload..."

1.jpg

In the pop-up "Upload..." dialogue:

  • STEP 1: Click "Choose File".
  • STEP 2: Select the appropriate zip definition file and click "Upload".
  • STEP 3: Observe the Console for possible errors.

Use Case 1: Microsoft Fabric Pipeline Execution on AKS with Managed Identity

Description

This workflow demonstrates secure Microsoft Fabric Data Pipeline execution through ephemeral Universal Agent deployment on Azure Kubernetes Service (AKS). Using the ue-aks-jobs extension, it first deploys a transient Universal Agent inside the AKS cluster. The agent then leverages the ue-ms-fabric extension with Managed Identity authentication to trigger a Microsoft Fabric Data Pipeline, followed by automatic agent cleanup to maintain cluster hygiene.

The tasks configured demonstrate the following capabilities among others:

  • Ephemeral Universal Agent deployment on AKS via the ue-aks-jobs extension.
  • Managed Identity authentication for Microsoft Fabric pipeline execution, enabled by the AKS pod identity context - no stored credentials required.
  • Complete lifecycle automation including agent deployment, pipeline execution, and automated agent deletion.

The components of the solution are described below:

  • "UC1: Microsoft Fabric - Single Container Universal Agent Deployment" - Deploys a transient Universal Agent inside the configured AKS cluster.
  • "UC1: Microsoft Fabric - Trigger Data Pipeline" - Triggers a Microsoft Fabric Data Pipeline using the deployed AKS agent and Managed Identity authentication, waiting for the pipeline to reach a terminal state.
  • "UC1: Microsoft Fabric - Universal Agent Deletion" - Deletes the previously deployed Universal Agent, cleaning up all AKS resources.

image-20260310-192343.png

How to Run

STEP 1: Manually start the workflow. This triggers the first task, "UC1: Microsoft Fabric - Single Container Universal Agent Deployment", which deploys a transient Universal Agent inside the target AKS cluster.

STEP 2: Once the agent is deployed, the second task, "UC1: Microsoft Fabric - Trigger Data Pipeline", triggers the configured Microsoft Fabric Data Pipeline through the AKS agent using Managed Identity authentication and monitors it to completion.

STEP 3: After the pipeline completes, the final task, "UC1: Microsoft Fabric - Universal Agent Deletion", deletes the deployed agent, ensuring no leftover resources remain in the cluster.

Expected Results

  • The Universal Agent is successfully deployed inside the AKS cluster.
  • The Microsoft Fabric Data Pipeline is triggered and monitored to a successful terminal state using Managed Identity authentication.
  • The Universal Agent is deleted after pipeline execution, leaving no residual resources in the cluster.

Input Fields

Name

Type

Description

Version Information

Action

Choice

The action performed upon the task execution.

  • Trigger Data Pipeline

Introduced in 1.0.0

Authentication Method

Choice

Select how to authenticate with Azure.

  • Service Principal: Tenant ID and Client Credentials must be provided.
  • Workload Identity: Tenant ID and Client ID must be provided. The AZURE_FEDERATED_TOKEN_FILE environment variable must also be set.
  • Managed Identity: No Credentials Needed.

Introduced in 1.0.0

Directory or Tenant ID

Text

Azure Directory (Tenant) ID (GUID). Can be omitted if the AZURE_TENANT_ID environment variable is set on the agent host.

Introduced in 1.0.0

Client Credentials

Credential

UAC credential where user=Client ID and token=Client Secret. Can be omitted if the AZURE_CLIENT_ID / AZURE_CLIENT_SECRET environment variables are set on the agent host.

Introduced in 1.0.0

Workspace

Dynamic Choice

The Microsoft Fabric workspace containing the pipeline. Populated dynamically using the configured authentication credentials.

Introduced in 1.0.0

Pipeline

Dynamic Choice

Data pipeline to trigger within the selected workspace. Populated dynamically. A pipeline name can be entered manually if the dynamic dropdown is unavailable.

Introduced in 1.0.0

Pipeline Parameters

Script

YAML or JSON formatted file containing pipeline parameters as a key-value mapping. Leave empty to trigger the pipeline with no parameters.

Introduced in 1.0.0

Wait for Completion

Checkbox

When enabled, polls the pipeline until it reaches a terminal state (Succeeded, Failed, or Cancelled). When disabled, triggers and returns immediately after the initial status check.

Introduced in 1.0.0

Polling Interval (sec)

Integer

Number of seconds to wait between status polls. Only applies when Wait for Completion is enabled.

Only applicable if Wait for Completion is selected.

Introduced in 1.0.0

Max Polls

Integer

Maximum number of polls before timing out. Leave empty or set to 0 to poll indefinitely until the pipeline reaches a terminal state.

Only applicable if Wait for Completion is selected.

Introduced in 1.0.0

STDOUT Options

Choice

Controls activity information written to task STDOUT.

  • Include Activity Transitions: Prints Pipeline & Activity status changes per poll.
  • Include Activity Summary: Prints a per-activity table at the end of pipeline execution.
  • Include Activity Statistics: Prints aggregate metrics at the end of pipeline execution.

Only applicable if Wait for Completion is selected.

Introduced in 1.0.0

Extension Output Options

Choice

Controls what data is included in the extension JSON result.

  • Include Pipeline Run Info: Includes information relating to the triggered pipeline run.
  • Include Activity Details: Includes details for each activity that was executed as part of the triggered pipeline. Only applicable if Wait for Completion is selected.

Introduced in 1.0.0

Only Retrieve Failed Activity Details

Checkbox

When checked, only details for failed activities are retrieved. Applies only when Include Activity Details is selected in Extension Output Options.

Introduced in 1.0.0

Output Fields

Name

Type

Description

Version Information

Item Job Instance ID

Text

The unique identifier of the Fabric pipeline job instance.

Introduced in 1.0.0

Root Activity ID

Text

The root activity ID of the pipeline run as returned by Microsoft Fabric. Informational only.

Introduced in 1.0.0

Status

Text

The current execution status of the pipeline run (e.g., InProgress, Succeeded, Failed, Cancelled). Updated on every poll cycle.

Introduced in 1.0.0

Environment Variables

Environment Variables can be set from Environment Variables task definition table. The following environment variables can affect the behavior of the extension. All environment variables are optional. Each has a hardcoded default that is used when the variable is absent or set to an invalid value.

Name

Type

Description

Default Value

Version Information

UE_HTTP_TIMEOUT

Integer

Timeout in seconds for each individual HTTP request made to the Fabric API.

60

Introduced in 1.0.0

UE_RECONNECT_RETRIES

Integer

Number of retry attempts for transient HTTP errors (429, 5xx, connection errors, timeouts).

3

Introduced in 1.0.0

UE_RECONNECT_INTERVAL

Integer

Number of seconds to wait between retry attempts in case of 5xx errors.

5

Introduced in 1.0.0

UE_PIPELINE_BACKOFF_LIMIT

Integer

Number of attempts used to discover the job instance ID after triggering a pipeline. The Fabric API returns 202 with no body on trigger, so the extension polls the run list with exponential backoff (2^i seconds) to identify the new run.

5

Introduced in 1.0.0

Cancelation and Rerun

No changes are made to the current execution in case it's being monitored, the extension exits early, returning the current pipeline status without waiting for a terminal state.

Cancellation does not automatically stop the pipeline in Fabric. To cancel the pipeline run itself, use the Cancel Pipeline dynamic command (see below).

Each rerun triggers a fresh pipeline execution from scratch.

Dynamic Commands

Command Name

Allowed Task Instance Status

Description

Cancel Pipeline Run

Running, Cancelled

Sends a cancellation request to the Fabric API for the current pipeline job instance. Can be issued while the task is running. Sets an internal flag so the polling loop treats the resulting Cancelled/Stopped status as a successful outcome rather than an error.

Exit Codes

Exit Code

Status

Status Description

Meaning

0

Success

"Task executed successfully."

Task completed and the pipeline reached a successful terminal state.

1

Failure

"Execution Failed: <<Error Description>>"

Generic Error. Raised when not falling into the other Error Codes.

1

Failure

"Pipeline Failed"

The Fabric pipeline reached a Failed terminal state.

2

Failure

"Authentication Error"

Token acquisition failed due to invalid, missing, or unsupported credentials.

3

Failure

"Authorization Error"

The authenticated principal received a 403 from the Fabric API - insufficient permissions on the workspace or pipeline.

10

Failure

"Timeout Error"

An HTTP request to the Fabric API timed out after all retries were exhausted.

20

Failure

"Data Validation Error: <<Error Description>>"

Input field validation failed.

40

Failure

"Polling Timeout: maximum poling timeout reached."

The pipeline did not reach a terminal state within the configured Maximum Polls limit.

STDOUT and STDERR

STDOUT is used for displaying Job information and is controlled by STDOUT Options field.

STDERR provides additional information to the user, the detail of which is tuned by Log Level Task Definition field.

warning

Backwards compatibility is not guaranteed for the content of STDOUT/STDERR and can be changed in future versions without notice

How To

Import Universal Template

Import the Universal Template into your Controller:

  1. Extract the zip file, you downloaded from the Integration Hub.
  2. In the Controller UI, select Services > Import Integration Template option.
  3. Browse to the "export" folder under the extracted files for the ZIP file (Name of the file will be unv_tmplt_*.zip) and click Import.
  4. When the file is imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.

Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.

Configure Universal Task

For a new Universal Task, create a new task, and enter the required input fields.

Integration Modifications

Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.

  • Python code modifications should not be done.
  • Template Modifications
    • General Section
      • "Name", "Extension", "Variable Prefix", and "Icon" should not be changed.
    • Universal Template Details Section
      • "Template Type", "Agent Type", "Send Extension Variables", and "Always Cancel on Force Finish" should not be changed.
    • Result Processing Defaults Section
      • Success and Failure Exit codes should not be changed.
      • Success and Failure Output processing should not be changed.
    • Fields Restriction Section
      The setup of the template does not impose any restrictions. However, concerning the "Exit Code Processing Fields" section.
      1. Success/Failure exit codes need to be respected.
      2. In principle, as STDERR and STDOUT outputs can change in follow-up releases of this integration, they should not be considered as a reliable source for determining the success or failure of a task.

Event Template configuration related to "Metric Label Attributes" & "Optional Metric Labels" is allowed. However, administrators should be cautious of high cardinality scenarios that might occur.

Users and customers are encouraged to report defects, or feature requests at Stonebranch Support Desk.

Document References

This document references the following links:

Document Link

Description

Universal Templates

User documentation for creating, working with and understanding Universal Templates and Integrations.

Universal Tasks

User documentation for creating Universal Tasks in the Universal Controller user interface.

Changelog

ue-ms-fabric-1.0.0 (2026-03-12)

Initial Version