Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
JWolmanSymplr
Resolver I
Resolver I

Automate Dataflow export to .json through Power Automate or Azure Logic Apps

I have been doing some internet searches and just have not seen anything around this, but is it possible to use Power Automate (or Azure Logic Apps which I am more familiar with) to create a job to automate the export of Dataflows to .json? I know how use the Azure Logic App Power BI connector to do many of the tasks through there but have not found a way to export Dataflows to .json.

 

I have found a power shell function [Export-PowerBIDataflow] to do it, but that's local to my computer. I like to have a schedule job that exports them so I it's more scheduled and automated for back purposes.

 

Thanks.

1 ACCEPTED SOLUTION

You need to replace in the URL https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{dataflowId}

 

{groupId}: This is the workspaceId where you have the dataflow

{dataflowId} This is the dataflowId

 

If you open the dataflow in PowerBI Service the URL reads something like this:

 

https://app.powerbi.com/groups/xx9xx9x9-x9x9-x9x9-x9x9-xx9xx9x9x9x9/dataflows/xx9xx9x9-x9x9-x9x9-x9x9-xx9xx9x9x9x9?experience=power-bi

 

GroupId in the Basic URL is the ID between groups/ and /dataflows/

DataflowId in the Basic URL is the ID between /dataflows/ and ?experience

 

You will need to authenticate using your user/pasword (same credentials as you use to log in to Power BI).

 

The only other thing to check that I can think of is that you have the Tenant Setting to run REST API calls enabled which I believe is in Integration Settings (but not 100% sure) Integration admin settings - Microsoft Fabric | Microsoft Learn

 

Hope this helps.

 

View solution in original post

11 REPLIES 11
toribiolmSXP
Frequent Visitor

@MarDen94 , I'm also looking into automate this export and currently working on the idea of making a REST API call from Power Automate to download the dataflow in .json using GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{dataflowId}

 

Details on how to use the API are available in Dataflows - Get Dataflow - REST API (Power BI Power BI REST APIs) | Microsoft Learn and Chris Webb has a series of blogs where he explains how to make the REST API call from Power Automate here Chris Webb's BI Blog: Calling The Power BI Enhanced Refresh API From Power Automate, Part 1: Creatin...

 

Unfortunately I cannot test all of this due to security restrictions in my organisation but thought it was worth sharing in case you find this option working (please let me know if you manage to get this working).

 

I quickly tried this in PostMan and could not get the basic URL to work, https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{dataflowId}. Not sure if I need to change myorg to something related to my actual organization or if the is some authentication I need to do, but I keep getting a 403 Forbidden response when I try to call that url with a valid GroupId and DataflowId.

You need to replace in the URL https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{dataflowId}

 

{groupId}: This is the workspaceId where you have the dataflow

{dataflowId} This is the dataflowId

 

If you open the dataflow in PowerBI Service the URL reads something like this:

 

https://app.powerbi.com/groups/xx9xx9x9-x9x9-x9x9-x9x9-xx9xx9x9x9x9/dataflows/xx9xx9x9-x9x9-x9x9-x9x9-xx9xx9x9x9x9?experience=power-bi

 

GroupId in the Basic URL is the ID between groups/ and /dataflows/

DataflowId in the Basic URL is the ID between /dataflows/ and ?experience

 

You will need to authenticate using your user/pasword (same credentials as you use to log in to Power BI).

 

The only other thing to check that I can think of is that you have the Tenant Setting to run REST API calls enabled which I believe is in Integration Settings (but not 100% sure) Integration admin settings - Microsoft Fabric | Microsoft Learn

 

Hope this helps.

 

Correct I know to exchange the GroupID and the DataflowID. I tried with and without the "myorg" in the URL request and neither of those worked. Was not sure if I had to change "myorg" to something specific to my organization or not.

I tried using Basic Auth for the Authorization in Postman and I still get 403 Forbidden.

I will have to check with an admin about the Tenant Setting

Hi @JWolmanSymplr ,

 

Have you tried to run the API call from Dataflows - Get Dataflow - REST API (Power BI Power BI REST APIs) | Microsoft Learn? there is a "Try" option in that page that might answer the question as to why you're getting the 403 Forbidden error.

If you still get the error from there I reckon it will certainly be tenant settings issue. 

Oh wow! Thank you very much. It had to do with the Authorization. Need to use the Bearer Token then it works in that page and Postman. This help a bunch, thanks again!

Anonymous
Not applicable

Hi @JWolmanSymplr ,

Please refer to the document to see if it helps you.

Export flows from Power Automate to Azure Logic Apps - Azure Logic Apps | Microsoft Learn

Prerequisites

  • An Azure account and subscription. If you don't have an Azure subscription, sign up for a free Azure account.
  • The flow that you want to export from Power Automate

If I have misunderstood your meaning, please provide more details.

 

Best Regards
Community Support Team _ Rongtie

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

This is not what I am asking. I would like to export a Power BI Dataflow from the Power BI Server automatically through a Power Automate or Azure Logic App (preferred tool). Right now you can only go to your workspace find your dataflow and right click and select "Export .json". Is there a way I can use an Azure Logic App to export all my dataflow on a scheduled basis? Thanks.

Did you manage to find a solution for this, I am also looking for a way to do this so there always is a recent .json stored away as a fallback

Sadly, I have not found a solution for this. I have been just exporting the Dataflows manually and checking them into my repository.

Unfortunate, but thanks for the swift response

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 2024 Power BI update to learn about new features.

Sept NL Carousel

Fabric Community Update - September 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors