Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Microsoft Power BI

Scalekit connector
Open markdown

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 app
Your own Microsoft Power BI app

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. 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>
  3. 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_name your code passes. See Configure connections.

  4. 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.

  5. 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.actions
    const connector = 'microsoftpowerbi'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'microsoftpowerbi_apps_list',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • microsoftpowerbi_app_dashboard_getGet one dashboard from an installed Power BI app.Read-only

    Get 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-only

    List 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-only

    List 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-only

    Get 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-only

    Get 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-only

    List 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-only

    List 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-only

    List 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.