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

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / PowerApps DeepLink to ...
Power Apps
Unanswered

PowerApps DeepLink to specific screen from Flow based on another SP List user category

(0) ShareShare
ReportReport
Posted on by 118

Hi Everyone,

I'm having difficulty to redirecting user's in to their specific screen based on another SP List user category followed by Deep Link from Flow. Such as 

Flow: Sending email to users with Deep Link to the specific screen to approve their specific request

My FlowMy FlowMy apps start Start Screen Event: 

If(
 !IsBlank(
 LookUp(
 'ExitCL02-Approvers',
 User().Email = Name.Email
 )
 ),
 ApproversLanding,
 !IsBlank(Param("ItemID")) && LookUp(
 'Exit Clearance V02',
 ID = Value(Param("ItemID"))
 ).Supervisor.Email = User().Email,
 SupervisorApprove,
 !IsBlank(Param("ItemID")) && LookUp(
 'Exit Clearance V02',
 ID = Value(Param("ItemID"))
 ).Adm2ApproverEmail = User().Email,
 AdminApprove,
 !IsBlank(Param("ItemID")) && LookUp(
 'Exit Clearance V02',
 ID = Value(Param("ItemID"))
 ).Fin2ApproverEmail = User().Email,
 FinanceApprove,
RequestorLanding
)

My App On Start Event:

If(
 !IsBlank(Param("ItemID")),
 Set(
 VarItemX,
 LookUp(
 'Exit Clearance V02',
 ID = Value(Param("ItemID"))
 )
 )

Now I would like to

1. redirect the users to "ApproversLanding" who are in the ApproverList 
2. redirect the users to "their specific screen" who's lookup ID user email matched with logged-in user email

3. Otherwise redirect rest to RequestorLanding

 

My formula on Start Screen event ins conflicting the If condition. Looking for your expert advice and support to accomplish this.

Regards

Leo

Categories:
I have the same question (0)
  • WarrenBelz Profile Picture
    156,440 Most Valuable Professional on at

    Hi @leonardbd ,

    Your issue (and why I do not use the StartScreen much) is that it runs before or concurrently with App OnStart and does not take any parameters from it. If I have to conditionally navigate with a deep link, I have a "splash screen" with the company logo and a timer set at screen opening, then run all the code OnTimerEnd, however try this on your StartScreen

    With(
     {
     wItem:
     If(
     !IsBlank(Param("ItemID")),
     LookUp(
     'Exit Clearance V02',
     ID = Value(Param("ItemID"))
     ),
     Defaults('Exit Clearance V02')
     ),
     wApprover:
     !IsBlank(
     LookUp(
     'ExitCL02-Approvers',
     User().Email = Name.Email
     )
     )
     },
     If(
     wApprover,
     ApproversLanding,
     wItem.Supervisor.Email = User().Email,
     SupervisorApprove,
     wItem.Adm2ApproverEmail = User().Email,
     AdminApprove,
     wItem.Fin2ApproverEmail = User().Email,
     FinanceApprove,
     RequestorLanding
     )
    )

     

    Please click Accept as solution 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 giving it Thumbs Up.

    Visit my blog Practical Power Apps

  • WarrenBelz Profile Picture
    156,440 Most Valuable Professional on at

    Hi @leonardbd ,

    Just checking if you got the result you were looking for on this thread. Happy to help further if not.

    Please click Accept as solution 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 giving it Thumbs Up.

    Visit my blog Practical Power Apps

     

  • leonardbd Profile Picture
    118 on at

    Hi Warren,

     

    I was busy with other structure of my app. Haven't got the chance to test it. I will give u feedback tonight.

    Thanks for checking.

  • leonardbd Profile Picture
    118 on at

    Hi Warren,

    I am trying to apply your formula but its showing an error under the last curly bracket. Fixed it as following..

     

    With(
     {
     wItem:
     If(
     !IsBlank(Param("ItemID")),
     LookUp(
     'Exit Clearance V02',
     ID = Value(Param("ItemID"))
     ),
     Defaults('Exit Clearance V02')
     ),
     wApprover:
     !IsBlank(
     LookUp(
     'ExitCL02-Approvers',
     User().Email = Name.Email
     ))
     },
    ......

     

    Trying to understand the formula... But what 'Defaults' is doing to my data source?

  • WarrenBelz Profile Picture
    156,440 Most Valuable Professional on at

    Hi @leonardbd ,

    Missing a bracket (now fixed - dangers of free-typing code). Defaults() produces a blank record based on the list structure.

     

    Please click Accept as solution 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 giving it Thumbs Up.

    Visit my blog Practical Power Apps

  • leonardbd Profile Picture
    118 on at

    Hi Warren,

    Understood 🙂

    I have tested the code and found issue. If the user listed in Approver List and he is redirecting to the deep link from Flow email, it still landing in to the "ApproverLanding" screen. Not in the specific screen. I just changed the order of IF condition as it follows the order from top to bottom and issue has resolved :). Thanks

    .....
    If(
     wItem.Supervisor.Email = User().Email,
     SupervisorApprove,
     wItem.Adm2ApproverEmail = User().Email,
     AdminApprove,
     wItem.Fin2ApproverEmail = User().Email,
     FinanceApprove,
     wApprover,
     ApproversLanding,
     RequestorLanding
     )
    )

     

     

  • WarrenBelz Profile Picture
    156,440 Most Valuable Professional on at

    Hi @leonardbd ,

     I cannot see your model or data, nor fully understand your logic, but the code does the following (in order): -

    1. Looks up the Exit Clearance V02 list for the record where the ID equals that of the opening Parameter ItemID and stores the Record in a temporary Variable wItem
    2. Looks for the User's email in the ExitCL02-Approvers list and sets the Boolean (true/false) temporary variable wApprover indicating if it is present (or not)  - then
    3. If the Supervisor.Email in wItem equals the User's email, go to SupervisorApprove screen
    4. If not then - if the Adm2Approver.Email in wItem equals the User's email, go to AdminApprove screen
    5. If not then - if the Fin2Approver.Email in wItem equals the User's email, go to FinanceApprove screen
    6. If not then - if wApprover is true go to ApproversLanding screen
    7. If not (none of these are true) go to the RequestorLanding screen

    You might have a look at this logic to see what is incorrect.

     

    Please click Accept as solution 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 giving it Thumbs Up.

    Visit my blog Practical Power Apps

     

     

     

     

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

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 329 Most Valuable Professional

#2
11manish Profile Picture

11manish 209 Super User 2026 Season 2

#3
Mohsin Ali Profile Picture

Mohsin Ali 179

Last 30 days Overall leaderboard