Forms, fields and formulas

Why does my lookup show "No matching results found" or load slowly?

Check the source data and the lookup filters, and grant lookup access to the flow when global lookup permissions are off.

Fix

Short answer: The lookup finds no record that matches, or the flow can't read its source. Check the source data, the lookup filters, and the source flow's security settings.

Why it happens

  • The source dataset or process doesn't contain the value.
  • No record matches the lookup's filters.
  • A hidden character in a source value, such as a line break, makes the filter fail.
  • Global lookup access is turned off for the source flow. Then no other flow can look it up, and a process can't look up itself.
  • The lookup fetches too many records, or the form has many lookup fields.

How to fix it

  1. Check that the source dataset or process has the value. If not, ask its admin to add it.
  2. Review the lookup's filters. If no record matches, the field shows no results.
  3. If a value looks right but still doesn't match, delete it in the dataset and type it again to remove hidden characters.
  4. If global lookup access is off, open the source flow, click Manage > Security, and under Customized permissions click Add flow and add the flow that needs the lookup. See security settings for flows.
  5. If a customized permission exists but the lookup still fails, check it names the right flow. Remove it, add it again, then create a new lookup field.
  6. Sign out and back in, or clear site cookies, after the fix.

To speed up a slow lookup:

  1. Add a filter so the lookup fetches fewer records, for example only items with status In progress.
  2. Reduce the number of lookup fields on one form. In some cases a table works better.

Important

An aggregation across all items of a process, or a process looking up itself to catch duplicates, needs global lookup access on that process.

Related answers