top of page

How to Use Deep Linking in Power Apps Canvas Apps

Updated: Aug 20

If you’ve ever wanted to launch your app and take your users exactly where they need to go, then you need deep linking in Power Apps Canvas Apps. Deep linking allows you to pass data and navigate directly to specific items or screens in your app using URL parameters. Sounds hard but, it is not.

This post will walk you through:

  • What deep linking is and why it matters

  • How to use the Param function in Power FX

  • How to work with multiple parameters

  • Real-world examples of deep linking


By the end, you’ll understand how to implement deep linking in Power Apps. Next week, we’ll build on this with a fully functional vacation request app that puts these mechanics to work.


Note: While it isn't hard, there are a lot of moving parts. If you are struggling to implement, check out this video for a full walkthrough of Power Apps Deep Linking: Updated: Power Apps Deep Linking

Deep Linking Without OnStart

What is Deep Linking in Power Apps?

Deep linking in Power Apps is the ability to launch an app with URL parameters that can be read by the app to perform actions like navigating to a specific screen, displaying a custom message, or even opening the exact record the user needs to review. Typically, these records are created in your app and then sent to the user via Outlook emails or Teams messages.


Why it matters:

  • Better user experience – take users where they need to go immediately.

  • Simplified navigation – eliminate extra clicks.

  • Integration with Microsoft tools – use deep links in email, SharePoint, or Teams.

A screenshot of a Deep Link generating Power FX formula that is sent using Outlook.
The OnSelect property of a Power Apps button that dynamically generates a deep link for the selected Item in the Gallery. The link has 2 parameters. Cow is set to 1 and EID is set to the ID of the Item.

Step 1: Using Param in Power Apps with Power FX

The Param function is your starting point for deep linking. It’s a Power FX function that reads data from the URL. Here’s a basic example:

Label.Text = Param("Msg")

Now, if you open your app with this URL:

https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Msg=Hello%20World.

Your label will display “Hello World.”


Note: This is a URL of my app, it will not open for you. You would replace everything before &Msg with the URL of your app.


Step 2: Navigating with Param

You can also use Param to decide which screen a user should see first. You would place the following code in the App > StartScreen property:

If(Param("Screen") = "Approvals", 
    'Approval Screen',
    Welcome
)

With this setup, if you open your app using:

https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Screen=Approvals

The app will take the user directly to the Approvals screen.


Step 3: Using Multiple Params in Power Apps

Deep linking gets even better when you combine multiple parameters. So we could combine the two previous examples and have them both in the same URL.

https://apps.powerapps.com/play/e/default-9416a1d9-2b7f-4847-8223-18c2057145e3/a/a8faf8f2-96b7-45da-9c54-d17f877847f9?tenantId=9416a1d9-2b7f-4847-8223-18c2057145e3&hint=705bc13c-a6b0-438e-97ce-ee04e1d6c65f&sourcetime=1754079731074&Screen=Approvals&Msg=Hello%20World.

This deep link will:

  • Navigate the user directly to the Approvals screen

  • Display “Hello World.” in a label


Keep in mind, you can have as many Parameters in your URL as you need, though I have never needed more than two. Typically, one to control the screen and a second to control which record is displayed on that screen.


Pro Tips for Power Apps Deep Linking

  • Use clear parameter names – keep them short and descriptive (e.g., Screen, Msg, RecordID).

  • Combine deep linking with variables – use Power FX to store Param values and reuse them across screens. Store them in Formulas if they aren't going to change, Global Variables if you need to manipulate the variable throughout the app.

  • Test your links in multiple browsers to make sure URL encoding works correctly.

  • Include deep links in Power Automate notifications, Outlook emails, or Teams messages for a seamless experience.


Real-World Use Cases

  • Approvals: Send managers a link that opens directly to their pending approvals.

  • Data-driven navigation: Link to a specific record for quick access.

  • Notifications: Add deep links to email or Teams messages to reduce user clicks.


What’s Next

This post focused on the mechanics of deep linking in Power Apps Canvas Apps. Next week, we’ll take it a step further with a fully functional vacation request app that puts deep linking to work.

In the meantime, check out the full deep linking video here:https://www.youtube.com/watch?v=inHj96OGc5I


Need Help?

If you’re ready to add deep linking or any other Power Apps feature to your app but don’t have the time or want expert guidance, the team here at PowerApps911 is happy to help. Fill out the contact form, and we’ll get to work making your app awesome.

bottom of page