Small BusinessIndependent InvestorTrade BusinessAccountingFinanceLegalMarketingOperationsSalesReal EstateTemplatesPricingDocs
Get started

Step Guide: Google Sheets

Data & Files

Read, write, and update Google Sheets automatically

Overview

The Google Sheets step connects your workflow to Google Spreadsheets. It supports five actions for reading, writing, and updating data. Requires a connected Google integration.

Read All Rows

Read all rows from a Google Spreadsheet into a list. The output fields are auto-generated from the sheet's column headers, so you don't need to define fields manually.

  • Import contact lists or data tables for row-by-row processing
  • Pull data from a Google Sheet to feed into AI analysis or email workflows

Reads from the selected spreadsheet. Returns a list of rows along with an item count. Maximum 5,000 rows. Connect to a For Each step to iterate.

Tips
  • Maximum list size is 5,000 rows

Read Matching Row

Look up a single row by matching a column value. Useful for enriching a workflow with data from a specific record in a spreadsheet.

  • Look up a contact by email to enrich downstream steps with their data
  • Find a product record by ID for order processing
  • Check if a record exists before deciding to create or update

Scans the sheet for the first row whose match column matches the configured value (equals, contains, or not equals, case-insensitive). Returns the matched row's data along with whether it was found. No match is not an error -- the result simply indicates the row was not found.

Tips
  • Use references to data from previous steps in the match value to look up rows dynamically
  • Branch on the found field to handle missing rows downstream

Write List

Write a list of rows to a Google Spreadsheet. Place after a Collect step to export aggregated loop results, or after any step that produces a list.

  • Export processed workflow results to a shared Google Sheet
  • Build automated reporting pipelines that output to Google Sheets

Reads a list from the input and writes to a spreadsheet. Configure overwrite to either replace existing data or append new rows. Returns a link to the spreadsheet along with the row count and status.

Tips
  • Use overwrite: true to replace existing data, false to append to the sheet

Write Row

Append a single row to a Google Spreadsheet by mapping column values from upstream fields.

  • Log form submissions or workflow events to a spreadsheet
  • Record individual results as they process through a loop

Appends a single row. Select the spreadsheet and sheet, then provide values for each column, which can be static text or references to data from previous steps. Returns a link to the spreadsheet along with the row count and status.

Tips
  • Column values can be static text, upstream field references, or a mix of both

Update Row

Find a row by matching a column value and update specific cells. Other columns in the row stay untouched. With "Insert if missing" enabled, missing rows are appended instead of returning not found.

  • Update a contact's status in a spreadsheet after processing
  • Write enrichment data back to the original row
  • Upsert records: update if found, insert if missing

Same row lookup as Read Matching Row, then overwrites only the cells you specify. Other columns stay untouched. With "Insert if missing" enabled, missing rows are appended instead. Returns whether the row was found, updated, or inserted.

Tips
  • Field updates are sparse. Only the columns you list get written.
  • Toggle "Insert if missing" to automatically add a new row when no match is found

Frequently Asked Questions

Can I read and write to the same spreadsheet?
Yes. Use Read All Rows or Read Matching Row to pull data, process it, then use Write Row or Update Row to write results back.
Do I need to define output fields manually?
No. When you select a spreadsheet, the output fields are auto-generated from the column headers.