Airtable · Arazzo Workflow

Airtable Evolve a Table Schema

Version 1.0.0

Rename a table and update one of its fields within an existing base.

1 workflow 1 source API 1 provider
View Spec View on GitHub ApplicationsCollaborationDataDatabasesLow-CodeProductivitySpreadsheetsArazzoWorkflows

Provider

airtable

Workflows

evolve-table-schema
Rename a table and update one of its fields.
Reads the base schema to confirm the target table and field, updates the table's name and description, and then updates a field's name, description, or options.
3 steps inputs: baseId, fieldDescription, fieldId, fieldName, fieldOptions, tableDescription, tableId, tableName outputs: fieldId, tableId
1
confirmSchema
getBaseSchema
Read the base schema to confirm the target table and field exist before modifying them.
2
renameTable
updateTable
Update the table's name and optional description. Only the supplied properties are changed.
3
updateField
updateField
Update the target field's name, description, or configuration options. Only the supplied properties are changed.

Source API Descriptions

Arazzo Workflow Specification

airtable-evolve-table-schema-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Airtable Evolve a Table Schema
  summary: Rename a table and update one of its fields within an existing base.
  description: >-
    Evolves the structure of an existing Airtable base by first reading the
    base schema to confirm the target table and field, then renaming (and
    optionally re-describing) the table, and finally updating a field's name,
    description, or configuration options. 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: airtableMetadataApi
  url: ../openapi/airtable-metadata-api-openapi.yml
  type: openapi
workflows:
- workflowId: evolve-table-schema
  summary: Rename a table and update one of its fields.
  description: >-
    Reads the base schema to confirm the target table and field, updates the
    table's name and description, and then updates a field's name, description,
    or options.
  inputs:
    type: object
    required:
    - baseId
    - tableId
    - fieldId
    - tableName
    properties:
      baseId:
        type: string
        description: The Airtable base identifier (e.g. appXXXXXXXXXXXXXX).
      tableId:
        type: string
        description: The identifier of the table to rename (e.g. tblXXXXXXXXXXXXXX).
      fieldId:
        type: string
        description: The identifier of the field to update (e.g. fldXXXXXXXXXXXXXX).
      tableName:
        type: string
        description: The new name for the table.
      tableDescription:
        type: string
        description: An optional new description for the table.
      fieldName:
        type: string
        description: An optional new name for the field.
      fieldDescription:
        type: string
        description: An optional new description for the field.
      fieldOptions:
        type: object
        description: Optional updated configuration options for the field.
  steps:
  - stepId: confirmSchema
    description: >-
      Read the base schema to confirm the target table and field exist before
      modifying them.
    operationId: getBaseSchema
    parameters:
    - name: baseId
      in: path
      value: $inputs.baseId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tables: $response.body#/tables
  - stepId: renameTable
    description: >-
      Update the table's name and optional description. Only the supplied
      properties are changed.
    operationId: updateTable
    parameters:
    - name: baseId
      in: path
      value: $inputs.baseId
    - name: tableId
      in: path
      value: $inputs.tableId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.tableName
        description: $inputs.tableDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tableId: $response.body#/id
      name: $response.body#/name
  - stepId: updateField
    description: >-
      Update the target field's name, description, or configuration options.
      Only the supplied properties are changed.
    operationId: updateField
    parameters:
    - name: baseId
      in: path
      value: $inputs.baseId
    - name: tableId
      in: path
      value: $inputs.tableId
    - name: fieldId
      in: path
      value: $inputs.fieldId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.fieldName
        description: $inputs.fieldDescription
        options: $inputs.fieldOptions
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      fieldId: $response.body#/id
      name: $response.body#/name
  outputs:
    tableId: $steps.renameTable.outputs.tableId
    fieldId: $steps.updateField.outputs.fieldId