Cross-Provider Workflow

Airtable Base Schema to Snowflake Table Create

Version 1.0.0

Read an Airtable base schema, then create a matching table in Snowflake.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

airtable snowflake

Workflows

airtable-schema-to-snowflake-table
Fetch an Airtable base schema, then create a Snowflake table.
Gets the schema of an Airtable base and submits a Snowflake DDL statement to create a matching table for downstream ingestion.
2 steps inputs: baseId, createStatement, warehouse outputs: statementHandle, tables
1
get-schema
$sourceDescriptions.airtableMetadataApi.getBaseSchema
Fetch the schema of the Airtable base.
2
create-table
$sourceDescriptions.snowflakeSqlApi.SubmitStatement
Create a matching table in Snowflake via a DDL statement.

Source API Descriptions

Arazzo Workflow Specification

data-airtable-schema-to-snowflake-table-create.yml Raw ↑
arazzo: 1.0.1
info:
  title: Airtable Base Schema to Snowflake Table Create
  summary: Read an Airtable base schema, then create a matching table in Snowflake.
  description: >-
    A data pipeline workflow that fetches the schema of an Airtable base and provisions a
    corresponding table in Snowflake via a DDL statement, mirroring a no-code data model
    into the warehouse ahead of an ingest. Demonstrates schema-driven provisioning across
    a no-code database and a cloud data warehouse.
  version: 1.0.0
sourceDescriptions:
  - name: airtableMetadataApi
    url: https://raw.githubusercontent.com/api-evangelist/airtable/refs/heads/main/openapi/airtable-metadata-api-openapi.yml
    type: openapi
  - name: snowflakeSqlApi
    url: https://raw.githubusercontent.com/api-evangelist/snowflake/refs/heads/main/openapi/sqlapi.yaml
    type: openapi
workflows:
  - workflowId: airtable-schema-to-snowflake-table
    summary: Fetch an Airtable base schema, then create a Snowflake table.
    description: >-
      Gets the schema of an Airtable base and submits a Snowflake DDL statement to create a
      matching table for downstream ingestion.
    inputs:
      type: object
      properties:
        baseId:
          type: string
        createStatement:
          type: string
        warehouse:
          type: string
    steps:
      - stepId: get-schema
        description: Fetch the schema of the Airtable base.
        operationId: $sourceDescriptions.airtableMetadataApi.getBaseSchema
        parameters:
          - name: baseId
            in: path
            value: $inputs.baseId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          tables: $response.body#/tables
      - stepId: create-table
        description: Create a matching table in Snowflake via a DDL statement.
        operationId: $sourceDescriptions.snowflakeSqlApi.SubmitStatement
        requestBody:
          contentType: application/json
          payload:
            statement: $inputs.createStatement
            warehouse: $inputs.warehouse
            timeout: 120
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          statementHandle: $response.body#/statementHandle
    outputs:
      tables: $steps.get-schema.outputs.tables
      statementHandle: $steps.create-table.outputs.statementHandle