> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Append values

> Append a row- or column-major matrix after a detected Google Sheets table.

`appendValues` uses an A1 range to detect a logical table and appends after its
last data row or column.

## Example

```ts theme={null}
import { automation, onHttpRequest } from "automate.ax"
import { appendValues } from "automate.ax/google-sheets"

export default automation("Append an order", () => {
  onHttpRequest({ scope: "automation" })

  appendValues({
    spreadsheet: "spreadsheet-id",
    range: "Orders!A:D",
    values: [["A-1042", "Ada", 125, "Open"]],
  })
})
```

## Inputs

`spreadsheet`, detection `range`, and non-empty `values` matrix are required.
`majorDimension` defaults to `rows`; `inputMode` defaults to `userEntered`.
`insertMode` defaults to `insertRows`; `overwrite` can write over cells after
the detected table. `includeValues` defaults false; response render modes match
[Write values](/reference/integrations/google-sheets/actions/write-values#inputs).

`account` optionally selects the Google account binding.

## Output

Returns `spreadsheetId`, optional pre-append `tableRange`, `updatedRange`,
updated counts, and optional returned values. The detection range identifies a
logical table; it is not necessarily the exact appended range.
