Google Sheets · Arazzo Workflow

Google Sheets Copy a Sheet Between Spreadsheets

Version 1.0.0

Read a source spreadsheet, copy one of its sheets into a destination spreadsheet, then confirm the destination.

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

Provider

google-sheets

Workflows

copy-sheet-between-spreadsheets
Copy a single sheet from one spreadsheet into another and confirm it.
Confirms the source spreadsheet, copies one of its sheets into the destination spreadsheet, and reads the destination back to confirm the copied tab.
3 steps inputs: accessToken, destinationSpreadsheetId, sheetId, sourceSpreadsheetId outputs: copiedSheetId, copiedSheetTitle, destinationSheets, sourceTitle
1
readSource
Read the source spreadsheet to confirm it exists before copying from it.
2
copySheet
Copy the named sheet from the source spreadsheet into the destination spreadsheet and capture the new sheet's properties.
3
confirmDestination
Read the destination spreadsheet back to confirm the copied tab is present.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Google Sheets Copy a Sheet Between Spreadsheets
  summary: Read a source spreadsheet, copy one of its sheets into a destination spreadsheet, then confirm the destination.
  description: >-
    A sheet-cloning flow across two spreadsheets. The workflow reads the source
    spreadsheet to confirm it exists, copies a single sheet from it into a
    destination spreadsheet, and then reads the destination spreadsheet back so
    the caller can confirm the new tab is present. 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: sheetsApi
  url: ../openapi/google-sheets-sheets-api-openapi.yml
  type: openapi
- name: spreadsheetsApi
  url: ../openapi/google-sheets-spreadsheets-api-openapi.yml
  type: openapi
workflows:
- workflowId: copy-sheet-between-spreadsheets
  summary: Copy a single sheet from one spreadsheet into another and confirm it.
  description: >-
    Confirms the source spreadsheet, copies one of its sheets into the
    destination spreadsheet, and reads the destination back to confirm the
    copied tab.
  inputs:
    type: object
    required:
    - accessToken
    - sourceSpreadsheetId
    - sheetId
    - destinationSpreadsheetId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token with the spreadsheets scope.
      sourceSpreadsheetId:
        type: string
        description: The ID of the spreadsheet to copy a sheet from.
      sheetId:
        type: integer
        description: The numeric ID of the sheet within the source spreadsheet to copy.
      destinationSpreadsheetId:
        type: string
        description: The ID of the spreadsheet to copy the sheet into.
  steps:
  - stepId: readSource
    description: Read the source spreadsheet to confirm it exists before copying from it.
    operationId: getSpreadsheet
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: spreadsheetId
      in: path
      value: $inputs.sourceSpreadsheetId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sourceTitle: $response.body#/properties/title
      sheets: $response.body#/sheets
  - stepId: copySheet
    description: >-
      Copy the named sheet from the source spreadsheet into the destination
      spreadsheet and capture the new sheet's properties.
    operationId: copySheet
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: spreadsheetId
      in: path
      value: $inputs.sourceSpreadsheetId
    - name: sheetId
      in: path
      value: $inputs.sheetId
    requestBody:
      contentType: application/json
      payload:
        destinationSpreadsheetId: $inputs.destinationSpreadsheetId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      copiedSheetId: $response.body#/sheetId
      copiedSheetTitle: $response.body#/title
  - stepId: confirmDestination
    description: Read the destination spreadsheet back to confirm the copied tab is present.
    operationId: getSpreadsheet
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: spreadsheetId
      in: path
      value: $inputs.destinationSpreadsheetId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      destinationSheets: $response.body#/sheets
  outputs:
    sourceTitle: $steps.readSource.outputs.sourceTitle
    copiedSheetId: $steps.copySheet.outputs.copiedSheetId
    copiedSheetTitle: $steps.copySheet.outputs.copiedSheetTitle
    destinationSheets: $steps.confirmDestination.outputs.destinationSheets

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-copy-sheet-between-spreadsheets-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.