# Microsoft Power BI MCP Integration

> Visualice cualquier dato e integre las visualizaciones en las aplicaciones que usa a diario con Power BI, una plataforma unificada para autoservicio e inteligencia empresarial.

## Overview

| Property | Value |
|----------|-------|
| Category | Analítica & Datos |
| Type | PIPEDREAM |
| Tools | 15 |
| URL | https://jelou.ai/pt-br/marketplace/microsoft_power_bi |

## Available Tools (15)

### Agregar Filas a la Tabla del Conjunto de Datos

Añade nuevas filas de datos a la tabla especificada dentro del conjunto de datos especificado desde Mi área de trabajo. [Consulte la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-post-rows)

### Add Rows To Push Dataset

Append rows to a table in a Power BI Push Dataset (streaming / realtime data). Only works for datasets created via the REST API with `defaultMode: Push` — these datasets expose `addRowsAPIEnabled: true` on the object returned by **List Datasets**. Use **List Datasets** first to resolve a dataset name → `datasetId` and inspect its `tables` for the exact `tableName` (case-sensitive). Pass `workspaceId` (from **List Workspaces**) or `workspaceName` to target a specific workspace, or omit both for My workspace. Rows must match the table's column schema. `rows` accepts either a JSON array (`[{...}, {...}]`) or a JSON-stringified array. Each row is an object of `columnName → value`. Common mistakes: (1) case mismatch on `tableName` returns 404 — copy the exact string from the dataset's `tables` array. (2) Sending values that don't match the declared column data type returns `RequestedResourceNotFound` or `DMTS_DatasourceHasNoCredentialsError`. Push-dataset rows have no individual IDs and cannot be updated or deleted — only appended or bulk-cleared. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-post-rows-in-group)

### Cancelar la actualización del conjunto de datos

Cancela una operación de actualización para un conjunto de datos especificado en Power BI. [Consulta la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/cancel-refresh)

### Crear conjunto de datos

Crea un nuevo conjunto de datos Push en Power BI. [Ver la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/push-datasets/datasets-post-dataset)

### Execute DAX Query

Execute a DAX (Data Analysis Expressions) query against a Power BI dataset (semantic model). This is the primary analytics tool — use it to answer questions about values, aggregates, or filtered rows in a dataset. Use **List Datasets** first to resolve a dataset name → `datasetId`. The query must be a single valid DAX expression starting with `EVALUATE`. **Table discovery (standard datasets):** For datasets published from Power BI Desktop, the REST `GET /datasets/{id}/tables` endpoint is scoped to push datasets only and will not list tables. Use `EVALUATE INFO.TABLES()` instead — it returns every table name in the semantic model. Typical agent flow: **List Workspaces** → **List Datasets** → **Execute DAX Query** (`EVALUATE INFO.TABLES()`) → **Execute DAX Query** (`EVALUATE 'TableName'`). Common patterns: • Discover all tables — `EVALUATE INFO.TABLES()` (use this before querying an unknown dataset) • List all rows of a table — `EVALUATE 'Species'` • Filter — `EVALUATE FILTER('Species', 'Species'[dietType] = "Carnivore")` • Top N by column — `EVALUATE TOPN(5, 'Species', 'Species'[weightKg], DESC)` • Aggregate single value — `EVALUATE ROW("Total", SUMX('Species', 'Species'[weightKg]))` • Peek at a table's columns — `EVALUATE TOPN(0, 'Species')` (returns an empty rowset with column names in the response). Limits: max 100,000 rows or 1,000,000 values per query, and `DEFINE`/multiple-statement queries are not supported via REST. The tenant must have 'Dataset Execute Queries REST API' enabled (admin setting) or the call returns 401/403. Pass `workspaceId` (from **List Workspaces**) or `workspaceName` to target a specific workspace, or omit both for My workspace. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/execute-queries-in-group)

### Export Report

Export a Power BI report to a file format such as PDF, PPTX, or PNG. Requires a report ID (use **List Reports** to find it) and defaults to PDF if no format is given. Pass `workspaceId` (from **List Workspaces**) or `workspaceName` to target a specific workspace, or omit both for My workspace. Supported `format` values depend on the report type: Power BI reports support `PDF`, `PPTX`, `PNG`. Paginated reports additionally support `CSV`, `XLSX`, `DOCX`, `XML`, `MHTML`. This API is **Premium-only**: requires the workspace to be backed by Premium capacity, Premium Per User, or Embedded capacity. On shared (free) capacity it returns `FixedCapacityLimitExceeded` / 403. The export is asynchronous — this tool starts the export, then polls until the job reaches `Succeeded` or `Failed` (or `pollTimeoutSeconds` elapses), then downloads the file and returns it as base64 along with the job metadata. PNG exports only work for single-page reports. For PPTX/PDF, pass `pages` (array of page names, e.g., `["ReportSection", "ReportSection1"]`) to limit the export. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/reports/export-to-file-in-group)

### Obtener Actualización del Conjunto de Datos

Inicia una operación de actualización para un conjunto de datos de Power BI específico. [Ver la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/get-refresh-history)

### Get Refresh History

Get the refresh history for a Power BI dataset. Use **List Datasets** first to resolve a dataset name → `datasetId`. Pass `workspaceId` (from **List Workspaces**) or `workspaceName` to scope to a specific workspace, or omit both for My workspace. Each entry includes `requestId`, `refreshType` (`OnDemand`, `Scheduled`, `ViaApi`, etc.), `startTime`, `endTime`, `status` (`Completed`, `Failed`, `Disabled`, `Cancelled`, `Unknown` — `Unknown` means still in progress), and `serviceExceptionJson` on failures. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/get-refresh-history-in-group)

### Obtener informes

Obtenga informes de un espacio de trabajo de Power BI. [Ver la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/reports/get-reports)

### Get Report by id

Retrieve metadata for a single Power BI report by ID. Uses My workspace by default; set Workspace (Group) ID for a specific workspace. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/reports/get-report)

### List Dashboards

List Power BI dashboards in a workspace. Defaults to the authenticated user's personal My workspace when no workspace is specified. Pass `workspaceId` (preferred, from **List Workspaces**) OR `workspaceName` to scope to a specific workspace. Each dashboard includes `id`, `displayName`, `isReadOnly`, `webUrl`, and `embedUrl`. Note: dashboards cannot be created via the REST API — they are built interactively in the Power BI service. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/dashboards/get-dashboards-in-group)

### List Datasets

List Power BI datasets (semantic models) in a workspace. Defaults to the authenticated user's personal My workspace when no workspace is specified. Pass `workspaceId` (preferred, from **List Workspaces**) OR `workspaceName` to scope to a specific workspace. Each dataset includes `id`, `name`, `webUrl`, `addRowsAPIEnabled` (true for Push Datasets), `isRefreshable`, and `defaultMode` (`Push`, `Streaming`, `PushStreaming`, `AsOnPrem`, `AsAzure`). Use this tool to resolve a dataset name → ID before calling **Refresh Dataset**, **Execute DAX Query**, **Get Refresh History**, or **Add Rows To Push Dataset**. For push-dataset row inserts, call the dataset's `GET tables` endpoint (not exposed as a separate tool) by inspecting the dataset's `name` → tables are defined at dataset creation; the table name is the string configured at creation time (e.g., `Species`). [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/get-datasets-in-group)

### List Reports

List Power BI reports in a workspace. Defaults to the authenticated user's personal My workspace when no workspace is specified. Pass `workspaceId` (preferred, from **List Workspaces**) OR `workspaceName` to scope to a specific workspace — the tool resolves the name to an ID server-side. Each report includes `id`, `name`, `webUrl`, `embedUrl`, `datasetId`, and `reportType` (`PowerBIReport` or `PaginatedReport`). Note: reports cannot be created via the REST API — they are published from Power BI Desktop. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/reports/get-reports)

### List Workspaces

List the Power BI workspaces (groups) the authenticated user can access. Use this tool first whenever the user refers to a workspace by name — it returns the `id` you need to pass as `workspaceId` to other tools. Power BI has no `/me` endpoint, so the set of accessible workspaces is the user's primary context (the 'who am I' signal for this app). Every item in the response includes `id`, `name`, `isReadOnly`, `isOnDedicatedCapacity`, and `type`. Note: when a user says 'my workspace' without a name, they may mean personal My workspace (implicit — pass no `workspaceId` to other tools) OR a specific named workspace — ask only if ambiguous. [See the documentation](https://learn.microsoft.com/en-us/rest/api/power-bi/groups/get-groups)

### Actualizar conjunto de datos

Inicia una operación de actualización para un conjunto de datos de Power BI específico. [Ver la documentación](https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/refresh-dataset)

## Supported Channels

This integration works with:
- WhatsApp Business API
- Facebook Messenger
- Instagram Direct Messages
- Web Chat Widget

## AI Assistants Compatible

- ChatGPT (via MCP)
- Claude (via MCP)
- Gemini (via MCP)
- Custom AI Agents

## Quick Start

1. Sign up at https://apps.jelou.ai/signup
2. Navigate to Marketplace and add Microsoft Power BI
3. Authenticate your Microsoft Power BI account
4. Configure your messaging channels (WhatsApp, Facebook, etc.)
5. Copy the MCP server URL to your AI assistant

## Example Use Cases

- Automate customer inquiries using Microsoft Power BI data
- Send notifications via WhatsApp when Microsoft Power BI events occur
- Query Microsoft Power BI data directly from ChatGPT or Claude
- Build AI agents that interact with Microsoft Power BI

## Resources

- [All Integrations](https://jelou.ai/pt-br/marketplace)
- [Full Documentation](https://jelou.ai/llms-full.txt)
- [API Docs](https://docs.jelou.ai)
- [Help Center](https://help.jelou.ai)
