Microsoft Power BI

Connect your AI agents to Microsoft Power BI.

Authentication: OAuth or access token. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.

Sample use cases

  • Refresh the Sales Pipeline semantic model and check the refresh history for failures
  • List every report in the Finance workspace and who has access to the workspace
  • Push rows into a push dataset for a live operations dashboard

Available Tools

list_admin_workspaces

List every workspace in the tenant, including ones the account is not a member of. Requires the Fabric Administrator…

list_admin_reports

List every report in the tenant, across all workspaces. Requires the Fabric Administrator role, not just the…

list_admin_datasets

List every semantic model in the tenant, across all workspaces. Requires the Fabric Administrator role, not just the…

list_admin_dashboards

List every dashboard in the tenant, across all workspaces. Requires the Fabric Administrator role, not just the…

list_admin_dataflows

List every dataflow in the tenant, across all workspaces. Requires the Fabric Administrator role, not just the…

list_apps

List the Power BI apps the connected account can open. Apps are published, read-only collections of reports and…

get_app

Get one Power BI app by ID. Use list_apps to find app_id.

list_app_reports

List the reports published inside a Power BI app. These are separate from the reports in a workspace; use…

list_app_dashboards

List the dashboards published inside a Power BI app. These are separate from the dashboards in a workspace; use…

list_dashboards

List the dashboards in a Power BI workspace. Returns every dashboard in one response; the API does not page this…

get_dashboard

Get one dashboard by ID. Use list_dashboards to find dashboard_id.

create_dashboard

Create an empty dashboard in a Power BI workspace. Tiles are pinned from reports in the Power BI UI; the API cannot…

list_dashboard_tiles

List the tiles pinned to a dashboard, including the report and semantic model behind each one. Use list_dashboards…

list_dataflows

List the Power BI (Gen1) dataflows in a workspace. Fabric Dataflow Gen2 is a different item type served by a…

get_dataflow

Get a Power BI (Gen1) dataflow’s stored definition, containing its entities and Power Query expressions. Returns the…

list_datasets

List the semantic models (datasets) in a Power BI workspace. Returns every model in one response; the API does not…

get_dataset

Get one semantic model by ID. Use list_datasets to find dataset_id.

delete_dataset

Delete a semantic model and every report built on it. This cannot be undone. Use list_datasets to find dataset_id.

refresh_dataset

Start a refresh of a semantic model. Returns as soon as the refresh is queued, not when it finishes; poll…

get_refresh_history

List past and in-progress refreshes of a semantic model, newest first. A status of ‘Unknown’ means the refresh is…

get_dataset_datasources

List the data sources a semantic model reads from, including the gateway serving each one. Use list_datasets to find…

list_gateways

List the on-premises data gateways the connected account can administer. A gateway connects Power BI to data sources…

get_gateway

Get one on-premises data gateway by ID. Use list_gateways to find gateway_id.

list_gateway_datasources

List the data sources bound to an on-premises data gateway. Use this to see what a gateway serves before changing…

list_imports

List the.pbix and Excel imports performed into a Power BI workspace, with the state of each. Importing a file is how…

get_import

Get one import by ID to check its progress. import_state reads ‘Publishing’ while it runs and ‘Succeeded’ when the…

create_push_dataset

Create a push semantic model from a table schema, with no.pbix file. This is the only way to create a semantic model…

push_rows

Append rows to a table in a push semantic model. Row keys must match the column names the model was created with…

truncate_table

Delete every row from a table in a push semantic model, leaving the table and its schema in place. This cannot be…

list_dataset_tables

List the table names in a push semantic model. The API returns names only, not the columns each table was created…

list_reports

List the reports in a Power BI workspace. Returns every report in one response; the API does not page this endpoint…

get_report

Get one report by ID, including the semantic model it reads from. Use list_reports to find report_id.

delete_report

Delete a report from a Power BI workspace. This does not delete the semantic model behind it. Use list_reports to…

clone_report

Copy a report, optionally into another workspace or onto another semantic model. This is the only way to create a…

list_workspaces

List the Power BI workspaces the connected account can open. Supports an OData filter_query to narrow results…

get_workspace

Get one Power BI workspace by ID. Use list_workspaces to find workspace_id.

create_workspace

Create a Power BI workspace. The name must be unique in the tenant. Returns the new workspace including its ID…

delete_workspace

Delete a Power BI workspace and everything inside it. This cannot be undone. Use list_workspaces to find workspace_id.

list_workspace_users

List the users, groups and service principals with access to a Power BI workspace, and the access level each holds…

add_workspace_user

Grant a user, group or service principal access to a Power BI workspace. Pass email_address for a person, or…

remove_workspace_user

Revoke a principal’s access to a Power BI workspace. Use list_workspace_users to find the exact email address or…