ActionGoogle SheetsUpdated September 2026
How do I append a row to a Google Sheets spreadsheet?
Short answer: You can append row in Google Sheets by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Google Sheets Append Row action to a workflow, map its 5 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.
Inputs
The fields this action accepts.
Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.
| Field | Type | Required | Description |
|---|---|---|---|
Spreadsheet spreadsheet_id | dynamic-options | Required | Select a Google Sheets spreadsheet from your Drive |
Sheet sheet_name | dynamic-options | Required | Select a sheet tab within the spreadsheet |
Column Range range | string | Required | Column range in A1 notation (e.g. A:E). Sheet name is auto-prepended. |
Row Values (JSON array) values | string | Required | Array of values for each column in order |
Value Input Option valueInputOption | options | Optional | Value Input Option. Options: User Entered (auto-detect types), Raw (treat as strings) |
Sample request
{"spreadsheet_id": "{{trigger.spreadsheet_id}}","sheet_name": "{{trigger.sheet_name}}","range": "e.g. A:E","values": "[\"John Doe\", \"john@example.com\", \"2025-01-15\", \"Active\"]","valueInputOption": "{{trigger.valueInputOption}}"}
Returns
{"updates": {"updatedRows": 1,"updatedRange": "Sheet1!A10:D10","updatedColumns": 4},"spreadsheetId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms"}
Use these fields in downstream nodes for routing, logging, or error handling.
Triggered by
Apps that pair well as the trigger for Append Row.
Any of these apps can fire this action as part of a workflow.
FAQ
Questions about Append Row.
What does the Append Row action do in Google Sheets?
Appends a new row of data to a Google Sheets spreadsheet at the end of the data range. The simplest write action; pair with the sheet name in A1 notation.
What inputs does Append Row require?
Required: Spreadsheet, Sheet, Column Range, Row Values (JSON array). Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Google Sheets returns an error?
The run history shows the failed step with its input and the error message Google Sheets returned, so you can fix the input and run the workflow again. Automatic retries are built into HTTP steps only, where you can also set your own retry count and delay.
Does Append Row support batch operations?
Run Append Row inside a loop to process each item in an array. TinyCommand does not throttle calls for you, so for large arrays add a Delay step if you need to stay within Google Sheets's rate limits.
More actions
Other Google Sheets actions.
Action
Add Sheet Tab
Adds a new sheet tab to an existing Google Sheets spreadsheet with optional title and grid dimensions. Used for templated reporting (a tab per month/customer).
ActionClear Values
Clears all values from a range in a Google Sheets spreadsheet. Formatting and validation rules are preserved; only the cell values are removed.
ActionCreate Spreadsheet
Creates a new Google Sheets spreadsheet with title and initial sheet tabs. Used for templated reporting that auto-provisions a sheet per period or customer.
ActionGet Spreadsheet
Returns metadata about a Google Sheets spreadsheet including its sheets, properties, and named ranges. Used to validate a spreadsheet exists or to enumerate tabs.
ActionGet Values
Reads data from a range in a Google Sheets spreadsheet, with options for major-dimension (ROWS or COLUMNS) and value-render-option (formatted/unformatted/formula).
ActionList Sheet Tabs
Lists all sheet tabs in a Google Sheets spreadsheet with their IDs and titles. Used to populate a tab picker before reading or writing.