MetricSign
Request Access
Best Practices

How do I set up alerting for Power BI dataset refresh failures?

Setting up Power BI alerting involves choosing the right approach for your scale and requirements, then configuring it to deliver actionable notifications to the right people.

Option 1: Power BI built-in notifications

Power BI Service includes email notifications for refresh failures. To configure: 1. Open the dataset in Power BI Service 2. Go to Settings → Scheduled refresh 3. Enable "Send refresh failure notifications to dataset contacts"

This sends an email to the dataset owner and any configured contacts when a refresh fails. It's simple and free, but has limitations: one email per failure per dataset, no aggregation across workspaces, no routing to channels like Teams or Slack.

Option 2: API polling with custom alerting

Build a script that polls the Power BI REST API's getRefreshHistory endpoint for each dataset after the expected refresh window. When a failure is detected, send an alert via email, Teams webhook, or another notification service.

This approach requires writing and maintaining code, but enables: - Monitoring across all workspaces from a service principal - Aggregating multiple failures into one notification - Including error code translation and context - Routing alerts to channels based on workspace or dataset criticality

Option 3: Azure Monitor alert rules

For Premium or PPU workspaces with Log Analytics enabled: 1. Configure Power BI workspace diagnostic settings to send logs to Log Analytics 2. Create an alert rule in Azure Monitor with a KQL query that detects refresh failures 3. Connect the alert rule to an action group (email, Teams, webhook, PagerDuty)

This integrates with existing Azure monitoring infrastructure but requires Premium licensing and KQL expertise.

Option 4: Purpose-built monitoring tools

Purpose-built tools connect to the Power BI API and provide pre-configured alerting without custom code. They typically support multi-workspace coverage, multi-channel notifications (email, Teams, Telegram, webhook), consecutive failure tracking, and error code translation.

Alert content best practices

A useful refresh failure alert includes: dataset name and workspace, error code with human-readable translation, number of consecutive failures, whether the refresh schedule is at risk of being disabled, and any context about upstream pipeline status if available.

Related questions

Related error codes

Related integrations

Related articles

← All questions