Google Sheets · Arazzo Workflow

Google Sheets Create and Seed a Spreadsheet

Version 1.0.0

Create a new spreadsheet, append seed rows to it, then read them back.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Google WorkspaceProductivitySpreadsheetsArazzoWorkflows

Provider

google-sheets

Workflows

create-and-seed-spreadsheet
Create a spreadsheet, append seed rows, and read them back.
Creates a spreadsheet titled by the caller, appends a block of seed rows to the supplied range, and reads the appended range back so the caller can verify the write.
3 steps inputs: accessToken, range, title, values outputs: readBackValues, seededRange, spreadsheetId, spreadsheetUrl
1
createSpreadsheet
Create a new spreadsheet with the supplied title and capture its generated spreadsheet ID and URL.
2
appendSeedRows
Append the supplied two-dimensional value block to the target range, letting the API find the table and write to the next available rows.
3
readBack
Read the appended range back from the spreadsheet to confirm the seed rows were written.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Sheets Create and Seed a Spreadsheet
  summary: Create a new spreadsheet, append seed rows to it, then read them back.
  description: >-
    A foundational Google Sheets bootstrap flow. The workflow creates a brand
    new spreadsheet with a titled grid, appends an initial block of rows to the
    first tab using append semantics so existing data is never overwritten, and
    then reads the same range back to confirm the values landed. Every step
    spells out its request inline so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: spreadsheetsApi
  url: ../openapi/google-sheets-spreadsheets-api-openapi.yml
  type: openapi
- name: valuesApi
  url: ../openapi/google-sheets-values-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-and-seed-spreadsheet
  summary: Create a spreadsheet, append seed rows, and read them back.
  description: >-
    Creates a spreadsheet titled by the caller, appends a block of seed rows to
    the supplied range, and reads the appended range back so the caller can
    verify the write.
  inputs:
    type: object
    required:
    - accessToken
    - title
    - range
    - values
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token with the spreadsheets scope.
      title:
        type: string
        description: The title to give the newly created spreadsheet.
      range:
        type: string
        description: The A1 notation range to append the seed rows to (e.g. Sheet1!A1).
      values:
        type: array
        description: A two-dimensional array of cell values to seed the spreadsheet with.
        items:
          type: array
          items: {}
  steps:
  - stepId: createSpreadsheet
    description: >-
      Create a new spreadsheet with the supplied title and capture its
      generated spreadsheet ID and URL.
    operationId: createSpreadsheet
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        properties:
          title: $inputs.title
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      spreadsheetId: $response.body#/spreadsheetId
      spreadsheetUrl: $response.body#/spreadsheetUrl
  - stepId: appendSeedRows
    description: >-
      Append the supplied two-dimensional value block to the target range,
      letting the API find the table and write to the next available rows.
    operationId: appendValues
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: spreadsheetId
      in: path
      value: $steps.createSpreadsheet.outputs.spreadsheetId
    - name: range
      in: path
      value: $inputs.range
    - name: valueInputOption
      in: query
      value: USER_ENTERED
    - name: insertDataOption
      in: query
      value: INSERT_ROWS
    requestBody:
      contentType: application/json
      payload:
        range: $inputs.range
        majorDimension: ROWS
        values: $inputs.values
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tableRange: $response.body#/tableRange
      updatedRange: $response.body#/updates/updatedRange
      updatedCells: $response.body#/updates/updatedCells
  - stepId: readBack
    description: >-
      Read the appended range back from the spreadsheet to confirm the seed
      rows were written.
    operationId: getValues
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: spreadsheetId
      in: path
      value: $steps.createSpreadsheet.outputs.spreadsheetId
    - name: range
      in: path
      value: $steps.appendSeedRows.outputs.updatedRange
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      values: $response.body#/values
  outputs:
    spreadsheetId: $steps.createSpreadsheet.outputs.spreadsheetId
    spreadsheetUrl: $steps.createSpreadsheet.outputs.spreadsheetUrl
    seededRange: $steps.appendSeedRows.outputs.updatedRange
    readBackValues: $steps.readBack.outputs.values

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/google-sheets-create-and-seed-spreadsheet-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.