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 PrincipalTenant 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.
  • CertificateTenant 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.