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 1 source API 1 provider
View Spec View on GitHub CompanyProductivityDocumentsSpreadsheetsCollaborationNo-CodeWorkspaceAIContent ManagementSaaSArazzoWorkflows

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
listColumns
2
upsertRows
upsertRows
3
getMutationStatus
getMutationStatus
4
listRows
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: codaDocs
  url: ../openapi/coda-project-openapi-original.json
  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