Visualize any data and integrate the visuals into the apps you use every day with Power BI, a unified platform for self-service and business intelligence.
Go to siteThe Microsoft Power BI API allows you to interact with your Power BI assets programmatically. With this API, you can embed your reports and dashboards into applications, manage Power BI datasets, push data into datasets for real-time dashboard updates, and automate your reporting workflows. On Pipedream, you can use this API to create intricate workflows that react to various triggers, like webhooks or schedules, and perform actions like refreshing datasets, posting to datasets, and managing Power BI assets.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
microsoft_power_bi: {
type: "app",
app: "microsoft_power_bi",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.powerbi.com/v1.0/myorg/availableFeatures`,
headers: {
Authorization: `Bearer ${this.microsoft_power_bi.$auth.oauth_access_token}`,
},
})
},
})
Automated Data Refresh: Trigger a dataset refresh in Power BI whenever new data is received from a web service or when a file is uploaded to a cloud storage service like Google Drive or Dropbox. This keeps your Power BI dashboards updated with the latest data without manual intervention.
Real-Time Dashboard Updates: Push data to a Power BI streaming dataset from various sources like IoT devices, payment gateways, or CRMs such as Salesforce. Every time a new event occurs, the workflow pushes the data to Power BI, allowing for real-time dashboard updates and analytics.
Dynamic Report Generation: Generate and distribute custom Power BI reports automatically based on user actions or time-based triggers. For instance, on the completion of a project, trigger a workflow that fetches relevant data from a project management tool like Asana, generates a report in Power BI, and then emails it to stakeholders. .
Emits a new event when a dataset refresh operation has completed. See the documentation
Emits an event when a dataset refresh operation has failed in Power BI. See the documentation
Emit new event when a new dataset refresh operation is created. See the documentation
Adds new data rows to the specified table within the specified dataset from My workspace. See the documentation
Cancels a refresh operation for a specified dataset in Power BI. See the documentation
Creates a new Push Dataset in Power BI. See the documentation
Triggers a refresh operation for a specified Power BI dataset. See the documentation
Triggers a refresh operation for a specified Power BI dataset. See the documentation
Microsoft Power BI uses OAuth authentication. When you connect your Microsoft Power BI account, Pipedream will open a popup window where you can sign into Microsoft Power BI and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Microsoft Power BI API.
Pipedream requests the following authorization scopes when you connect your account:
offline_access
https://analysis.windows.net/powerbi/api/App.Read.All
https://analysis.windows.net/powerbi/api/Dashboard.Read.All
https://analysis.windows.net/powerbi/api/Workspace.Read.All
https://analysis.windows.net/powerbi/api/Dataset.ReadWrite.All
GET
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://login.microsoftonline.com/common/oauth2/v2.0/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
&
scope={{oauth.space_separated_scopes}}
POST
https://login.microsoftonline.com/common/oauth2/v2.0/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}