web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Power Apps - Building Power Apps
Answered

When app starts, it navigates to the different screens

(1) ShareShare
ReportReport
Posted on by 39
Hey, I have a problem. I can not think of a way to execute this idea.

I have a powerapps form with sharepoint integration. It is built from 3 seperate screens, in each screen are different form.
1 FormScreen1 with Form1
2. FormScreen2 with Form2_1
3. FormScreen3 with Form3_2

When a person is opens up new form it should be navigated instantly to FormScreen1. 
When he fills out the form, presses submit, it saves to sharepoint. When it is saved, another person gets an email with a link to edit that form. That person is written in person type column (DataCardValue9). So now, whoever is written in DataCardValue9, when they opens up that form, it should Navigate instantly to FormScreen2.
With the FormScreen3 it is easy because i know all the emails, so i just do Set(XXX, [""]) (I put this function on Loadingscreen -> timer -> ontimerend)
 
So this is the question. When the form is opened from url that is sent to him, how to navigate that person who is written in DataCardValue9 to FormScreen2? Is there any way?
I tried using this formula ontimerend. but it didnt work. Also DataCardValue14 and 15 are also person type column which need to be added to this mess. All of them needs to be navigated to FormScreen2.
If(
   (User().Email = DataCardValue9.Selected.Email ||
    User().Email = DataCardValue14.Selected.Email ||
    User().Email = DataCardValue15.Selected.Email),
    Navigate(FormScreen2, ScreenTransition.None),
    Navigate(FormScreen1, ScreenTransition.None)
   )
Categories:
I have the same question (0)
  • Suggested answer
    mmbr1606 Profile Picture
    14,554 Super User 2025 Season 2 on at
    When app starts, it navigates to the different screens
    hey
     
    maybe this video helps:
     
     
     
     

    If my answer was helpful and solved your issue, please mark it as the verified answer.

    If it helped but didn’t fully solve it, I’d appreciate a like. 😊

  • Suggested answer
    wolenberg_ Profile Picture
    993 Moderator on at
    When app starts, it navigates to the different screens
    Hi @AD-15090620-0 , you’re very close the main issue is that DataCardValue.Selected.Email only works while the form is actively loaded, but when you open an existing record from SharePoint the values are stored in the form’s ThisItem context, not in the DataCard controls themselves.
     
    How to fix it
    Instead of checking against DataCardValue9.Selected.Email, use the bound field from the record, for example:
     
    If(
       User().Email = ThisItem.Approver.Email ||
       User().Email = ThisItem.Approver2.Email ||
       User().Email = ThisItem.Approver3.Email,
       Navigate(FormScreen2, ScreenTransition.None),
       Navigate(FormScreen1, ScreenTransition.None)
    )
    • Replace Approver, Approver2, Approver3 with the actual SharePoint person‑type column names.
    • Put this logic on your OnStart or OnVisible property of the loading screen, rather than relying on the timer. That way navigation happens immediately when the form opens.
    • If you still want to use a timer, make sure the form has finished loading the record before the check runs — otherwise the DataCard values will be blank.
     
    In short: reference the SharePoint fields via ThisItem instead of the DataCard controls, and trigger the navigation on screen load. That will correctly send each person to the right form screen.
     

    If this helped or could help others in the community, feel free to give it a like or a kudo — it helps surface useful answers for everyone!
  • Verified answer
    WarrenBelz Profile Picture
    152,688 Most Valuable Professional on at
    When app starts, it navigates to the different screens
    There are a couple of fundamental issues with SharePoint Integrated forms - the first is that they will only run functions such as Screen OnVisible, App OnStart and App StartScreen the first time a user loads a record or refreshes their browser. When a form is closed and/or another record selected without doing this, the form is simply hidden and re-opens with the only variable changed being SharePointIntegration.Selected (the record chosen) - so no code is run.
    You also need to refer to the field name, not the control value.
     
    This is also not totally reliable, but if you put this in SharePointIntgration on both OnView and OnEdit
    If(
       User().Email = SharePointIntegration.Selected.FirstApprover.Email ||
       User().Email = SharePointIntegration.Selected.SecondApprover.Email ||
       User().Email = SharePointIntegration.Selected.ThirdApprover.Email,
       Navigate(FormScreen2),
       Navigate(FormScreen1)
    )
    it may work for you.
     
    Another idea would be to have the two forms on the one screen with the Visible of the second one
    User().Email = SharePointIntegration.Selected.FirstApprover.Email ||
    User().Email = SharePointIntegration.Selected.SecondApprover.Email ||
    User().Email = SharePointIntegration.Selected.hirdApprover.Email
    and the Visible of the first one
    !YourSecondFormName.Visible
    If you do this one however, you will need change your SharePointIntgration OnSave codeto submit the correct form - either
    If(
       YourFirstFormName.Visible,
       SubmitForm(YourFirstFormName),
       SubmitForm(YourSecondFormName
    )
    or this
    If(
       User().Email = SharePointIntegration.Selected.FirstApprover.Email ||
       User().Email = SharePointIntegration.Selected.SecondApprover.Email ||
       User().Email = SharePointIntegration.Selected.ThirdApprover.Email,
       SubmitForm(YourSecondFormName),
       SubmitForm(YourFirstFormName)
    )
    
     
    Please ✅ Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider answering Yes to Was this reply helpful? or give it a Like ♥
    Visit my blog
    Practical Power Apps    LinkedIn  
     
  • AD-15090620-0 Profile Picture
    39 on at
    When app starts, it navigates to the different screens
    Hi, @WarrenBelz,

    Thank you very much for information, but i have few more questions.

    I tried everything with different screens, and it didnt work at all. So right now I am doing like you suggested with Visible different containers, forms.
    But when i still try to do like you wrote before
    User().Email = SharePointIntegration.FirstApprover.Email ||
    User().Email = SharePointIntegration.SecondApprover.Email ||
    User().Email = SharePointIntegration.ThirdApprover.Email
    Powerapps wont let me use that command, instead it is offering 
    User().Email = SharePointIntegration.Selected.'XXX'.Email
    But with that this one still doesnt work. I can only see the first form, which is always visible. I dont understand what can i do to make it other form visible?
  • AD-15090620-0 Profile Picture
    39 on at
    When app starts, it navigates to the different screens
    @WarrenBelz

    Hello again, sorry for bothering, 
    Lower(User().Email) = Lower(SharePointIntegration.Selected.'XXX'.Email,
    Just added Lower and it works just fine right now.
    Thank you very much for information.
  • WarrenBelz Profile Picture
    152,688 Most Valuable Professional on at
    When app starts, it navigates to the different screens
    Yep - problem with free-typing code when brain not fully engaged . . . I have updated my post for future reference.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Coming soon: forum hierarchy changes

In our never-ending quest to improve we are simplifying the forum hierarchy…

Chiara Carbone – Community Spotlight

We are honored to recognize Chiara Carbone as our Community Spotlight for November…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 724 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 319 Super User 2025 Season 2

#3
SebS Profile Picture

SebS 239 Moderator

Last 30 days Overall leaderboard