(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon

How to create an autocomplete assistant in Power Apps / Power Platform

João Barros 24 de September de 2026 4 min read

This tutorial teaches how to create an autocomplete assistant in Power Apps / Power Platform that suggests values while the user types. It is useful to speed up data entry, reduce typos and improve the user experience in forms or searches.

Prerequisites

  • Account with access to Power Apps.
  • A simple data source: SharePoint list, Excel in OneDrive or Dataverse with the column to suggest.
  • Basic knowledge of Canvas Apps: galleries, Text Input and Filter/StartsWith functions.

Step 1: Prepare the data source

Choose or create a data source with the values to suggest. For example, a SharePoint list called "Produtos" with the "Title" column containing product names. Having clean data makes suggestions easier.

// Exemplo de itens (na prática estão na lista do SharePoint ou Excel)  // Title
// Monitor 24"
// Teclado Mecânico
// Rato Óptico
// Monitor 27"

Step 2: Create a Canvas App and connect the data source

Open Power Apps Studio, create a Canvas App (Tablet or Phone) and add the chosen data source from the Data pane.

Data sources -> Add data -> SharePoint -> selecionar site -> Produtos

Step 3: Add a Text Input control for typing

Insert a Text input control and set its Name to txtSearch. This will be the field where the user types and that triggers suggestions.

// Propriedades principais
Name: txtSearch
HintText: "Pesquisar produto..."

Step 4: Add a gallery to display suggestions

Insert a Gallery (vertical, no header) below txtSearch. Configure it to show only the filtered suggestions from the data source, using StartsWith or Filter for matching.

// Propriedade Items da Gallery (chamada galSuggestions)
Items:
If(
  IsBlank(txtSearch.Text),
  [],
  FirstN(
    Filter(Produtos, StartsWith(Title, txtSearch.Text)),
    10
  )
)

// TemplateLabel.Text: ThisItem.Title

Step 5: Allow selection and populate the field

In the gallery template, add a button or make the template itself clickable. When selecting an item, update txtSearch.Text with the chosen value and hide the suggestions (for example, clear the gallery).

// OnSelect do template (ou botão dentro do template)
Set(varSelected, ThisItem.Title);
UpdateContext({showSuggestions: false});
Reset(txtSearch);
// Preencher o campo de destino se existir outro campo, por exemplo txtChosen
txtSearch.Text := varSelected
// Em Canvas Apps, para forçar atribuição use: 
// Set(varChosen, ThisItem.Title)

Note: Text input Text is a read-only property at runtime — instead of assigning Text directly, use a variable to bind the displayed value. For example set Default of txtSearch to varChosen.

// Default do txtSearch
Default: If(IsBlank(varChosen), "", varChosen)

Step 6: Improve the experience (debounce and show/hide)

To avoid many filters while the user types, use a Timer to apply a small delay (debounce). Showing/hiding the gallery with a variable makes the interaction cleaner.

// Adicionar um Timer (Name: tmrDebounce)
Duration: 400          // 400 ms
AutoStart: false
Repeat: false

// OnChange do txtSearch
UpdateContext({showSuggestions: true});
Reset(tmrDebounce); Start(tmrDebounce);

// OnTimerEnd do tmrDebounce (faz o filtro ao terminar)
// Forçar refresh da Galeria ao terminar (a Items já usa txtSearch.Text)
UpdateContext({doFilterToggle: !doFilterToggle});

Step 7: Handle errors and optimize

Common errors: using Filter on large data sources without delegation. For large lists, prefer delegable functions (StartsWith is delegable on SharePoint for text). If the source exceeds delegation limits, consider indexes, server filtered views or using Azure Functions/Custom Connector.

// Exemplo de fallback para grandes volumes
Items:
If(CountRows(Produtos) < 2000,
  Filter(Produtos, StartsWith(Title, txtSearch.Text)),
  FirstN( Filter(Produtos, StartsWith(Title, txtSearch.Text)), 100 )
)

Verify the result

Test the app: type in txtSearch and check that the gallery shows relevant suggestions in real time. Select a suggestion and confirm the main field receives the value. Also check behaviors for non-existing terms and for empty inputs.

Conclusion

You now have a functional autocomplete assistant in Power Apps / Power Platform that improves speed and data quality. Next steps: add sorting by relevance, highlight the matching text in suggestions or integrate with Dataverse for more advanced logic. Tip: try adjusting the Timer Duration to balance responsiveness and the number of delegated calls.