Look Up Google Sheets Data and Reuse It in a Workflow

A lookup finds an existing row in your spreadsheet and hands its values to the rest of the workflow. This lets you update a record when it exists, create it when it doesn't, or personalize a message with data stored in the sheet.

Configure a lookup

  1. Add a Google Sheets action and choose Lookup Spreadsheet Row.
  2. Select the account, drive, spreadsheet, and worksheet.
  3. Choose a Search Order: From the top returns the first match, From the bottom returns the latest match.
  4. Pick a Column and enter the Lookup Value, such as a contact's email merge field.
  5. Optionally add a second column and value so both must match.
  6. Save the action.

To return several matching rows, choose Lookup Multiple Spreadsheet Row(s) and set a Row Count.

Create when nothing matches

Enable the option to create a row if the lookup finds nothing. The new row is logged as its own premium execution.

Use the results

Each lookup receives an automatic index number that cannot be changed. Returned column values become merge values in later steps, and the row number is available as {{sheet.x.rowNumber}}, where x is the lookup's index. You can also build If/Else conditions on the result to branch between "found" and "not found" paths.

Chain with update or delete

Add Update Spreadsheet Row Using Lookup or Delete Spreadsheet Row Using Lookup after the lookup and choose which lookup to use. Only earlier lookups are listed. If the lookup finds no row, the dependent step is skipped and the workflow continues.

If a lookup returns nothing

  • Check the chosen column and the exact value stored in the sheet.
  • Verify the search order and any extra criteria.
  • Refresh headers if columns were changed.

Good to know: Single-row update and delete actions don't loop through every result of a multiple-row lookup.

Was this article helpful?