Power BI
The Power BI platform lets Polysync trigger and monitor semantic model
(dataset) refreshes and dataflow refreshes, so reports and dashboards update
automatically once the upstream pipeline finishes.
Power BI is driven through the Power BI REST API
(https://api.powerbi.com/v1.0/myorg), not Azure Resource Manager. That is why it
needs no Subscription Id or Resource Group Name — unlike the Azure Data Factory,
Synapse, and Microsoft Fabric providers.
Required attributes
- Power BI Workspace Id — the GUID of the workspace (group) that holds the
semantic models and dataflows. This scopes both discovery and execution.
Authentication methods
Power BI is Entra ID (Azure AD) only; there is no API-key or PAT option.
- Polysync Service Principal ⭐ (recommended) — no extra attributes. Add the
Polysync Enterprise Application to the workspace as a Member or
Contributor. Secret-less.
- Service Principal — Tenant Id, Client Id, Client Secret. Use when you
need a dedicated app per workspace. Store the secret in a Secret Vault and rotate
it regularly.
- Certificate — Tenant Id, Client Id, Certificate (base64 or path),
optional Certificate Password and Certificate Thumbprint.
Tokens are acquired for the Power BI data-plane audience
(https://analysis.windows.net/powerbi/api/.default).
Permissions checklist
- The identity must be a Member or Contributor on the target Power BI
workspace. Viewer is not enough — it cannot trigger a refresh.
- A Power BI admin must enable "Allow service principals to use Power BI APIs"
in the Power BI admin portal (Tenant settings → Developer settings) and add the
identity to the security group named in that setting. Without this, connectivity
testing fails with an authentication error even though the credentials are valid.
- The workspace must be in a new workspace experience (v2) workspace; classic
workspaces are not supported by the service-principal APIs.
Supported jobs
- Power BI Semantic Model Refresh —
refreshes a dataset using the Power BI enhanced (asynchronous) refresh
endpoint, so Polysync gets a refresh id it can poll to completion. Exposes an
optional Refresh Type dropdown: Full (default), Automatic, Calculate,
Clear Values, Data Only — these map directly to the Power BI
DatasetRefreshType enum.
- Power BI Dataflow Refresh —
triggers a dataflow refresh and tracks it via the dataflow transaction history.
Both job types are discovered automatically from the configured workspace; the
discovered dataset or dataflow id is stored as the job's External Id. Neither job
type takes input parameters, so no parameter mapping is required.
Monitoring
Each run links back to the Power BI service (https://app.powerbi.com) at the
refresh history for the semantic model or dataflow, so an operator can jump straight
from a Polysync task run to the Power BI-side detail.
Troubleshooting
- "Authentication failed: … the service principal is not enabled for Power BI APIs" —
the tenant setting above has not been enabled, or the identity is not in the
allowed security group.
- "Workspace '…' not found" — the Power BI Workspace Id is wrong, or the
identity is not a member of that workspace.
- No semantic models or dataflows discovered — the identity can see the
workspace but has Viewer access, or the workspace genuinely has no items of that
type.