Automate Power BI Deployment Pipelines with KingswaySoft

29 September 2026
KingswaySoft Team

Managing updates across different stages of your reports, such as Development, Testing, and Production, is crucial for keeping your analytics reliable. This is where Power BI deployment pipelines come in. A Power BI deployment pipeline provides an Application Lifecycle Management (ALM) framework within the Power BI Service, enabling BI teams to develop, validate, and publish reports in an organized and predictable way. Rather than modifying live analytics directly in a shared production space, a deployment pipeline connects up to three dedicated environments (workspaces) based on standard software delivery practices:

  • Development: An isolated space where report authors draft visuals, create new measures, and experiment without impacting active report users.

  • Test: A dedicated area where analysts and stakeholders verify calculation accuracy, review performance, and perform quality checks using representative data.

  • Production: A secure, locked-down environment housing official dashboards and reports accessed by end-user decision-makers.

Power BI pipeline UI

Think of a deployment pipeline as a structured assembly line for your reporting environment. It allows BI teams to build and test new features, measures, or datasets in an isolated Development workspace without risking breaking the live reports that decision-makers rely on every day. Once updates are tested and approved, they move smoothly into Testing and Production stages. Proper deployment is important because manual copy-pasting or re-uploading report files directly into production leads to costly mistakes, such as pointing production reports at test databases, breaking user bookmarks, or accidentally exposing unverified data.

While setting up these pipelines natively often requires manual portal clicks or complex scripting, KingswaySoft enables you to easily design a package just by dragging and dropping and configuring the components, and automate this lifecycle. An automated solution like this allows you to connect workspaces, manage releases, and push updates seamlessly, giving you full control over your reporting lifecycle without writing a single line of code. The KingswaySoft SSIS Integration Toolkit has the components required to build such a solution with ease. With your SSIS package, the overall design in the control flow would look as shown below.

Overall control flow design

We’ve also provided a downloadable sample SSIS package that contains the designs illustrated below, so that it can get you started quickly.

Note that our package design provides a foundation for creating a pipeline, binding a workspace to the initial Development stage, and triggering the deployment. If your process includes additional stages, you can easily replicate this control flow logic to assign workspaces and promote content across the remaining phases of your lifecycle.

Let's take a closer look at each of the Data Flows.

Create Pipeline Data Flow Task

This data flow ingests source data from a database table containing your desired pipeline names and workspace assignment mappings. The data stream is then routed to a REST Destination component configured with a Power BI Connection Manager to execute the API actions.

Create Pipeline

The Premium SQL Source component here acts as a common source table that holds the pivotal process-related information, which we'll also use in other Data Flows. Note that your Source can be anything and would depend on how you hold the data. In our case, it's as follows:

  • PipelineDescription: A short description of what the pipeline is for.
  • PipelineName: The name to be assigned to the pipeline.
  • StageOrder: The stage in which the pipeline is created and from which it is later deployed.
  • WorkspaceName: The name(s) of existing workspace(s).

Common Source data

The REST Destination connected to your Power BI instance would use the action Pipeline_CreatePipeline on the Pipelines endpoint. This gives the metadata in the Columns page to map as the Pipeline Name and Description.

Power BI REST Destination with Create Pipeline action chosen

We have enabled error handling as a standard best practice. With that in place, let's move on to the next Data Flow Task.

Assign Workspace Data Flow Task

Here, we use the same source data and perform a lookup to retrieve the Pipeline ID for the one we created in the first data flow, based on your specified pipeline name. Next, we use the workspace name from our source data to look up its corresponding Workspace ID from your Power BI instance, before assigning that workspace directly to the pipeline stage.

Assign workspace Data flow

Taking a closer look at the firstPremium Service Lookup component (Get newly created PipelineID), you can see that we are targeting the Pipelines object to get the newly created Pipeline. The endpoint can be chosen to list all that matches the conditions.

PSL get pipeline ID - General page

The Lookup conditions are where we equate the PipelineName from the Source to the displayName in the instance and get the newly created one.

PSL get pipeline ID - Lookup conditions page

In the Output Columns page, we specify the Power BI field ID as the output, which we will be using in the downstream data pipeline. We can provide an alias, LookupPipeline.id, to identify this value.

PSL get pipeline ID - Output page

Similarly, the second Premium Service Lookup component (Get Workspace ID) gets the Workspace ID from the Groups object, using the WorkspaceName in the lookup condition.

PSL - get WorkspaceID general page

PSL - get WorkspaceID - Lookup conditions page

The Output Columns page lets you pick the Power BI field ID that holds the Workspace ID. We can provide an alias called LookupWorkspace.id as an identifier.

PSL - get WorkspaceID - Output page

And these are written to the Power BI REST Destination component, using the Pipelines_AssignWorkspace action. The Columns page shows the mapping, where the Pipeline ID returned by the Lookup and Workspace ID are mapped along with the stageOrder.

PBDestination Assign workspace page

PBDestination Assign workspace - Columns mapping

One thing to note in the Data Flow is the use of the Premium Derived Column component after the Get newly created PipelineID step. This saves the Pipeline ID received into a user-defined variable @[User::pipeline_id], so that it can be used in the third Data Flow Task. The function used for this is as follows:

WriteValueToVariable( @[User::pipeline_id], [LookupPipeline.id] )

Deploy Pipeline Data Flow Task

In this Data Flow Task, we trigger the pipeline deployment. The structure of this flow is configured as shown below.

Deploy Pipeline Data flow task

The Source provides the WorkspaceName and other necessary details (if any are required for selective deployment), and the Premium Derived Column component captures the variable @[User::pipeline_id] into a column to be used to map the Destination.

Deploy Pipeline - PDC getting pipelineID from variable.png

The REST Destination component can be used to trigger the deployAll/SelectiveDeploy action based on how you wish to deploy. The metadata mapping would depend on the action, and you can provide the necessary input, including the Source Stage, WorkspaceName, and Pipeline ID.

PBDestination Deploy pipeline

Conclusion

By following the design above, you could achieve controlled automation of your pipeline management within Power BI. A few things to note:

  • We have used the DeployAll action, in which all supported items from the Source stage are deployed. However, if you wish to deploy only selected items from the stage, you could use the SelectiveDeploy action. The metadata requirements for each of these can be found in the API documentation pages we have linked above.
  • The design we have demonstrated has pipeline creation as its first step, but if you wish to just assign stages and deploy already existing pipelines, the design can easily be modified to just perform those tasks.
  • The Source data would need to have some specific mandatory information regarding the pipeline, workspace, and other deployment-related metadata. What we have demonstrated is a minimal approach, and it can be adjusted as required.

We hope this has helped!

Archive

September 2026 3 August 2026 4 July 2026 3 June 2026 1 May 2026 3 April 2026 3 March 2026 2 February 2026 2 January 2026 2 December 2025 2 November 2025 2 October 2025 2 September 2025 2 August 2025 2 July 2025 2 June 2025 1 May 2025 2 April 2025 3 March 2025 1 February 2025 1 January 2025 2 December 2024 1 November 2024 3 October 2024 1 September 2024 1 August 2024 2 July 2024 1 June 2024 1 May 2024 1 April 2024 2 March 2024 2 February 2024 2 January 2024 2 December 2023 1 November 2023 1 October 2023 2 August 2023 1 July 2023 2 June 2023 1 May 2023 2 April 2023 1 March 2023 1 February 2023 1 January 2023 2 December 2022 1 November 2022 2 October 2022 2 September 2022 2 August 2022 2 July 2022 3 June 2022 2 May 2022 2 April 2022 3 March 2022 2 February 2022 1 January 2022 2 December 2021 1 October 2021 1 September 2021 2 August 2021 2 July 2021 2 June 2021 1 May 2021 1 April 2021 2 March 2021 2 February 2021 2 January 2021 2 December 2020 2 November 2020 4 October 2020 1 September 2020 3 August 2020 2 July 2020 1 June 2020 2 May 2020 1 April 2020 1 March 2020 1 February 2020 1 January 2020 1 December 2019 1 November 2019 1 October 2019 1 May 2019 1 February 2019 1 December 2018 2 November 2018 1 October 2018 4 September 2018 1 August 2018 1 July 2018 1 June 2018 3 April 2018 3 March 2018 3 February 2018 3 January 2018 2 December 2017 1 April 2017 1 March 2017 7 December 2016 1 November 2016 2 October 2016 1 September 2016 4 August 2016 1 June 2016 1 May 2016 3 April 2016 1 August 2015 1 April 2015 10 August 2014 1 July 2014 1 June 2014 2 May 2014 2 February 2014 1 January 2014 2 October 2013 1 September 2013 2 August 2013 2 June 2013 5 May 2013 2 March 2013 1 February 2013 1 January 2013 1 December 2012 2 November 2012 2 September 2012 2 July 2012 1 May 2012 3 April 2012 2 March 2012 2 January 2012 1

Tags