Microsoft Power BI
Bring your business data together in Microsoft Power BI, and act on it in the apps your team already uses.
12 ways to read, 3 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Microsoft Power BI, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Refresh a semantic model
dataset_refreshes.createApproval by rule - Add rows to a push dataset
dataset_rows.createApproval by rule - List reports
reports.listRead
Example flow
- Microsoft Power BI · List reports
reports.listDone - Microsoft Power BI · Refresh a semantic model
dataset_refreshes.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Microsoft Power BI.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Microsoft Power BI
- Microsoft Power BI's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Microsoft Power BI: push rows into datasets, refresh semantic models, check refresh results and read reports, dashboards and DAX query results.
Microsoft API docs- Source actions
- 12
- Destination actions
- 3
- Data types
- 11
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
dashboard tiles1
- List dashboard tilesSource
Lists the tiles on a dashboard and the report or semantic model behind each one.
dashboards1
- List dashboardsSource
Lists the dashboards in a workspace.
dataflows1
- List dataflowsSource
Lists the dataflows in a workspace.
dataset refreshes3
- Refresh a semantic modelDestinationNot retried automaticallyApproval before production
Starts a refresh of an import-mode semantic model and returns its refresh ID; use Check a refresh to see when it finishes.
- Check a refreshSource
Reads the status of one refresh by its refresh ID (from Refresh a semantic model), including whether it is still running.
- Read refresh historySource
Lists recent refreshes of a semantic model with their status, so a flow can check the last refresh succeeded.
dataset rows1
- Add rows to a push datasetDestinationNot retried automaticallyApproval before production
Adds up to 500 rows to a table in a push dataset, for example today's orders or meter readings.
dataset tables1
- List push dataset tablesSource
Lists the tables and columns of a push dataset, to check what rows it accepts. Only push datasets are supported.
datasets3
- Create a push datasetDestinationProvider duplicate protectionApproval before production
Creates a push dataset (semantic model) with the tables and columns you choose, ready to receive rows from flows.
- Get a semantic modelSource
Reads one semantic model (dataset): owner, storage mode and whether it can be refreshed.
- List semantic modelsSource
Lists the semantic models (datasets) in a workspace.
dax queries1
- Run a DAX querySource
Runs one read-only DAX query (starting with EVALUATE or DEFINE) against a semantic model and returns its rows.
refresh schedules1
- Get refresh scheduleSource
Reads when a semantic model refreshes automatically and whether the schedule is on.
reports1
- List reportsSource
Lists the reports in a workspace and the semantic model each one uses.
workspaces1
- List workspacesSource
Lists the Power BI workspaces the connected app has been added to.
Access and limits
- Authentication
- Microsoft Entra app (service principal): client ID and client secret
- Plans and access
- Power BI Pro, Premium Per User, or a workspace on Premium, Fabric or Embedded capacity. A Microsoft Entra app registration in your own tenant. A Fabric administrator must allow service principals to call Fabric public APIs, and the app must be added to each workspace (My workspace is not supported). DAX queries need the Semantic Model Execute Queries REST API tenant setting.
- Test environment
- Use a separate test workspace (for example 'Nexra Test') with a test push dataset, or a Fabric trial; production uses the same app added to your real workspaces.
- Rate limits
- Power BI throttles per user/app with HTTP 429 and Retry-After. DAX queries: 120 a minute. Push rows: 10,000 rows per request, 120 requests a minute and 1,000,000 rows an hour per dataset. Refreshes: 8 a day per model on shared (Pro) capacity.
- Pagination
- Workspaces page with $top and $skip. Workspace item lists, tables and tiles return in one response; refresh history takes $top (up to 100 here).
- Provider events
- Power BI REST APIs have no webhooks for refresh or data changes; refresh failure emails and Data Activator alerts are configured in Power BI itself. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Signs in as your own Entra app (service principal) with client credentials; Nexra registers no app. Sovereign clouds (Government, China) are not supported.
- The app sees only workspaces it has been added to; My workspace is never available to a service principal.
- Run a DAX query is read-only: it must start with EVALUATE or DEFINE, returns one table and keeps at most 2,000 rows per step (use TOPN to limit rows at the source). Models with row-level security or SSO cannot be queried by a service principal.
- Add rows works only on push datasets, sends up to 500 rows per step and has no duplicate protection: an uncertain request is never repeated, and a repeated step adds the rows again.
- Refresh a semantic model sends no email notification (service principals cannot) and counts against the 8-a-day limit on shared capacity.
- No read can filter by time, so flows re-read lists (refresh history returns the most recent entries).
- Listing dataflows may be refused for service principals in some tenants; Microsoft documents dataflow management as unsupported for service principals.
- Intentionally excluded: deleting datasets, rows or tables; replacing a push table's schema; changing refresh schedules; workspace, report or dataset permission changes; gateway and data source credential changes; report export, clone and rebind; imports; admin APIs.
Developer reference
- Create the Microsoft credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Microsoft Power BI, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/power-bi and the Connections API.