Aident logoAident logo centerAident Loadout
Use CasesPricingDocs
ENStart Now
AppsGoogle Sheets ToolsGooglesheets Upsert Rows
Google Sheets Tools

Googlesheets Upsert Rows

Upsert rows - update existing rows by key, append new ones. Automatically handles column mapping and partial updates. Use for: CRM syncs (match Lead ID), transaction imports (match Transaction ID), inventory updates (match SKU), calendar syncs (match Event ID). Features: - Auto-…

Write actionRisk level 2 of 5OAuth connection
Use Googlesheets Upsert Rows

Pricing and limits

Aident logo

Product

Aident LoadoutAident Playbook EditorOpen-CUAK

About

AppsSkillsUse CasesDocsBlogPricingDownloadsPrivacy PolicyTerms of Service

Alternatives

vs Composiovs Zapier
llms.txtGet an AI summary of Aident LoadoutSummarize with ChatGPTSummarize with ClaudeSummarize with GeminiSummarize with Perplexity

© Aident Labs, 2024-2026

Pricing
Free
Unified payment
Not currently supported

Inputs

  • rowsarray
    Required
    2D array of data rows to upsert. IMPORTANT: If 'headers' is NOT provided, the FIRST row is treated as column headers and remaining rows as data - so you need at least 2 rows (1 header + 1 data). If 'headers' IS provided separately, then ALL rows in this array are treated as data…
  • headersarray
    List of column names for the data. These will be matched against sheet headers. If a column doesn't exist in the sheet, it will be added automatically. Order doesn't need to match sheet order. Can be auto-derived from the first row in 'rows' if not provided. Example inputs: ['Em…
  • keyColumnstring
    The column NAME (header text) to use as unique identifier for matching rows. Must be an actual header name from the sheet (e.g., 'Email', 'Lead ID', 'SKU'), NOT a column letter (e.g., 'A', 'B', 'C'). If you provide a column letter like 'A', it will be automatically converted to…
  • sheetNamestring
    Required
    The name of the sheet/tab within the spreadsheet. Note: Google Sheets creates default sheets with localized names based on account language (e.g., 'Sheet1' for English, '工作表1' for Chinese, 'Hoja1' for Spanish, 'Feuille1' for French, 'Planilha1' for Portuguese, 'Лист1' for Russia…
  • strictModeboolean
    Controls how rows with mismatched column counts are handled. When True (default), an error is returned if any row has more values than headers - the error message shows exactly which rows are affected and what values would need to be removed. When False, extra values are silentl…
  • tableStartstring
    Cell where the table starts (where headers are located). Defaults to 'A1'. Use this if your table is offset (e.g., 'C5', 'D10').
  • spreadsheetIdstring
    Required
    The ID of the spreadsheet. Must be a non-empty string, typically a 44-character alphanumeric string found in the spreadsheet URL.
  • key_column_index
    The 0-based column index to use as unique identifier for matching rows. Alternative to 'key_column' - will be converted to column name using headers. If neither 'key_column' nor 'key_column_index' is provided, defaults to 0 (first column). Example: 0 for first column, 1 for seco…
  • normalization_messagestring
    Internal field to track input normalization (e.g., row truncation). Not part of API.

Observable output

  • data
    Required
    Data from the action execution
  • errorstring
    Error if any occurred during the execution of the action
  • successfulboolean
    Required
    Whether or not the action execution was successful or not

Skills that use this Action

Related use cases

No verified related use cases are linked yet.

Official source

Provider source

Skills that use this Action

  • @Aident5,600114
    Directory Submission Planning and TrackerPrepare a directory submission plan and persist a keyed Google Sheets tracker with losslessly converted source rows and verified state.
    Oct 4, 2026
  • @Aident3,391188
    Manual Marketing Loop Review in Google SheetsRun a manual marketing review with durable Google Sheets cursors, dedupe keys, cooldowns, stop flags, and a verified run ledger.
    Oct 4, 2026