The Microsoft Power BI connector lets your AI agent act in each user's Microsoft Power BI account. Each user signs in to Microsoft Power BI once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 77 tools.
- Tools
- 77
- What they doRead · write · destructive
- 56 · 21 · 056 read21 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Microsoft Power BI app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Microsoft Power BI connection
In AgentKit > Connections, create a Microsoft Power BI connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Microsoft Power BI connections use your own OAuth app. Register one with Microsoft Power BI and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Microsoft Power BI connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'microsoftpowerbi'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Microsoft Power BI:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'microsoftpowerbi_apps_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "microsoftpowerbi"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Microsoft Power BI:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="microsoftpowerbi_apps_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolmicrosoftpowerbi_app_dashboard_getGet one dashboard from an installed Power BI app.Read-onlyGet App Dashboard
Get one dashboard from an installed Power BI app. Returns the dashboard id, displayName, embedUrl, isReadOnly, and appId. Use this when you have both IDs. Use microsoftpowerbi_app_dashboard_tiles_list to see its tiles.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_app_dashboards_list.
microsoftpowerbi_app_dashboard_tiles_listList the tiles on a dashboard in an installed Power BI app.Read-onlyList App Dashboard Tiles
List the tiles on a dashboard in an installed Power BI app. Returns each tile's id, title, subTitle, embedUrl, rowSpan, colSpan, reportId, and datasetId. Use this for app dashboards. Use microsoftpowerbi_dashboard_tiles_list for dashboards in a workspace.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_app_dashboards_list.
microsoftpowerbi_app_dashboards_listList the dashboards published in an installed Power BI app.Read-onlyList App Dashboards
List the dashboards published in an installed Power BI app. Returns each dashboard's id, displayName, embedUrl, isReadOnly, and appId. Use this for app content. Use microsoftpowerbi_dashboards_list for dashboards in a workspace.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
microsoftpowerbi_app_getGet one installed Power BI app.Read-onlyGet App
Get one installed Power BI app. Returns the app id, name, description, publishedBy, lastUpdate, and workspaceId. Use this when you have an app_id. Use microsoftpowerbi_apps_list to find one.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
microsoftpowerbi_app_report_getGet one report from an installed Power BI app.Read-onlyGet App Report
Get one report from an installed Power BI app. Returns the report id, name, webUrl, embedUrl, datasetId, and appId. Use this when you have both IDs. Use microsoftpowerbi_app_reports_list to find the report_id.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_app_reports_list.
microsoftpowerbi_app_reports_listList the reports published in an installed Power BI app.Read-onlyList App Reports
List the reports published in an installed Power BI app. Returns each report's id, name, webUrl, embedUrl, datasetId, and appId. Use this for app content. Use microsoftpowerbi_reports_list for reports in a workspace.
Inputs
app_idstringrequired- ID (GUID) of the app. Get it from microsoftpowerbi_apps_list.
microsoftpowerbi_apps_listList the Power BI apps installed for the connected user.Read-onlyList Apps
List the Power BI apps installed for the connected user. Returns each app's id, name, description, publishedBy, lastUpdate, and workspaceId. Use this to find an app_id. Use microsoftpowerbi_app_reports_list or microsoftpowerbi_app_dashboards_list to see its content.
Inputs
This tool takes no inputs.
microsoftpowerbi_available_features_listList the Power BI features available to the connected user and whether each is on.Read-onlyList Available Features
List the Power BI features available to the connected user and whether each is on. Returns each feature's name, state (Enabled or Disabled), and extendedState. Use this to check what the user's tenant and license allow before calling other tools.
Inputs
This tool takes no inputs.
microsoftpowerbi_capacities_listList the Power BI and Fabric capacities the connected user can access.Read-onlyList Capacities
List the Power BI and Fabric capacities the connected user can access. Returns each capacity's id, displayName, sku, state, region, and admins. Use this to find a capacity_id. Use microsoftpowerbi_capacity_workloads_list to see its workload settings.
Inputs
This tool takes no inputs.
microsoftpowerbi_capacity_refreshables_listList the refreshable items (semantic models with scheduled refresh) on a Power BI Premium capacity, with refresh statistics.Read-onlyList Capacity Refreshables
List the refreshable items (semantic models with scheduled refresh) on a Power BI Premium capacity, with refresh statistics. Returns each refreshable's id, name, kind, refreshCount, refreshFailures, averageDuration, lastRefresh, and refreshSchedule. Use this to find slow or failing refreshes. Use microsoftpowerbi_dataset_refresh_history_list for one model's history.
Inputs
capacity_idstringrequired- ID (GUID) of the capacity. Get it from microsoftpowerbi_capacities_list.
topintegerrequired- Number of refreshables to return (OData $top). Required by the API.
expandstring- Related data to include inline: capacities, groups, or both as a comma-separated list.
filterstring- OData $filter expression on refreshable properties, for example averageDuration gt 1800.
skipinteger- Number of refreshables to skip before returning results (OData $skip). Use with top to page through results.
microsoftpowerbi_capacity_workloads_listList the workloads of a Power BI Premium or Fabric capacity and their state.Read-onlyList Capacity Workloads
List the workloads of a Power BI Premium or Fabric capacity and their state. Returns each workload's name, state (Enabled, Disabled, or Unsupported), and maxMemoryPercentageSetByUser. Use this to check capacity configuration. Use microsoftpowerbi_capacity_refreshables_list for refresh activity.
Inputs
capacity_idstringrequired- ID (GUID) of the capacity. Get it from microsoftpowerbi_capacities_list.
microsoftpowerbi_dashboard_getGet one dashboard from a Power BI workspace.Read-onlyGet Dashboard
Get one dashboard from a Power BI workspace. Returns the dashboard id, displayName, webUrl, embedUrl, and isReadOnly. Use this when you have a dashboard_id. Use microsoftpowerbi_dashboard_tiles_list to see what is on it.
Inputs
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_dashboards_list. It also appears in the Power BI URL after /dashboards/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dashboard_tile_getGet one tile from a Power BI dashboard.Read-onlyGet Dashboard Tile
Get one tile from a Power BI dashboard. Returns the tile id, title, subTitle, embedUrl, embedData, rowSpan, colSpan, reportId, and datasetId. Use this when you have a tile_id. Use microsoftpowerbi_dashboard_tiles_list to find it.
Inputs
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_dashboards_list. It also appears in the Power BI URL after /dashboards/.
tile_idstringrequired- ID (GUID) of the tile. Get it from microsoftpowerbi_dashboard_tiles_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dashboard_tiles_listList the tiles on a Power BI dashboard.Read-onlyList Dashboard Tiles
List the tiles on a Power BI dashboard. Returns each tile's id, title, subTitle, embedUrl, rowSpan, colSpan, reportId, and datasetId. Use this to see a dashboard's content. Use microsoftpowerbi_dashboard_tile_get for one tile.
Inputs
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_dashboards_list. It also appears in the Power BI URL after /dashboards/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dashboards_listList the dashboards in a Power BI workspace.Read-onlyList Dashboards
List the dashboards in a Power BI workspace. Returns each dashboard's id, displayName, webUrl, embedUrl, and isReadOnly. Use this to find a dashboard_id. Use microsoftpowerbi_my_workspace_dashboards_list for the personal My workspace.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataflow_datasources_listList the data sources a Power BI dataflow reads from.Read-onlyList Dataflow Data Sources
List the data sources a Power BI dataflow reads from. Returns each source's datasourceType, connectionDetails, datasourceId, and gatewayId. Use this to see where a dataflow's data comes from. Use microsoftpowerbi_dataset_datasources_list for semantic models.
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataflow_getExport the definition of a Power BI dataflow.Read-onlyGet Dataflow Definition
Export the definition of a Power BI dataflow. Returns the dataflow's model.json content: name, entities (tables) with their attributes, and the Power Query (M) document. Use this to inspect how a dataflow is built. Use microsoftpowerbi_dataflows_list to find the dataflow_id.
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataflow_transactions_listList the refresh transactions of a Power BI dataflow.Read-onlyList Dataflow Refreshes
List the refresh transactions of a Power BI dataflow. Returns each transaction's id, refreshType, startTime, endTime, and status. Use this to check dataflow refresh results. Use microsoftpowerbi_dataflow_refresh to start a refresh.
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataflow_upstream_dataflows_listList the dataflows that a Power BI dataflow depends on.Read-onlyList Upstream Dataflows
List the dataflows that a Power BI dataflow depends on. Returns each upstream dataflow's targetDataflowId and groupId. Use this to trace dataflow lineage. Use microsoftpowerbi_dataset_upstream_dataflows_list for model-to-dataflow links.
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataflows_listList the dataflows in a Power BI workspace.Read-onlyList Dataflows
List the dataflows in a Power BI workspace. Returns each dataflow's objectId, name, description, configuredBy, and modelUrl. Use this to find a dataflow_id. Use microsoftpowerbi_dataflow_get for a dataflow's full definition.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_datasources_listList the data sources a Power BI semantic model (dataset) connects to.Read-onlyList Semantic Model Data Sources
List the data sources a Power BI semantic model (dataset) connects to. Returns each source's datasourceType, connectionDetails (server, database, url, path), datasourceId, and gatewayId. Use this to see where a model's data comes from. Use microsoftpowerbi_gateway_datasources_list for sources defined on a gateway.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_getGet one semantic model (dataset) from a Power BI workspace.Read-onlyGet Semantic Model
Get one semantic model (dataset) from a Power BI workspace. Returns the model id, name, configuredBy, isRefreshable, isEffectiveIdentityRequired, targetStorageMode, createdDate, and webUrl. Use this when you have a dataset_id. Use microsoftpowerbi_datasets_list to find one.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_parameters_listList the Power Query parameters defined in a Power BI semantic model (dataset).Read-onlyList Semantic Model Parameters
List the Power Query parameters defined in a Power BI semantic model (dataset). Returns each parameter's name, type, currentValue, isRequired, and suggestedValues. Use this before changing parameters. Use microsoftpowerbi_dataset_parameters_update to set new values.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_refresh_details_getGet the execution details of one enhanced refresh of a Power BI semantic model (dataset).Read-onlyGet Semantic Model Refresh Details
Get the execution details of one enhanced refresh of a Power BI semantic model (dataset). Returns the refresh status, type, start and end times, the objects processed with their status, and any messages. Use this for enhanced refreshes started with options. Use microsoftpowerbi_dataset_refresh_history_list to find the refresh ID and to check standard refreshes.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
refresh_idstringrequired- ID of the refresh: the requestId from List Semantic Model Refreshes, or the ID at the end of the Location header returned by Refresh Semantic Model.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_refresh_history_listList the refresh history of a Power BI semantic model (dataset), newest first.Read-onlyList Semantic Model Refreshes
List the refresh history of a Power BI semantic model (dataset), newest first. Returns each refresh's requestId, refreshType, status (Unknown while running, Completed, Failed, Disabled, or Cancelled), startTime, endTime, and serviceExceptionJson. Use this to check whether a refresh succeeded. Use microsoftpowerbi_dataset_refresh_details_get for per-table detail of an enhanced refresh.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
topinteger- Maximum number of refresh entries to return (OData $top). Defaults to the last 60 entries.
microsoftpowerbi_dataset_refresh_schedule_getGet the scheduled refresh settings of a Power BI semantic model (dataset) in import mode.Read-onlyGet Semantic Model Refresh Schedule
Get the scheduled refresh settings of a Power BI semantic model (dataset) in import mode. Returns days, times, enabled, localTimeZoneId, and notifyOption. Use this to read the schedule. Use microsoftpowerbi_dataset_refresh_schedule_update to change it.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_upstream_dataflows_listList which dataflows feed each semantic model (dataset) in a Power BI workspace.Read-onlyList Semantic Model Dataflow Links
List which dataflows feed each semantic model (dataset) in a Power BI workspace. Returns links with datasetObjectId, dataflowObjectId, and workspaceObjectId. Use this to trace model lineage. Use microsoftpowerbi_dataflow_upstream_dataflows_list for dataflow-to-dataflow lineage.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_users_listList the principals that have direct access to a Power BI semantic model (dataset).Read-onlyList Semantic Model Users
List the principals that have direct access to a Power BI semantic model (dataset). Returns each principal's identifier, displayName, emailAddress, principalType, and datasetUserAccessRight. Use this to audit model sharing. Use microsoftpowerbi_dataset_user_add to grant access.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_datasets_listList the semantic models (datasets) in a Power BI workspace.Read-onlyList Semantic Models
List the semantic models (datasets) in a Power BI workspace. Returns each model's id, name, configuredBy, isRefreshable, targetStorageMode, and webUrl. Use this to find a dataset_id. Use microsoftpowerbi_my_workspace_datasets_list for the personal My workspace.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_gateway_datasource_getGet one data source defined on an on-premises data gateway.Read-onlyGet Gateway Data Source
Get one data source defined on an on-premises data gateway. Returns the source id, datasourceName, datasourceType, connectionDetails, and credentialType. Use this when you have both IDs. Use microsoftpowerbi_gateway_datasources_list to find the datasource_id.
Inputs
datasource_idstringrequired- ID (GUID) of the gateway data source. Get it from microsoftpowerbi_gateway_datasources_list.
gateway_idstringrequired- ID (GUID) of the on-premises data gateway. For a gateway cluster, use the ID of the primary (first) gateway, which matches the cluster ID. Get it from microsoftpowerbi_gateways_list.
microsoftpowerbi_gateway_datasource_status_getTest the connection of a data source on an on-premises data gateway.Read-onlyCheck Gateway Data Source Status
Test the connection of a data source on an on-premises data gateway. Returns an empty 200 response when the gateway can reach the source, or an error describing the failure. Use this to troubleshoot refresh failures. Use microsoftpowerbi_gateway_datasource_get for the source's settings.
Inputs
datasource_idstringrequired- ID (GUID) of the gateway data source. Get it from microsoftpowerbi_gateway_datasources_list.
gateway_idstringrequired- ID (GUID) of the on-premises data gateway. For a gateway cluster, use the ID of the primary (first) gateway, which matches the cluster ID. Get it from microsoftpowerbi_gateways_list.
microsoftpowerbi_gateway_datasource_users_listList who can use a data source on an on-premises data gateway.Read-onlyList Gateway Data Source Users
List who can use a data source on an on-premises data gateway. Returns each principal's identifier, displayName, emailAddress, principalType, and datasourceAccessRight. Use this to audit gateway access. Use microsoftpowerbi_gateway_datasources_list to find the datasource_id.
Inputs
datasource_idstringrequired- ID (GUID) of the gateway data source. Get it from microsoftpowerbi_gateway_datasources_list.
gateway_idstringrequired- ID (GUID) of the on-premises data gateway. For a gateway cluster, use the ID of the primary (first) gateway, which matches the cluster ID. Get it from microsoftpowerbi_gateways_list.
microsoftpowerbi_gateway_datasources_listList the data sources defined on an on-premises data gateway.Read-onlyList Gateway Data Sources
List the data sources defined on an on-premises data gateway. Returns each source's id, datasourceName, datasourceType, connectionDetails, and credentialType. Use this to see what a gateway connects to. Use microsoftpowerbi_gateway_datasource_status_get to test a connection.
Inputs
gateway_idstringrequired- ID (GUID) of the on-premises data gateway. For a gateway cluster, use the ID of the primary (first) gateway, which matches the cluster ID. Get it from microsoftpowerbi_gateways_list.
microsoftpowerbi_gateway_getGet one on-premises data gateway the connected user is an admin of.Read-onlyGet Gateway
Get one on-premises data gateway the connected user is an admin of. Returns the gateway id, name, type, gatewayStatus, gatewayAnnotation, and publicKey. Use this when you have a gateway_id. Use microsoftpowerbi_gateways_list to find one.
Inputs
gateway_idstringrequired- ID (GUID) of the on-premises data gateway. For a gateway cluster, use the ID of the primary (first) gateway, which matches the cluster ID. Get it from microsoftpowerbi_gateways_list.
microsoftpowerbi_gateways_listList the on-premises data gateways the connected user is an admin of.Read-onlyList Gateways
List the on-premises data gateways the connected user is an admin of. Returns each gateway's id, name, type, gatewayStatus, and publicKey. Use this to find a gateway_id. Use microsoftpowerbi_gateway_datasources_list to see its data sources.
Inputs
This tool takes no inputs.
microsoftpowerbi_import_getGet the status of one file import into a Power BI workspace.Read-onlyGet Import
Get the status of one file import into a Power BI workspace. Returns the import id, name, importState (Publishing, Succeeded, or Failed), and the reports and semantic models it created. Use this to check whether an upload finished. Use microsoftpowerbi_imports_list to find the import_id.
Inputs
import_idstringrequired- ID (GUID) of the import. Get it from microsoftpowerbi_imports_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_imports_listList the file imports (for example .pbix uploads) made into a Power BI workspace.Read-onlyList Imports
List the file imports (for example .pbix uploads) made into a Power BI workspace. Returns each import's id, name, importState (Publishing, Succeeded, or Failed), createdDateTime, and the reports and semantic models it created. Use this to audit uploads. Use microsoftpowerbi_import_get to check one import.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_my_workspace_dashboards_listList the dashboards in the connected user's personal My workspace.Read-onlyList My Workspace Dashboards
List the dashboards in the connected user's personal My workspace. Returns each dashboard's id, displayName, webUrl, embedUrl, and isReadOnly. Use this for personal content. Use microsoftpowerbi_dashboards_list for dashboards in a shared workspace.
Inputs
This tool takes no inputs.
microsoftpowerbi_my_workspace_datasets_listList the semantic models (datasets) in the connected user's personal My workspace.Read-onlyList My Workspace Semantic Models
List the semantic models (datasets) in the connected user's personal My workspace. Returns each model's id, name, configuredBy, isRefreshable, targetStorageMode, and webUrl. Use this for personal content. Use microsoftpowerbi_datasets_list for semantic models in a shared workspace.
Inputs
This tool takes no inputs.
microsoftpowerbi_my_workspace_reports_listList the reports in the connected user's personal My workspace.Read-onlyList My Workspace Reports
List the reports in the connected user's personal My workspace. Returns each report's id, name, webUrl, embedUrl, datasetId, and reportType. Use this for personal content. Use microsoftpowerbi_reports_list for reports in a shared workspace.
Inputs
This tool takes no inputs.
microsoftpowerbi_pipeline_getGet one Power BI deployment pipeline, optionally with its stages.Read-onlyGet Deployment Pipeline
Get one Power BI deployment pipeline, optionally with its stages. Returns the pipeline id, displayName, description, and, when expanded, each stage's order and assigned workspace. Use this when you have a pipeline_id. Use microsoftpowerbi_pipelines_list to find one.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
expandstring- Set to stages to include the pipeline's stages in the response.one of
stages
microsoftpowerbi_pipeline_operation_getGet the details of one deploy operation of a Power BI deployment pipeline.Read-onlyGet Deployment Pipeline Operation
Get the details of one deploy operation of a Power BI deployment pipeline. Returns the operation id, status, source and target stages, timing, and the deployment steps for each item. Use this to check a deployment started with microsoftpowerbi_pipeline_deploy_all. Use microsoftpowerbi_pipeline_operations_list to find the operation_id.
Inputs
operation_idstringrequired- ID of the deploy operation, from List Deployment Pipeline Operations or the Deploy All response.
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
microsoftpowerbi_pipeline_operations_listList the last 20 deploy operations of a Power BI deployment pipeline.Read-onlyList Deployment Pipeline Operations
List the last 20 deploy operations of a Power BI deployment pipeline. Returns each operation's id, type, status, sourceStageOrder, targetStageOrder, executionStartTime, and executionEndTime. Use this to review deployment history. Use microsoftpowerbi_pipeline_operation_get for one operation's item-level detail.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
microsoftpowerbi_pipeline_stage_artifacts_listList the items (reports, dashboards, semantic models, dataflows) in one stage of a Power BI deployment pipeline.Read-onlyList Deployment Pipeline Stage Items
List the items (reports, dashboards, semantic models, dataflows) in one stage of a Power BI deployment pipeline. Returns the stage's datasets, reports, dashboards, and dataflows with their artifactId, artifactDisplayName, sourceArtifactId, and lastDeploymentTime. Use this before deploying. Use microsoftpowerbi_pipeline_stages_list to see the stages.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
stage_orderintegerrequired- Numeric order of the deployment pipeline stage: 0 = Development, 1 = Test, 2 = Production.one of
012
microsoftpowerbi_pipeline_stages_listList the stages of a Power BI deployment pipeline.Read-onlyList Deployment Pipeline Stages
List the stages of a Power BI deployment pipeline. Returns each stage's order (0 Development, 1 Test, 2 Production), workspaceId, and workspaceName. Use this to see which workspace backs each stage. Use microsoftpowerbi_pipeline_stage_artifacts_list for a stage's content.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
microsoftpowerbi_pipeline_users_listList the users, groups, and apps with access to a Power BI deployment pipeline.Read-onlyList Deployment Pipeline Users
List the users, groups, and apps with access to a Power BI deployment pipeline. Returns each principal's identifier, principalType, and accessRight. Use this to audit pipeline access. Use microsoftpowerbi_pipelines_list to find the pipeline_id.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
microsoftpowerbi_pipelines_listList the deployment pipelines the connected user can access.Read-onlyList Deployment Pipelines
List the deployment pipelines the connected user can access. Returns each pipeline's id, displayName, and description. Use this to find a pipeline_id. Use microsoftpowerbi_pipeline_get with expand set to stages to see its stages.
Inputs
This tool takes no inputs.
microsoftpowerbi_push_dataset_tables_listList the tables of a push semantic model (dataset).Read-onlyList Push Semantic Model Tables
List the tables of a push semantic model (dataset). Returns each table's name. Use this to find a table name before pushing rows. Works only on push semantic models created through the API.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_report_datasources_listList the data sources of a paginated report (RDL) in a Power BI workspace.Read-onlyList Report Data Sources
List the data sources of a paginated report (RDL) in a Power BI workspace. Returns each data source's datasourceType, connectionDetails, datasourceId, and gatewayId. Use this for paginated reports only. Use microsoftpowerbi_dataset_datasources_list for Power BI reports, whose data sources live on the semantic model.
Inputs
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_report_getGet one report from a Power BI workspace.Read-onlyGet Report
Get one report from a Power BI workspace. Returns the report id, name, webUrl, embedUrl, datasetId, reportType, and owner details. Use this when you have a report_id. Use microsoftpowerbi_reports_list to find one.
Inputs
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_report_page_getGet one page of a Power BI report by its internal page name.Read-onlyGet Report Page
Get one page of a Power BI report by its internal page name. Returns the page name, displayName, and order. Use this when you have a page name. Use microsoftpowerbi_report_pages_list to find it.
Inputs
page_namestringrequired- Internal name of the report page (the name field from List Report Pages, not the display name). It also appears at the end of the report URL.
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_report_pages_listList the pages in a Power BI report.Read-onlyList Report Pages
List the pages in a Power BI report. Returns each page's name (internal ID), displayName, and order. Use this to see a report's structure. Use microsoftpowerbi_report_page_get for one page.
Inputs
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_reports_listList the reports in a Power BI workspace.Read-onlyList Reports
List the reports in a Power BI workspace. Returns each report's id, name, webUrl, embedUrl, datasetId, and reportType. Use this to find a report_id. Use microsoftpowerbi_my_workspace_reports_list for the personal My workspace.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_workspace_getGet one Power BI workspace by its ID.Read-onlyGet Workspace
Get one Power BI workspace by its ID. Returns the workspace id, name, isReadOnly, isOnDedicatedCapacity, capacityId, and type. Use this to check a single workspace. Use microsoftpowerbi_workspaces_list to search by name.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_workspace_users_listList the users, groups, and apps that have a role in a Power BI workspace.Read-onlyList Workspace Users
List the users, groups, and apps that have a role in a Power BI workspace. Returns each principal's identifier, displayName, emailAddress, principalType, and groupUserAccessRight (Admin, Member, Contributor, or Viewer). Use this to audit workspace access. Use microsoftpowerbi_workspace_user_add to grant access.
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
skipinteger- Number of users to skip before returning results (OData $skip). Use with top to page through results.
topinteger- Maximum number of users to return (OData $top).
microsoftpowerbi_workspaces_listList the Power BI workspaces the connected user can access, with optional OData filtering and paging.Read-onlyList Workspaces
List the Power BI workspaces the connected user can access, with optional OData filtering and paging. Returns each workspace's id, name, isReadOnly, isOnDedicatedCapacity, capacityId, and type. Use this to find a workspace_id for other tools. Use microsoftpowerbi_workspace_get when you already have the ID.
Inputs
filterstring- OData $filter expression to narrow the workspaces, for example contains(name,'Sales') or name eq 'Finance'.
skipinteger- Number of workspaces to skip before returning results (OData $skip). Use with top to page through results.
topinteger- Maximum number of workspaces to return (OData $top).
microsoftpowerbi_dashboard_createCreate an empty dashboard in a Power BI workspace.WriteCreate Dashboard
Create an empty dashboard in a Power BI workspace. Returns the new dashboard's id, displayName, webUrl, and embedUrl. Use this to start a dashboard. Use microsoftpowerbi_dashboard_tile_clone to copy tiles onto it.
Inputs
namestringrequired- Display name of the new dashboard.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dashboard_tile_cloneCopy a tile from one Power BI dashboard to another dashboard, optionally rebinding it to a different report or semantic model.WriteClone Dashboard Tile
Copy a tile from one Power BI dashboard to another dashboard, optionally rebinding it to a different report or semantic model. Returns the new tile's id, title, and embed details. Use this to reuse a visual across dashboards. Use microsoftpowerbi_dashboard_create first if the target dashboard does not exist.
Inputs
dashboard_idstringrequired- ID (GUID) of the dashboard. Get it from microsoftpowerbi_dashboards_list. It also appears in the Power BI URL after /dashboards/.
target_dashboard_idstringrequired- ID (GUID) of the dashboard to copy the tile onto.
tile_idstringrequired- ID (GUID) of the tile. Get it from microsoftpowerbi_dashboard_tiles_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...). This is the workspace of the source dashboard.
position_conflict_actionstring- What to do if the tile's position is already taken on the target dashboard: Tail places it at the end, Abort cancels the copy. Power BI uses Tail when blank.one of
TailAbort target_model_idstring- For a tile linked to a semantic model: ID of a different semantic model to bind the copied tile to. Leave blank to keep the original.
target_report_idstring- For a tile linked to a report: ID of a different report to bind the copied tile to. Leave blank to keep the original report.
target_workspace_idstring- Workspace (GUID) of the target dashboard. Use 00000000-0000-0000-0000-000000000000 for My workspace. Leave blank if it is the source workspace.
microsoftpowerbi_dataflow_refreshStart a refresh of a Power BI dataflow.WriteRefresh Dataflow
Start a refresh of a Power BI dataflow. Returns an empty response once the refresh is queued. Use this to reload a dataflow. Use microsoftpowerbi_dataflow_transactions_list afterwards to check the result.
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
notify_optionstringrequired- Email notification: NoNotification, MailOnFailure, or MailOnCompletion.one of
NoNotificationMailOnFailureMailOnCompletion workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
process_typestring- Type of refresh: default or processFull. Power BI uses default when blank.one of
defaultprocessFull
microsoftpowerbi_dataflow_refresh_schedule_updateChange the scheduled refresh of a Power BI dataflow; only the fields you set change.WriteUpdate Dataflow Refresh Schedule
Change the scheduled refresh of a Power BI dataflow; only the fields you set change. Returns an empty response on success. Use this to set when a dataflow refreshes. Use microsoftpowerbi_dataflow_refresh to refresh once right now.
- Idempotent
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
daysarray- Days of the week on which to refresh. Each value is Monday through Sunday.
enabledboolean- Whether scheduled refresh is turned on.
local_time_zone_idstring- Windows time zone ID used to interpret the times, for example UTC, Pacific Standard Time, or India Standard Time.
notify_optionstring- Email notification when a scheduled refresh ends: NoNotification or MailOnFailure.one of
NoNotificationMailOnFailure timesarray- Times of day to refresh, each as hh:mm in 24-hour format where minutes are 00 or 30. Example: ["07:00", "16:30"].
microsoftpowerbi_dataflow_updateChange the name, description, or engine settings of a Power BI dataflow; only the fields you set change.WriteUpdate Dataflow
Change the name, description, or engine settings of a Power BI dataflow; only the fields you set change. Returns an empty response on success. Use this to edit dataflow properties. Use microsoftpowerbi_dataflow_refresh_schedule_update to change when it refreshes.
- Idempotent
Inputs
dataflow_idstringrequired- ID (GUID) of the dataflow. Get it from microsoftpowerbi_dataflows_list.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
allow_native_queriesboolean- Whether the dataflow may run native database queries.
compute_engine_behaviorstring- Enhanced compute engine setting: computeOptimized, computeOn, or computeDisabled.one of
computeOptimizedcomputeOncomputeDisabled descriptionstring- New description for the dataflow.
namestring- New name for the dataflow.
microsoftpowerbi_dataset_execute_queriesRun a DAX query against a Power BI semantic model (dataset) and get the result rows.WriteRun DAX Query
Run a DAX query against a Power BI semantic model (dataset) and get the result rows. Returns results[0].tables[0].rows, one object per row keyed by column name, plus any query error. Use this to read data from a model. Use microsoftpowerbi_dataset_get to inspect the model itself. Requires the tenant setting Dataset Execute Queries REST API and Build permission on the model.
- Idempotent
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
querystringrequired- One DAX query that starts with EVALUATE and returns a single table. Results are capped at 100,000 rows or 1,000,000 values per query. Example: EVALUATE TOPN(10, 'Sales', 'Sales'[Amount], DESC).
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
impersonated_user_namestring- UPN of a user whose row-level security (RLS) rules should apply to the query. Ignored if the model has no RLS.
include_nullsboolean- Whether blank (null) values are included in the rows. Power BI omits them when false or blank.
microsoftpowerbi_dataset_parameters_updateSet new values for Power Query parameters in a Power BI semantic model (dataset).WriteUpdate Semantic Model Parameters
Set new values for Power Query parameters in a Power BI semantic model (dataset). Returns an empty response on success. Use this to repoint or reconfigure a model; run microsoftpowerbi_dataset_refresh afterwards so the new values take effect. The connected user must own the semantic model; call microsoftpowerbi_dataset_parameters_list first for the parameter names.
- Idempotent
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
update_detailsarrayrequired- Parameters to change, up to 100 per request. Each entry gives the parameter name and its new value as a string. Example: [{"name": "ServerName", "newValue": "sql-prod.contoso.com"}].
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_dataset_refreshStart a refresh of a Power BI semantic model (dataset); the refresh runs in the background.WriteRefresh Semantic Model
Start a refresh of a Power BI semantic model (dataset); the refresh runs in the background. Returns 202 Accepted; the refresh id is in the Location response header. Use this to reload data. Use microsoftpowerbi_dataset_refresh_history_list afterwards to check its status. Setting any enhanced-refresh option (type, objects, commit mode, and so on) needs Premium, Premium Per User, or Fabric capacity.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
apply_refresh_policyboolean- Enhanced refresh: whether to apply the table's incremental refresh policy.
commit_modestring- Enhanced refresh: Transactional commits everything at the end; PartialBatch commits in batches.one of
TransactionalPartialBatch effective_datestring- Enhanced refresh with an incremental refresh policy: date-time to use as 'today' instead of the current date, in ISO 8601.
max_parallelisminteger- Enhanced refresh: maximum number of threads to process in parallel.
notify_optionstring- Email notification for a standard refresh: NoNotification, MailOnFailure, or MailOnCompletion. Defaults to NoNotification. Ignored when any enhanced-refresh option is set, because Power BI rejects notifyOption on enhanced refreshes.one of
NoNotificationMailOnFailureMailOnCompletion objectsarray- Enhanced refresh: limit the refresh to specific tables or partitions. Each entry names a table, and optionally a partition in it. Example: [{"table": "Sales"}, {"table": "Customer", "partition": "Customer-2024"}].
retry_countinteger- Enhanced refresh: how many times to retry before the refresh fails.
timeoutstring- Enhanced refresh: time limit for each refresh attempt as hh:mm:ss (default 05:00:00). Total time including retries cannot exceed 24 hours.
typestring- Enhanced refresh: kind of processing to run. Full, ClearValues, Calculate, DataOnly, Automatic, or Defragment.one of
FullClearValuesCalculateDataOnlyAutomaticDefragment
microsoftpowerbi_dataset_refresh_schedule_updateChange the scheduled refresh of a Power BI semantic model (dataset) in import mode; only the fields you set change.WriteUpdate Semantic Model Refresh Schedule
Change the scheduled refresh of a Power BI semantic model (dataset) in import mode; only the fields you set change. Returns an empty response on success. Use this to set when a model refreshes. Use microsoftpowerbi_dataset_refresh to refresh once right now. The connected user must own the semantic model.
- Idempotent
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
daysarray- Days of the week on which to refresh. Each value is Monday through Sunday.
enabledboolean- Whether scheduled refresh is turned on.
local_time_zone_idstring- Windows time zone ID used to interpret the times, for example UTC, Pacific Standard Time, or India Standard Time.
notify_optionstring- Email notification when a scheduled refresh ends: NoNotification or MailOnFailure.one of
NoNotificationMailOnFailure timesarray- Times of day to refresh, each as hh:mm in 24-hour format where minutes are 00 or 30. Example: ["07:00", "16:30"].
microsoftpowerbi_dataset_user_addGrant a user or security group direct access to a Power BI semantic model (dataset).WriteAdd Semantic Model User
Grant a user or security group direct access to a Power BI semantic model (dataset). Returns an empty response on success. Use this to share a model without giving workspace access. Use microsoftpowerbi_workspace_user_add for workspace-wide access. The connected user needs Reshare permission on the model; apps (service principals) and Write access are not supported here.
Inputs
access_rightstringrequired- Access to grant: Read, ReadReshare (read and share), ReadExplore (read and build), or ReadReshareExplore (all three).one of
ReadReadReshareReadExploreReadReshareExplore dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
identifierstringrequired- The principal to grant access to. For a user, give the user principal name (UPN, usually the work email). For a security group, give its Microsoft Entra object ID.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
principal_typestring- Kind of principal in identifier: User or Group. Defaults to User.one of
UserGroupdefaultUser
microsoftpowerbi_pipeline_createCreate a Power BI deployment pipeline with Development, Test, and Production stages.WriteCreate Deployment Pipeline
Create a Power BI deployment pipeline with Development, Test, and Production stages. Returns the new pipeline's id, displayName, and description. Use this to set up a release flow; assign workspaces to its stages in the Power BI service.
Inputs
display_namestringrequired- Name of the new pipeline, up to 256 characters.
descriptionstring- Description of the pipeline, up to 1024 characters.
microsoftpowerbi_pipeline_deploy_allDeploy every supported item from one stage of a Power BI deployment pipeline to the next stage (or the previous one for a backward deployment).WriteDeploy All Pipeline Items
Deploy every supported item from one stage of a Power BI deployment pipeline to the next stage (or the previous one for a backward deployment). Returns 202 Accepted with the deploy operation's id and status. Use this to promote content, for example Development to Test. Use microsoftpowerbi_pipeline_operation_get to follow the deployment. Requires at least Contributor on both the source and target workspaces; up to 300 items per deployment.
Inputs
pipeline_idstringrequired- ID (GUID) of the deployment pipeline. Get it from microsoftpowerbi_pipelines_list.
source_stage_orderintegerrequired- Stage to deploy from: 0 = Development, 1 = Test, 2 = Production. Content goes to the next stage, or the previous stage when is_backward_deployment is true.one of
012 is_backward_deploymentboolean- Deploy from a later stage to an earlier one (for example Test back to Development). Defaults to false.
new_workspace_capacity_idstring- Capacity (GUID) for the new target workspace. Only used with new_workspace_name; Power BI picks one when blank.
new_workspace_namestring- Name for a new workspace to create when the target stage has no workspace assigned yet.
optionsobject- Deployment options as true/false flags. allowCreateArtifact and allowOverwriteArtifact let the deployment add new items and overwrite existing ones in the target stage; the deployment fails if a needed flag is not true. Other flags cover skipping tiles with missing prerequisites, purging data on schema mismatch, and taking over paginated reports. Example: {"allowCreateArtifact": true, "allowOverwriteArtifact": true}.
update_app_in_target_workspaceboolean- Whether to update the published app in the target workspace. Only items already in the app are updated.
microsoftpowerbi_push_dataset_createCreate a push semantic model (dataset) with the tables and columns you define, ready to receive rows through the API.WriteCreate Push Semantic Model
Create a push semantic model (dataset) with the tables and columns you define, ready to receive rows through the API. Returns the new model's id, name, and defaultRetentionPolicy. Use this to stream or push your own data into Power BI. Use microsoftpowerbi_push_dataset_rows_add to load rows into it.
Inputs
namestringrequired- Name of the new push semantic model.
tablesarrayrequired- Table definitions. Each table needs a name and a list of columns; each column needs a name and a dataType (Int64, Double, Boolean, Datetime, String, or Decimal). Tables can also carry DAX measures. Example: [{"name": "Sales", "columns": [{"name": "Region", "dataType": "String"}, {"name": "Amount", "dataType": "Double"}]}].
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
default_retention_policystring- Row retention: None keeps all rows (up to the push limit); basicFIFO keeps the newest 200,000 rows and drops the oldest.one of
NonebasicFIFO
microsoftpowerbi_push_dataset_rows_addAppend rows to a table in a push semantic model (dataset).WriteAdd Rows to Push Semantic Model
Append rows to a table in a push semantic model (dataset). Returns an empty response on success. Use this to load data into a push model. Use microsoftpowerbi_push_dataset_create first to create the model and its tables. Push limits apply: up to 10,000 rows per request.
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
rowsarrayrequired- Rows to append, each an object whose keys match the table's column names. Up to 10,000 rows per request. Example: [{"Region": "West", "Amount": 1250.5}].
table_namestringrequired- Name of the table in the push semantic model.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_push_dataset_table_updateReplace the schema (columns and measures) of a table in a push semantic model (dataset).WriteUpdate Push Semantic Model Table
Replace the schema (columns and measures) of a table in a push semantic model (dataset). Returns the updated table definition. Use this to add or change columns. Use microsoftpowerbi_push_dataset_rows_add to load data.
- Idempotent
Inputs
columnsarrayrequired- Full list of columns for the table. Each column needs a name and a dataType (Int64, Double, Boolean, Datetime, String, or Decimal). Example: [{"name": "Region", "dataType": "String"}, {"name": "Amount", "dataType": "Double"}].
dataset_idstringrequired- ID (GUID) of the semantic model. Get it from microsoftpowerbi_datasets_list (semantic models were previously called datasets). It also appears in the Power BI URL after /datasets/.
table_namestringrequired- Name of the table in the push semantic model.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
measuresarray- Optional DAX measures for the table, each with a name and a DAX expression. Example: [{"name": "Total Amount", "expression": "SUM(Sales[Amount])"}].
microsoftpowerbi_report_cloneCopy a Power BI report under a new name, optionally into another workspace or bound to another semantic model.WriteClone Report
Copy a Power BI report under a new name, optionally into another workspace or bound to another semantic model. Returns the new report's id, name, webUrl, and datasetId. Use this to duplicate a report. Use microsoftpowerbi_report_rebind to point an existing report at a different semantic model.
Inputs
namestringrequired- Name for the new copy of the report.
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...). This is the workspace of the source report.
target_model_idstring- Semantic model (dataset) ID to bind the copy to. Leave blank to keep the source report's semantic model.
target_workspace_idstring- Workspace (GUID) to put the copy in. Use 00000000-0000-0000-0000-000000000000 for My workspace. Leave blank to clone into the source report's workspace.
microsoftpowerbi_report_rebindBind a Power BI report to a different semantic model with a compatible schema.WriteRebind Report
Bind a Power BI report to a different semantic model with a compatible schema. Returns an empty response on success. Use this to switch a report's data. Use microsoftpowerbi_report_clone to make a copy bound to another model instead.
- Idempotent
Inputs
dataset_idstringrequired- ID (GUID) of the semantic model (dataset) to bind the report to. If it lives in another workspace, Power BI creates a shared semantic model in the report's workspace.
report_idstringrequired- ID (GUID) of the report. Get it from microsoftpowerbi_reports_list. It also appears in the Power BI URL after /reports/.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
microsoftpowerbi_workspace_createCreate a new Power BI workspace with the given name; the connected user becomes its admin.WriteCreate Workspace
Create a new Power BI workspace with the given name; the connected user becomes its admin. Returns the new workspace's id, name, and capacity details. Use this to set up a workspace. Use microsoftpowerbi_workspace_update to rename an existing one.
Inputs
namestringrequired- Name of the new workspace. Must be unique within the organization.
microsoftpowerbi_workspace_updateRename a Power BI workspace or change its default semantic model storage format.WriteUpdate Workspace
Rename a Power BI workspace or change its default semantic model storage format. Returns an empty response on success. Use this to edit workspace settings. Use microsoftpowerbi_workspace_create to make a new workspace.
- Idempotent
Inputs
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
default_dataset_storage_formatstring- Default storage format for new semantic models in the workspace: Small or Large. Only workspaces on Premium capacity can change this; shared-capacity workspaces can only change the name.one of
SmallLarge namestring- New name for the workspace. Must be unique within the organization.
microsoftpowerbi_workspace_user_addGrant a user, security group, or app a role in a Power BI workspace.WriteAdd Workspace User
Grant a user, security group, or app a role in a Power BI workspace. Returns an empty response on success. Use this to add a new member. Use microsoftpowerbi_workspace_user_update to change the role of someone who already has access.
Inputs
access_rightstringrequired- Workspace role to give the principal: Admin, Member, Contributor, or Viewer.one of
AdminMemberContributorViewer identifierstringrequired- The principal to grant access to. For a user, give the user principal name (UPN, usually the work email). For a security group or app, give its Microsoft Entra object ID.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
principal_typestring- Kind of principal in identifier: User, Group, or App. Defaults to User.one of
UserGroupAppdefaultUser
microsoftpowerbi_workspace_user_updateChange the workspace role of a user, security group, or app that already has access to a Power BI workspace.WriteUpdate Workspace User
Change the workspace role of a user, security group, or app that already has access to a Power BI workspace. Returns an empty response on success. Use this to promote or demote a member. Use microsoftpowerbi_workspace_user_add for someone without access yet.
- Idempotent
Inputs
access_rightstringrequired- Workspace role to give the principal: Admin, Member, Contributor, or Viewer.one of
AdminMemberContributorViewer identifierstringrequired- The principal to grant access to. For a user, give the user principal name (UPN, usually the work email). For a security group or app, give its Microsoft Entra object ID.
workspace_idstringrequired- ID (GUID) of the Power BI workspace that holds the item. Get it from microsoftpowerbi_workspaces_list or from the workspace URL (app.powerbi.com/groups/<workspace_id>/...).
principal_typestring- Kind of principal in identifier: User, Group, or App. Defaults to User.one of
UserGroupAppdefaultUser
No tools match.