Tutorials/Power Apps/Adding a Free-Form Option to Dropdowns in Power Apps
Power Appsintermediate

Adding a Free-Form Option to Dropdowns in Power Apps

Extend a combo box with an 'Other' choice that reveals a text input for custom entries, and save the data correctly to your data source.

NA
Narmer Abader
@narmer · Published June 3, 2026

Dropdown menus are perfect when you want users to pick from a fixed set of values, but sometimes the set doesn’t cover every scenario. A user may need to enter a value that isn’t in the list, such as a custom category, a new location, or a unique identifier. This article walks through a pattern that adds an “Other” option to a dropdown and shows a text input only when that option is selected, then saves the custom value back to your data source.

The technique works with any data source that supports choice columns – SharePoint, Dataverse, or a local collection – and uses the Ungroup function to merge your existing choices with a single “Other” item.

Example Scenario

Imagine a support request form where team members pick a category from a SharePoint choice column:

  • Login Problem
  • Billing Inquiry
  • Technical Glitch
  • Feature Request

When none of these fit, users need to type their own category. The form should let them select “Other” from the dropdown, then enter a custom value in a text input. The collected data must be saved to the SharePoint list with that custom value.

We’ll use the following control names in this article (you can adapt them to your form):

  • ddlCategory – the combo box (dropdown) bound to the SharePoint choice column.
  • txtCustomCategory – the text input that appears when “Other” is selected.
  • icoResetCategory – an icon to reset both controls if the user changes their mind.
  • frmSupportRequest – the Edit form connected to the SharePoint list.

Step 1: Add the “Other” Option to the Dropdown

By default, a combo box bound to a choice column only shows the defined choices. To add “Other”, override the Items property of the combo box with this formula:

powerfxItems property of ddlCategory
Ungroup(
  Table(
      {Options: Choices('SupportRequests'.Category)},
      {Options: ["Other"]}
  ),
  "Options"
)
How it works

The Table function creates a two‑row table. The first row contains all existing choices (nested as a table inside the Options column). The second row contains the string "Other". Ungroup expands the Options column, producing a flat list of individual items that the combo box renders.

Step 2: Show a Text Input When “Other” Is Selected

Place a Text input control directly over the combo box (or beside it) and set its Visible property to:

powerfxVisible property of txtCustomCategory
!ddlCategory.Visible

Now set the combo box’s Visible property so it hides when “Other” is the current selection:

powerfxVisible property of ddlCategory
ddlCategory.Selected.Value <> "Other"

When a user selects a standard choice like “Billing Inquiry”, the dropdown remains fully visible. The moment they pick “Other”, the dropdown disappears and the text input becomes visible, ready for a custom entry.

Step 3: Provide a Way to Go Back

If a user selects “Other” accidentally or changes their mind, they need a way to return to the dropdown. Add an icon (for example, a Cancel or Undo icon) and set its Visible property to the same condition as the text input:

powerfxVisible property of icoResetCategory
!ddlCategory.Visible

In the icon’s OnSelect property, reset both controls:

powerfxOnSelect property of icoResetCategory
Reset(ddlCategory);
Reset(txtCustomCategory);

Now the user can click the icon, the dropdown reappears (showing no selection), and the text input is cleared.

Step 4: Save the Custom Value to the Data Source

When the form is submitted, the card that contains the dropdown must decide which value to send. Highlight the Category card inside the Edit form, and set its Update property to:

powerfxUpdate property of the Category card
If(
  ddlCategory.Selected.Value = "Other",
  {Value: txtCustomCategory.Text},
  ddlCategory.Selected
)

If the dropdown’s selected value equals “Other”, the card sends a record with the text input’s content. Otherwise, it sends the standard selected choice.

Finally, make sure your Submit button calls SubmitForm:

powerfxOnSelect property of the Submit button
SubmitForm(frmSupportRequest)
Result

After submission, a record with a custom category like “On‑site Training” will appear in the SharePoint list just like any pre‑defined choice.

Performance and Delegation Notes

  • Choices, Table, and Ungroup all run on the client, so this pattern does not involve delegation. It works efficiently even with large choice lists because the entire list of values is already local once the form loads.
  • If your choice list contains hundreds of items, the combination of Table and Ungroup still performs well because the data set is small.
  • The text input’s visibility toggle (!ddlCategory.Visible) is a simple boolean expression that does not cause additional data calls.

Common Mistakes and Troubleshooting

MistakeSymptomFix
Spelling “Other” with different case (“other”)The condition Selected.Value <> "Other" never matches, so the dropdown never hides.Use exactly "Other" (or whatever string you put in the Table).
Forgetting to reset the text inputAfter clicking the reset icon, the dropdown reappears but the text input still shows the old custom text.Include Reset(txtCustomCategory) in the icon’s OnSelect.
The Update property contains a direct reference to ddlCategory.SelectedSelection changes after “Other” is picked may cause an error because the dropdown is hidden.Use the If formula shown in Step 4 to explicitly handle the custom case.
The text input or icon is never visibleThe Visible property is set on the wrong control or the spelling of the control name is incorrect.Double‑check that the control names match exactly, and that you’re using !ddlCategory.Visible, not !Self.Visible.

Final Recommendation

This “Other” pattern is simple, relies only on built‑in functions, and does not require custom components or JavaScript. It works in SharePoint, Dataverse, or any data source that uses choice columns. Use it whenever the static list of options might not cover every possible answer, especially in surveys, request forms, or configuration interfaces.

References