Last week I was playing with the very cool Rest Getting Started Sample (written in C#). I morphed it into a big loop that deleted all the rows in the dataset, and sent a row with a random value from 1-10. The reason I did this was to try out the new Flow integration with Alerts so I could demo sending emails to groups of people as a result of an alert.
I tweeted about this demo, and had a bunch of private requests from people hoping for a sample of updating data in Power BI directly from PowerApps. This blog post will show you how to insert data into a Power BI dataset from Microsoft Flow.
(I will do another post on how wire up this Flow to a PowerApps Application.)
Registering your application
Just like the Getting Started Sample, we need to start by registering your application for Oauth access to PowerBI. While you can do this in the Azure Portal, it is much easier in the Power BI Dev Portal.
1. Navigate to https://dev.powerbi.com/apps and fill out the application name. Specify the App Type as Server-side Web app.
2. Fill out the the redirect URL and Home Page. In this case I am using the following values :
- Redirect https://msmanaged-na.consent.azure-apim.net/redire
- Homepage https://api.powerbi.com/v1.0/myorg
3. Register the application
Once you set the permissions for the application, register it and make sure to save the Client ID and Client Secret!
Create a Custom API in Flow to all the datasets endpoint and add the rows to the PowerBI dataset
2. Click Create custom API
…In this case just click the button.
3. Set the properties of the Custom API.
I have attached the swagger file below. This one was hand created by Sunay Vaishnav, but he is working on making this much easier!
4. Set the security properties.
In this case, as the swagger file already specifies Oauth and Azure Active Directory, all I needed to do was set the following and save the custom API.
- API Name
- Client ID <from the steps above>
- Secret <from the steps above>
- Resource URI: https://analysis.windows.net/powerbi/api
Create a Flow to use the Custom API
1. Click on My Flows > Create from blank
2. Set the trigger to Recurrence, and Actions to the custom API name you gave it above.
3. Sign into Power BI to set the properties of the custom API.
(If you don’t get this sign in dialog you probably registered the application incorrectly in step 1.)
4. Set the properties of the Action.
If everything was done correctly, the Dataset and Table name should auto-populate to drop-down menus so you can see all the datasets and tables. Note that the dataset you are updating MUST HAVE BEEN CREATED WITH THE REST APIs INITIALLY! If this limitation is something you would like changed please vote on this idea:
Here's the swagger file you will need to do this:
Remember to rename this to a *.JSON file name
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.