Google Sheets Trigger
Trigger a workflow when rows are appended to a Google Sheet or the spreadsheet is updated. Uses a Drive files.watch notification on the spreadsheet, then enriches the event by reading the sheet's current rows.
The trigger authenticates through a Google connection. Connect a Google account once and pick it in the node's settings.
Use Google Sheets Trigger when:
- New form rows should kick off a workflow (lead follow-up, order processing)
- You want an event-driven alternative to polling a sheet
Google Account — required. Pick a Google connection from the Connections page.
| Handle | Type | Description |
|---|---|---|
payload | object | Enriched Google Sheets change event |
The payload (accessed as {{ google_sheets.* }}) shape:
| Field | Type | Description |
|---|---|---|
type | string | Event type (e.g. rows_appended) |
new_rows | array | Rows appended since the previous event — objects keyed by column header when header_row is on, arrays otherwise |
headers | array | Column headers (when header_row is on) |
rowCount | number | Total rows after the change |
previousRowCount | number | Total rows before the change |
| Setting | Type | Default | Description |
|---|---|---|---|
spreadsheet_id | string | — | Required. Spreadsheet ID to watch (the long value in the sheet URL). Supports {{ }} bindings. |
sheet_name | string | Sheet1 | Worksheet tab name to monitor. Supports {{ }} bindings. |
range | string | A1:Z1000 | A1 range used for enrichment reads. Supports {{ }} bindings. |
| Setting | Type | Default | Description |
|---|---|---|---|
event_types | multi-select | rows_appended | Which enriched events should start a run. |
header_row | boolean | true | Treat the first row as column headers, so new_rows entries are objects keyed by header name. |
| Setting | Type | Default | Description |
|---|---|---|---|
mockPayload | code editor (JSON) | sample rows_appended event | JSON payload injected for local test runs instead of a real Drive notification. |
Send a welcome email for each new signup row:
Google Sheets Trigger → Resend Email
Google Sheets Trigger settings:
- Spreadsheet ID:
1Bxi... - Sheet Name:
Signups - Header Row: on
Resend Email settings:
- To:
{{ google_sheets.new_rows[0].Email }} - Subject:
Welcome, {{ google_sheets.new_rows[0].Name }}!
- Header names, not column letters: with
header_rowon, reference{{ google_sheets.new_rows[0].Email }}— the header text, exactly as spelled in row 1. - Multiple rows per event: if several rows land between notifications,
new_rowscontains all of them — loop with a Subworkflow or processnew_rows[0]only for single-row appends.
- Connections — connect the Google account the trigger watches
- Google Sheets — read, append, and update rows
- Resend Email — the natural pair for signup sheets