Skip to main content

How to Set the Start Screen in Power Apps with App.StartScreen

· 4 min read
Jagdish Kumawat
Founder @ Dewiride

By default, a canvas app opens on the first screen in the tree view. App.StartScreen lets you say which screen opens first, on purpose and in one place. It replaces putting Navigate in App.OnStart, which Microsoft has retired because it slows loading.

Why StartScreen Instead of Navigate in OnStart​

Microsoft's code optimization guidance explains the difference. If OnStart contains a Navigate, the app must finish all of OnStart before it shows any screen. StartScreen is declarative: Power Apps knows the first screen straight away and can show it before OnStart finishes.

Studio also has a setting, on by default in the example app, that builds on this. Under Settings → Updates → New, Enable defer loading unused screens with App.StartScreen says that only the start screen is loaded at launch.

Prerequisites​

Step 1: Set App.StartScreen​

Select App in the tree view, choose StartScreen in the property list, and enter the screen:

App → StartScreen
'Home Screen'

The screen name has a space, so it goes in single quotes. Studio outlines the screen you've referenced in green on the canvas:

The formula bar with the StartScreen property of App set to 'Home Screen', and the Home Screen outlined in green on the canvas

Step 2: Test It in Studio​

Hover App in the tree view, select …, and choose Navigate to StartScreen. Studio shows the start screen as if the app had just opened:

The App menu in the tree view listing Collapse all, Expand all, Navigate to StartScreen and New comment, with Navigate to StartScreen outlined in red

Choosing the Screen with a Condition​

StartScreen can be any formula that returns a screen, as long as it doesn't perform actions. Microsoft's examples include choosing by an app parameter:

App → StartScreen (example)
If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

Two rules from the App object reference matter here:

Common Mistakes​

MistakeWhat happensDo this instead
Home Screen without quotesA syntax error'Home Screen'
Navigate in App.OnStartSlower loading; the feature is retiredUse App.StartScreen
Using a variable from OnStart in StartScreenIt isn't available thereUse a named formula

Troubleshooting​

SymptomLikely causeFix
The app opens on the wrong screenStartScreen returned an errorCheck the formula; add IfError
Navigate to StartScreen is missingApp isn't the item you opened the menu onUse the … on App in the tree view
The screen name shows an errorThe screen was renamedUpdate the name in StartScreen

FAQ​

What if I leave StartScreen empty?​

The app opens on the first screen in the tree view. Setting it explicitly makes the choice obvious to anyone who edits the app later.

Can StartScreen call a connector?​

Yes. Microsoft lists API calls through a connector among the things StartScreen can use, with the advice to make sure the call returns quickly.

Is StartScreen evaluated again later?​

No. It's evaluated once, when the app loads.

Conclusion​

Set App.StartScreen to the screen that should open first, in single quotes if its name has spaces, and test it with Navigate to StartScreen. It's faster and clearer than Navigate in OnStart.

Additional Resources​

Stay Updated

Subscribe to our newsletter for the latest tutorials, tech insights, and developer news.

By subscribing, you agree to our privacy policy. Unsubscribe at any time.