cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Phineas
Community Champion
Community Champion

How to Set and Pass Param in Power Apps

I am still trying to understand how to pass a Parameter between SharePoint and Power Apps.

I am practicing on a ChatGallery. I've got everything work except the Parameter referenced below.

I don't under the instruction, or where or how to implement the Param() recommendation. 


I do have the app link from Details, I just don't know what to do with it and how.

I have the referenced Set Param code in my OnStart.

 

Phineas_0-1659138007829.png

 

I've done the below and I can see the first item from the List in the Collection and it appears in my ChatGallery. I just don't know how and where to make the change so that ALL the entire ChatLog (List) comes through, or what should come through based on the Param "itemID" formula.

 

Phineas_1-1659138207939.png

 

6 REPLIES 6
RusselThomas
Community Champion
Community Champion

Hi @Phineas ,

Parameters are passed in the URL once, when the app launches.

The idea with parameters is that sometimes you want to add some context to an app launch, instead of just launching it to the standard landing page. 

 

For example let's say you have a landing page where the user is presented with a navigation menu.  They can go look at a few screens, one of which contains gallery of items and if they select an item it takes them to a page where they can view an item.

Now, let's say you have some automation that sends the user an email when an item changes, saying "something happened, click here to go see it" with a link to your app - except you want to take your user straight to the item view page, so they don't have to start at the home page and then click through everything and go find that item - because the 'context' of their email is that a specific item changed.

This is where query parameters become handy.  

 

If you control the email you send to them, you control the link for them to click which will launch the app, meaning you can pass information to the app inside the URL - a query parameter is a variable contained within the URL of the link - for example "name=Bob" or "myVar=something" or "itemID=23". 

Query parameters have been around long before PowerApps came along.  To understand a bit more, it helps to understand how they are constructed.

 

Query parameters can be added to a web address to pass information along to a resource listening at that address.

For example;

 

https://www.somwebsite.com

 

is a URL.  If there was a web service or something at that URL that understood some parameters, you might see an address like;

 

https://www.somwebsite.com?name=Bob

 

Query parameters in URL's are universally recognised as starting with ?

Additional parameters are added using &

 

https://www.somwebsite.com?name=Bob&myVar=something&itemID=23

 

note the placement of the ? and the subsequent &'s

 

PowerApps are web apps, and so they can run in a browser - when you click on a power app to run it, you are activating a link.  This link you've already found in app details.

If you look closely, your PowerApp probably already has a parameter, like "tenandId" eg:

 

"https://apps.preview.powerapps.com/play/some-long-App-identifier?tenantId=some-long-tenant-identifier"  

 

This link will launch your app - so if you copy and paste that link into an email and send it to someone and they click the link or copy and paste it into their browser - and it will launch your app.

Using this capability you can add parameters to that link by editing it in the email before you send it - just keep the original address as is, and (because "tenantId" has already started the query with ?), append your parameters to the address using & - like so;

https://apps.preview.powerapps.com/play/some-long-App-identifier?tenantId=some-long-tenant-identifie...&name=Bob&myVar=something&itemID=23

Now that you have an app URL that is loaded with parameters, you have to tell your app what to do with them.

On the app side, you use the Param() function to pick up those parameters and use them in your app - typically by referencing them directly, or assigning them to variables - for example in your app OnStart: property;

 

Set(varName = Param("name"))
//or
Set(varMyVar = Param("myVar"))
//or
Set(varItemId = Value(Param("itemID")))

 

note that parameters always come through as text, because they are part of a text string which is the URL.  If itemID needs to be a number in your app, you have to convert it with something like the Value() function.  

You can then use this information in your App - for example in OnStart: or StartScreen: properties, let's say we want to send the user straight to the form view page to view that specific itemID when they click our custom URL;

Assuming the above already exists in your app OnStart: property, then this could go into your StartScreen: property;

 

If(!IsBlank(varItemId), 
//there is a value for itemid in the url so navigate directly to the form page on start
  formViewScreen,
//otherwise if there is no parameter specified, just load the normal start screen
 HomeScreen
)

 

Then your Form Item: property can be set to reflect the specific record specified

 

LookUp(mySource, ID=varItemId)

 

There are 100 different ways you can use this to affect the user experience depending on how they launch the app - the basic principle however is pretty simple;

This only works when launching an app from a custom link that you create.  The link can be activated from any mechanism that opens websites from a link (there are 100's of ways to do this - Email link, website, Launch() function in one PowerApp to open another PowerApp, Teams link, IM, SMS etc.) - as long as it's your custom link and not the native app launch from the library, because then it's using the default link which contains none of your parameters. 

Hope this helps,

RT

 

 

 

 

Mr. Thomas:

Thank you for your time and detail; Very useful.

If you can tell, how does the Param function impact the Chat log? When I put in a number I get that one item when the List 'ID' matches that number.

When I use the Set(itemID... with the List itemID determined as "1"), I get the item on the List associated with ID "1".

When I just use the Set (item...with out the "1") I don't get anything returned.

How does the Param() help me get back all the data. I don't want to control what screen opens, I just want to understand what the author was intending using the Param function in relations to the content of the Collection at App OnStart.

Or, if I even need the Param function; Can I just call all the data back and filter it however I choose?
Param("itemID")



RusselThomas
Community Champion
Community Champion

Hi @Phineas ,

Sorry, I've never used the chat log, perhaps someone else who has might be able to shed some light on it?

Kind regards,

RT

Hi RusselThomas,

 

I'm getting "Global variables are not allowed in StartScreen" error when trying to use your method. Usually my StartScreen would be:

If(!IsBlank(Value(Param("itemID"))), 
//there is a value for itemid in the url so navigate directly to the form page on start
  formViewScreen,
//otherwise if there is no parameter specified, just load the normal start screen
 HomeScreen
)

Any tips on how to get Global variables working with StartScreen?

RusselThomas
Community Champion
Community Champion

Hi @nnikyta ,

Pretty odd as I don't see a global variable there....  The short answer is that you can't use global variables in the StartScreen property, but you could possibly work around it with an expression variable using the With() function.

 

But, like I said, there's no global variables in that expression, so I'm not sure why it's popping that up....

Is that all the code you're running in the StartScreen property?

 

Kind regards,

RT

Anonymous
Not applicable

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,713)