MetricSign
Request Access
Monitoring

How do I monitor Power BI refresh failures automatically?

Monitoring Power BI refresh failures automatically requires two things: a way to detect when a failure happens, and a channel to receive the notification.

Option 1: Power BI built-in notifications

Power BI Service includes a basic notification system for dataset owners. In dataset settings, you can enable "Send email notifications" to the owner when a refresh fails. This works for individual datasets but has limitations: it only notifies the dataset owner, it doesn't aggregate across workspaces, and it provides no context about why the failure happened.

Option 2: Power BI REST API polling

The Power BI REST API exposes a getRefreshHistory endpoint that returns the status, duration, and error message for each refresh. You can build a polling script that runs after each scheduled refresh window and checks the status. When a failure is detected, the script sends an alert via email, Teams webhook, or another notification channel.

The polling approach has advantages: you can monitor across all workspaces, aggregate multiple failures into one notification, and enrich alerts with context (which gateway, which error code, how many consecutive failures). The disadvantage is build and maintenance overhead.

Option 3: Azure Monitor with Log Analytics

Power BI Premium and PPU workspaces can be configured to send activity logs to Azure Log Analytics. You can then define alert rules using KQL queries that fire when refresh failures are detected. This integrates with your existing Azure monitoring infrastructure but requires Premium licensing and KQL expertise.

Option 4: Purpose-built monitoring tools

Tools designed specifically for Power BI monitoring connect to the API and provide out-of-the-box alerting without building polling infrastructure. They typically cover multiple workspaces, translate error codes into plain language, and support routing to multiple notification channels (email, Teams, Telegram, webhook). Setup takes minutes rather than days.

What to include in a useful refresh failure alert

A refresh failure notification is most useful when it includes: the dataset name and workspace, the exact error message (or a human-readable translation), whether this is a first failure or a consecutive failure (Power BI disables schedules after repeated failures), and whether the failure correlates with a gateway problem affecting other datasets.

Consecutive failure tracking

Power BI automatically disables a dataset's refresh schedule after a configurable number of consecutive failures (default 4). Once disabled, the dataset requires manual re-enablement. An alerting system that tracks consecutive failures can warn you before the schedule is disabled — so you can fix the root cause while data is still refreshing.

Related questions

Related error codes

Related integrations

Related articles

← All questions