Embedded Power BI dashboard in analytics report workspace doesn't refresh automatically

We’ve embedded Power BI dashboards into our analytics report workspace in D365 Finance 10.0.41, but the tiles are showing outdated data. The Power BI dataset refresh schedule is set to run every 2 hours in the Power BI service, but the embedded tiles in D365 are still showing data from yesterday.

I’ve verified the embedded tile configuration in the Analytics workspace setup, and the tile IDs match correctly. The service principal permissions seem properly configured with the Power BI workspace set as a contributor. When I open the same dashboard directly in Power BI service, it shows current data, so the dataset refresh is working there.

Has anyone experienced this disconnect between Power BI dataset refresh and the embedded tiles in D365? Is there a separate refresh mechanism or configuration I’m missing for the embedded components?

Excellent troubleshooting thread. Let me provide a comprehensive solution for anyone facing similar Power BI embedded refresh issues:

Power BI Dataset Refresh Configuration: First, ensure your Power BI dataset refresh schedule is working correctly in the Power BI service. This is your data source - if it’s not updating, nothing downstream will be current. Verify the refresh history shows successful completions at your scheduled intervals.

Embedded Tile Configuration in D365: Navigate to System administration > Setup > Power BI configuration. Key settings to verify:

  • Tile cache duration: Set between 30-120 minutes based on your data freshness requirements
  • Enable automatic refresh: Must be turned ON
  • Power BI workspace URL: Must match exactly with your workspace

Service Principal Permissions (Critical): Your service principal needs three levels of permissions:

  1. Power BI Workspace: Contributor or Admin role
  2. Dataset Level: Read permission on each dataset (Settings > Security > Add service principal)
  3. Tenant Settings: ‘Service principals can use Power BI APIs’ must be enabled in Power BI admin portal

Batch Job Configuration: The ‘Power BI report refresh’ batch job is the bridge between Power BI service and D365 embedded tiles. Go to System administration > Inquiries > Batch jobs and locate this job:

  • Status should be ‘Waiting’ between runs, not stuck in ‘Executing’
  • Recurrence: Default is 4 hours, but adjust based on your cache duration setting
  • If stuck: Cancel and recreate the batch job
  • Check batch job history for authentication errors or API timeouts

Troubleshooting Steps:

  1. Verify dataset refresh in Power BI service is successful
  2. Confirm service principal has all three permission levels
  3. Check batch job status and history
  4. Review cache duration settings
  5. Test by manually running the batch job and checking tile updates after 5-10 minutes
  6. If still failing, check Application Insights for API call failures between D365 and Power BI service

Common Gotchas:

  • Service principal token expiration: Tokens refresh automatically, but expired certificates in Azure AD will break authentication
  • Cross-region latency: Keep Power BI workspace and D365 in same Azure region
  • Row-level security: If using RLS, service principal must be mapped in RLS roles or tiles will be empty
  • Firewall rules: Ensure D365 environment can reach Power BI API endpoints (*.powerbi.com)

The batch job issue you encountered is actually quite common after environment updates or service principal credential rotations. Regular monitoring of this batch job should be part of your operational procedures.


This draft is based on general Microsoft Dynamics 365 knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

Check your Power BI Embedded service configuration in D365. The embedded tiles use a separate cache layer that doesn’t automatically sync with your Power BI service refresh schedule. You need to configure the cache refresh interval in System administration > Setup > Power BI configuration. Look for the ‘Tile cache duration’ setting.

I had the exact same issue last month. The problem is that the service principal needs explicit permissions not just at the workspace level, but also at the dataset level in Power BI. Go to your dataset settings in Power BI service, and under the Security tab, add your service principal with Read permission. Also verify that the service principal has the ‘View all datasets’ permission in the Power BI admin portal. After making these changes, the embedded tiles started refreshing within their configured interval.

Thanks for the suggestions. I checked the tile cache duration and it’s set to 60 minutes, which should be fine. I also verified the service principal permissions at the dataset level - it already has Read access. Still seeing stale data in the embedded tiles though. Could there be an issue with the token refresh for the service principal?

Check the batch job ‘Power BI report refresh’ in System administration > Inquiries > Batch jobs. This job is responsible for pulling updated tiles from Power BI service. If it’s not running or encountering errors, your tiles won’t update regardless of the Power BI dataset refresh. The default recurrence is every 4 hours, but you can adjust it. Also look at the batch job history to see if there are any authentication failures or timeout errors that might indicate service principal token issues.

One thing that often gets overlooked - make sure your Power BI workspace is in the same Azure region as your D365 environment. Cross-region calls can sometimes cause latency and caching issues with embedded content. Also, if you’re using row-level security on your Power BI datasets, verify that the service principal’s identity is properly mapped in your RLS roles.

Found it! The batch job was the key. It was set to run but had been stuck in ‘Executing’ state for 3 days. I canceled it and restarted, and now the tiles are updating properly.

I had the exact same issue last month.