Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Show a Different Home Screen Per User in Power Apps

In Power Apps, you can show a completely different home screen to each user based on their department, role, or email — no premium license needed, no code outside the formula bar. This tutorial walks you through the modern, Microsoft-recommended way to do it using App.StartScreen, plus I’ll cover what’s changed since the old App.OnStart approach and why you should stop using it.

I’ve implemented this pattern across dozens of client Power Apps applications, and it’s one of those things that looks complicated but is actually pretty straightforward once you understand the right property to use.

What We’re Building

Let’s say you have three user types in your organization: Sales, IT, and Finance. You want each group to land on a screen tailored for them the moment they open the app. We’ll build exactly that.

By the end of this tutorial, you’ll have:

  • A canvas app with three separate home screens
  • Role-based navigation using App.StartScreen
  • A clean formula that reads the user’s department from their Microsoft 365 profile
  • A fallback screen for users whose department doesn’t match

Important: The Old Power Apps Method No Longer Works (Read This First)

If you’ve seen older tutorials — including an earlier version of this one — that use Navigate() inside App.OnStart, please stop. Microsoft has officially retired that approach.

Here’s what used to happen: developers would write something like this in App.OnStart:

Set(vName, Office365Users.MyProfile().Department);
If(vName = "SALES", Navigate(SalesScreen), ...)

Power Apps now throws this error:

“Navigate is not permitted in OnStart. Use the StartScreen property instead.”