Coda Project · Arazzo Workflow

Upsert and reconcile Coda table rows

Version 1.0.0

Resolve key columns, upsert rows idempotently, await the mutation, and verify.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub CompanyProductivityDocumentsSpreadsheetsCollaborationNo-CodeWorkspaceArtificial IntelligenceContent ManagementSoftware-as-a-ServiceArazzoWorkflows

Provider

coda-project

Workflows

upsert-rows
Key-column upsert into an existing table, then confirm reconciled state.
4 steps inputs: docId, keyColumn, keyValue, tableIdOrName outputs: rows
1
listColumns
2
upsertRows
3
getMutationStatus
4
listRows

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Upsert and reconcile Coda table rows
  version: 1.0.0
  summary: Resolve key columns, upsert rows idempotently, await the mutation, and verify.
sourceDescriptions:
- name: columnsApi
  url: ../openapi/coda-project-columns-api-openapi.yml
  type: openapi
- name: miscellaneousApi
  url: ../openapi/coda-project-miscellaneous-api-openapi.yml
  type: openapi
- name: rowsApi
  url: ../openapi/coda-project-rows-api-openapi.yml
  type: openapi
workflows:
- workflowId: upsert-rows
  summary: Key-column upsert into an existing table, then confirm reconciled state.
  inputs:
    type: object
    properties:
      docId:
        type: string
      tableIdOrName:
        type: string
      keyColumn:
        type: string
      keyValue:
        type: string
  steps:
  - stepId: listColumns
    operationId: listColumns
    parameters:
    - name: docId
      in: path
      value: $inputs.docId
    - name: tableIdOrName
      in: path
      value: $inputs.tableIdOrName
    successCriteria:
    - condition: $statusCode == 200
  - stepId: upsertRows
    operationId: upsertRows
    parameters:
    - name: docId
      in: path
      value: $inputs.docId
    - name: tableIdOrName
      in: path
      value: $inputs.tableIdOrName
    requestBody:
      contentType: application/json
      payload:
        keyColumns:
        - $inputs.keyColumn
        rows:
        - cells:
          - column: $inputs.keyColumn
            value: $inputs.keyValue
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      requestId: $response.body#/requestId
  - stepId: getMutationStatus
    operationId: getMutationStatus
    parameters:
    - name: requestId
      in: path
      value: $steps.upsertRows.outputs.requestId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: listRows
    operationId: listRows
    parameters:
    - name: docId
      in: path
      value: $inputs.docId
    - name: tableIdOrName
      in: path
      value: $inputs.tableIdOrName
    - name: useColumnNames
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rows: $response.body#/items
  outputs:
    rows: $steps.listRows.outputs.rows

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/coda-project-upsert-rows"
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 email required.

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