Power BI Dataflow Refresh Job

The Power BI Dataflow Refresh job type triggers a Power BI dataflow refresh via POST groups/{workspaceId}/dataflows/{dataflowId}/refreshes?processType=default.

This job type is supported on the Power BI platform.

Required job fields

  • External Id — the dataflow GUID. Captured automatically on import and also seeded as the Dataflow Id job attribute.
  • Job TypePower BI Dataflow Refresh (set automatically on import).

Job discovery

GET groups/{workspaceId}/dataflows — every dataflow in the configured workspace.

Parameter handling

The dataflow refresh endpoint accepts no run-time parameters.

Direction Sent in the refresh request Updated from response
(all) (not supported) (not supported)

Parameterise the dataflow's queries and connections in Power BI itself; Polysync acts purely as the trigger and the monitor.

Polysync sends notifyOption: NoNotification, which the Power BI API requires for service-principal callers.

Execution flow

  1. POST groups/{workspaceId}/dataflows/{dataflowId}/refreshes?processType=default.
  2. The endpoint returns no transaction id, so Polysync records the run against the dataflow itself.
  3. Status is resolved from GET .../dataflows/{dataflowId}/transactions — the transaction captured at execute time when available, otherwise the newest transaction (the API returns them newest first).
  4. Cancel through the dataflow transaction cancel endpoint.

Monitor URL

https://app.powerbi.com/groups/{workspaceId}/dataflows/{dataflowId}

Best practices

  • Sequence the dataflow refresh before any dependent Semantic Model Refresh task so downstream models read refreshed data.
  • Because the run maps to the latest transaction, avoid triggering the same dataflow concurrently from more than one task — use a concurrency limit or a contention profile.

Troubleshooting

  • Run status stays Unknown — no transaction was returned yet. Power BI creates the transaction shortly after the request is accepted; it resolves on the next poll.
  • HTTP 401 / 403 — the identity is not a Member/Contributor on the workspace, or the "Allow service principals to use Power BI APIs" tenant setting is off.
  • HTTP 409 — a refresh is already in progress for that dataflow.