The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
I have a report and semantic model pubished in a workspace in tenant A (my native tenant), that uses a dataflow and tables in a workspace on Tenant B. I can set the credentials for the datasource using OAuth and signing in to the Tenant B workspace, and a manual refresh then works fine.
I can set a scheduled refresh within the next ~30 minutes which also works. At some point thought the scheduled refresh begins failing with an error that I think indicates that the refresh is looking for the Tenant B workspace within my home Tenant A.
Any suggestions?
Solved! Go to Solution.
Hi @rack201 ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you @BhavinVyas3003 @jaineshp for the prompt response.
You are correct - Dataflow Gen1 only supports OAuth, which leads to token expiration and failed scheduled refreshes in cross-tenant setups. To resolve this:
Use Fabric Pipelines or REST APIs to replicate data from Tenant B to Tenant A.This keeps refreshes within one tenant and avoids token issues.Alternatively, host your semantic model in Tenant B where the dataflow resides.
Or upgrade to Dataflow Gen2, which supports service principal authentication for stable long-term refreshes.
Thank you.
Hi @rack201 ,
I wanted to check if you had the opportunity to review the information provided and resolve the issue..?Please let us know if you need any further assistance.We are happy to help.
Thank you.
Hi @rack201 ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you @BhavinVyas3003 @jaineshp for the prompt response.
You are correct - Dataflow Gen1 only supports OAuth, which leads to token expiration and failed scheduled refreshes in cross-tenant setups. To resolve this:
Use Fabric Pipelines or REST APIs to replicate data from Tenant B to Tenant A.This keeps refreshes within one tenant and avoids token issues.Alternatively, host your semantic model in Tenant B where the dataflow resides.
Or upgrade to Dataflow Gen2, which supports service principal authentication for stable long-term refreshes.
Thank you.
Hey @v-venuppu,
Thank you for the kind recognition - always happy to contribute to our community's success!
Best Regards,
Jainesh Poojara | Power BI Developer
When using a dataflow from another tenant (Tenant B) in your report and semantic model hosted in Tenant A, the manual refresh and short-term scheduled refresh within 30 minutes work fine because the OAuth token remains valid during that period. However, after some time, the token expires, and the system is unable to reauthenticate across tenants automatically. This results in the scheduled refresh failing, often with errors indicating that it’s looking for the dataflow or workspace inside your native Tenant A instead of Tenant B.
This happens because OAuth credentials set via manual sign-in do not persist for long durations across tenants, and Power BI doesn’t handle token refresh properly in such cross-tenant scenarios.
To fix this, the best option is to use a service principal-based authentication. Create a service principal in Tenant B, assign the necessary permissions to access the dataflow, and then use it to configure the data source credentials in Tenant A. This method is more stable and suited for long-term, automated refreshes.
Alternatively, if a service principal is not feasible, consider replicating the required data from Tenant B to Tenant A using Fabric Pipelines or APIs, so the refresh happens entirely within one tenant, avoiding cross-tenant issues.
Thank you - that makes sense. When configuring the credentials for the dataflow connection in Tenant A, I only have the option for OAuth (no Service Principal option).. Possibly because I am using Dataflow Gen 1?
Hey @rack201,
Here's how I'd tackle this step by step:
Step 1: Re-authenticate the connection
Step 2: Check token expiration settings
Step 3: Set up service principal (recommended)
Step 4: Verify cross-tenant policies
Step 5: Alternative approach if above fails
The service principal route usually solves this permanently since it doesn't rely on user tokens that can expire.
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Best regards,
Jainesh Poojara / Power BI Developer