Skip to main content

Overview

Microsoft Power BI REST API integration for datasets, reports, and workspaces. Through Langdock’s integration, you can access and manage Power BI directly from your conversations.
Authentication: OAuth
Category: Data & Analytics
Availability: All workspace plans

Available Actions

List Workspaces

powerbi.list_workspaces
List workspaces (groups) the user has access to. Requires Confirmation: No Parameters: None Output: Returns a JSON array of workspaces with workspace metadata

List Datasets

powerbi.list_datasets
List datasets in My Workspace or a specified workspace. Requires Confirmation: No Parameters:
  • groupId (TEXT, Optional): Workspace (Group ID). If omitted, lists datasets from My Workspace
Output: Returns a JSON array of datasets with dataset metadata

List Dataset Tables

powerbi.list_dataset_tables
List tables for a dataset to discover exact table and column names before writing DAX. Note: Only works for push API datasets. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The Power BI dataset ID (GUID)
Output: Returns a JSON object with table definitions including columns and measures

Execute DAX Query

powerbi.execute_dax_query
Run a DAX (SQL-like) query against a Power BI dataset using the Execute Queries API. Requires Confirmation: Yes Parameters:
  • datasetId (TEXT, Required): The Power BI dataset ID to query (GUID)
    • query (MULTI_LINE_TEXT, Required): DAX query text. Example: EVALUATE ROW("Total Sales", [Total Sales]) or full DAX EVALUATE expression
Output: Returns query results with table data from the executed DAX query

Search Datasets

powerbi.search_datasets
Searches for Power BI datasets by name. Requires Confirmation: No Parameters:
  • searchTerm (TEXT, Required): The term to search for in dataset names
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, searches My Workspace
Output: Returns matching datasets with id, name, configuredBy, isRefreshable, createdDate, webUrl, and total counts

List Reports

powerbi.list_reports
List reports in a workspace or in My Workspace. Requires Confirmation: No Parameters:
  • groupId (TEXT, Optional): Workspace (Group ID). If omitted, lists reports from My Workspace
Output: Returns a JSON array of reports with report metadata

List Report Pages

powerbi.list_report_pages
List pages for a report. Requires Confirmation: No Parameters:
  • reportId (TEXT, Required): The report ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID) if the report is in a workspace
Output: Returns a JSON array of report pages with page details

Search Reports

powerbi.search_reports
Searches for Power BI reports by name or description. Requires Confirmation: No Parameters:
  • searchTerm (TEXT, Required): The term to search for in report names and descriptions
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, searches My Workspace
Output: Returns matching reports with id, name, description, webUrl, embedUrl, datasetId, and timestamps

Export Report to File (Initiate)

powerbi.export_report_to_file_initiate
Initiates a Power BI report export job. Returns export ID for use with the fetch action. Requires Confirmation: Yes Parameters:
  • reportId (TEXT, Required): The report ID (GUID)
    • format (SELECT, Required): Export format (PDF, PPTX, PNG)
    • groupId (TEXT, Optional): Workspace (Group ID) that contains the report. If omitted, exports from My Workspace
Output: Returns export job details with exportId, groupId, reportId, and format

Export Paginated Report (Initiate)

powerbi.export_paginated_report_initiate
Initiates a Power BI paginated report export job. Supports more formats than regular reports including XLSX, CSV, DOCX. Requires Confirmation: Yes Parameters:
  • reportId (TEXT, Required): The paginated report ID (GUID)
    • format (SELECT, Required): Export format (PDF, XLSX, DOCX, CSV)
    • groupId (TEXT, Optional): Workspace (Group ID) that contains the report
    • reportParameters (OBJECT, Optional): Parameters to pass to the report as key-value pairs (JSON object). Example: {"StartDate": "2024-01-01", "EndDate": "2024-12-31"}
    • csvDelimiter (TEXT, Optional): Delimiter for CSV export (default is comma, max 1 character)
    • csvEncoding (SELECT, Optional): Encoding for CSV export (UTF-8, UTF-16)
    • imageFormat (SELECT, Optional): When format is IMAGE, specify the image type (JPEG, PNG)
Output: Returns export job initiation response with export ID and configuration

Export Report to File (Fetch)

powerbi.export_report_to_file_fetch
Fetches a Power BI report export by checking status and downloading the file if ready. Requires Confirmation: No Parameters:
  • reportId (TEXT, Required): The report ID (GUID)
    • exportId (TEXT, Required): The export ID returned from the initiate action
    • groupId (TEXT, Optional): Workspace (Group ID) that contains the report. If omitted, fetches from My Workspace
Output: Returns export file object or status information

List Dashboards

powerbi.list_dashboards
List dashboards in a workspace or in My Workspace. Requires Confirmation: No Parameters:
  • groupId (TEXT, Optional): Workspace (Group ID). If omitted, lists dashboards from My Workspace
Output: Returns a JSON array of dashboards with dashboard metadata

List Dashboard Tiles

powerbi.list_dashboard_tiles
List tiles on a dashboard. Requires Confirmation: No Parameters:
  • dashboardId (TEXT, Required): The dashboard ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID) if the dashboard is in a workspace
Output: Returns a JSON array of dashboard tiles with tile metadata

Get Dataset Details

powerbi.get_dataset_details
Gets detailed information about a specific Power BI dataset. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The dataset ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns detailed dataset information including id, name, configuredBy, isRefreshable, targetStorageMode, createdDate, webUrl, and more

Get Report Details

powerbi.get_report_details
Gets detailed information about a specific Power BI report. Requires Confirmation: No Parameters:
  • reportId (TEXT, Required): The report ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns detailed report metadata object

Get Dashboard Details

powerbi.get_dashboard_details
Gets detailed information about a specific Power BI dashboard. Requires Confirmation: No Parameters:
  • dashboardId (TEXT, Required): The dashboard ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns detailed dashboard metadata object

Get Tile Details

powerbi.get_tile_details
Gets detailed information about a specific Power BI dashboard tile. Requires Confirmation: No Parameters:
  • dashboardId (TEXT, Required): The dashboard ID (GUID)
    • tileId (TEXT, Required): The tile ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns detailed tile metadata object

Get Table Sample

powerbi.get_table_sample
Gets a sample of data from a specific table in a Power BI dataset. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The dataset ID (GUID)
    • tableName (TEXT, Required): The name of the table to sample (e.g., “Sales”)
    • sampleSize (TEXT, Optional): Number of rows to sample (default: 100)
Output: Returns table sample with columns, sampleData rows, rowCount, columnCount, and metadata

Get Table Count

powerbi.get_table_count
Gets the row count of a specific table in a Power BI dataset. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The dataset ID (GUID)
    • tableName (TEXT, Required): The name of the table to count (e.g., “Sales”)
Output: Returns the row count for the specified table

Get Dataset Schema

powerbi.get_dataset_schema
Gets the complete schema of a Power BI dataset including tables, columns, measures, and relationships. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The dataset ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns comprehensive schema with dataset metadata, tables with columns and measures, parameters, and summary statistics

Get Dataset Dependencies

powerbi.get_dataset_dependencies
Gets reports and dashboards that use a specific Power BI dataset. Requires Confirmation: No Parameters:
  • datasetId (TEXT, Required): The dataset ID (GUID)
    • groupId (TEXT, Optional): Workspace (Group ID). If omitted, uses My Workspace
Output: Returns list of objects (reports and dashboards) that reference the dataset

Common Use Cases

Data Management

Manage and organize your Power BI data

Automation

Automate workflows with Power BI

Reporting

Generate insights and reports

Integration

Connect Power BI with other tools

Best Practices

Getting Started:
  1. Enable the Power BI integration in your workspace settings
  2. Authenticate using OAuth
  3. Test the connection with a simple read operation
  4. Explore available actions for your use case
Important Considerations:
  • Ensure proper authentication credentials
  • Respect rate limits and API quotas
  • Review data privacy settings
  • Test operations in a safe environment first

Troubleshooting

IssueSolution
Authentication failedVerify your OAuth credentials
Rate limit exceededReduce request frequency
Data not foundCheck permissions and data availability
Connection timeoutVerify network connectivity

Support

For additional help with the Power BI integration, contact [email protected]