
Announcements
Hello,
I'm developing a Canvas app, allowing the user to fill in a form. Upon submission, the data generates a new item in a Sharepoint list.
One of the form's fields should allow the user to enter multiple keywords. E.g. names of towns. The user should be able to see existing keywords from a dropdown, with the option to add their own, new keyword. It's important that any new keyword(s) the user creates show up in the dropdown for the next user to see.
I.e. there are two main issues I haven't been able to solve:
1. Allowing multiple, new user inputs
2. Displaying all distinct keywords any other user has submitted
The first could in principle be solved less elegantly by adding more keyword boxes to the form, as so far I was only able to allow 1x custom user input to a dropdown.
The latter seems more tricky, and I haven't yet been able to find any working solution. I'm also wondering if the keywords should be 'choices' or 'single line of text'
I've been stuck on this problem for a few days, and am looking forward to hearing your suggestions 🙂
Let's compare the options. To add to the complexity, I'll add in two more options, LookUp column and managed metadata. Since it sounds like you want a degree of robustness, I would recommend the LookUp option where you contain the keywords in a separate list.
| Strengths | Weaknesses | |
| Single line of text | Works with native Choices() function to get the table of options. | Delegation issues when trying to get complete list of choices. Only values that are actually present in the first rows of the list will be returned. Also not reusable in another lists. |
| Choices | Works with native Choices() function to get the table of options. The table is complete (until you literally have more choices than the delegation limit (2000 max)). | Have to make a SharePoint API call to _api/web/lists/GetByTitle('SharePointList')/Fields/getbytitle('FieldName') to add in a choice so that is actually reusable. This can be done with the Power Automate SharePoint HTTP Request action. If you don't do this, then Choices will ultimately be limited by the values in the visible rows for keywords that users add. Also, list of choices can't be easily reused in another list because it is specific to a column. |
| LookUp | The list of keywords can be reused anywhere you want. Only need to use native Power App functions, no API calls. | Need to send a separate Patch() to update the keyword list to include the new keyword before you can update your main list. |
| Managed Metadata | The list of keywords can be reused anywhere you want. You can even share managed metadata term sets across site collections (sites) if you have the owner role. | The most complex option. Have to use SharePoint API calls to update it and need to have permissions to the term store for the site. I'm not going into the details, haha. |
I have used choices, lookups, and managed metadata in Power Apps, depending on the need.