Cross-Provider Workflow

Databricks Job Run to Airtable Status Log

Version 1.0.0

Trigger a Databricks job, fetch its run details, then log the status in Airtable.

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

Providers Orchestrated

databricks airtable

Workflows

databricks-run-to-airtable-log
Run a Databricks job, fetch run details, then log status in Airtable.
Triggers a Databricks job run, gets the run's details, and creates an Airtable record capturing the run status.
3 steps inputs: baseId, fields, jobId, tableIdOrName outputs: createdRecords, lifeCycleState, runId
1
run-job
$sourceDescriptions.databricksApi.runJobNow
Trigger the Databricks job run.
2
get-run
$sourceDescriptions.databricksApi.getJobRun
Fetch the details of the Databricks job run.
3
log-status
$sourceDescriptions.airtableApi.createRecords
Record the run status as a row in the Airtable tracking table.

Source API Descriptions

Arazzo Workflow Specification

data-databricks-job-to-airtable-status.yml Raw ↑
arazzo: 1.0.1
info:
  title: Databricks Job Run to Airtable Status Log
  summary: Trigger a Databricks job, fetch its run details, then log the status in Airtable.
  description: >-
    A data operations workflow that triggers a Databricks job run, retrieves the run's
    details, and records the run status as a row in an Airtable tracking table. Demonstrates
    capturing pipeline run history from a processing platform into a no-code database for
    monitoring and audit.
  version: 1.0.0
sourceDescriptions:
  - name: databricksApi
    url: https://raw.githubusercontent.com/api-evangelist/databricks/refs/heads/main/openapi/databricks-openapi.yml
    type: openapi
  - name: airtableApi
    url: https://raw.githubusercontent.com/api-evangelist/airtable/refs/heads/main/openapi/airtable-airtable-api-openapi.yml
    type: openapi
workflows:
  - workflowId: databricks-run-to-airtable-log
    summary: Run a Databricks job, fetch run details, then log status in Airtable.
    description: >-
      Triggers a Databricks job run, gets the run's details, and creates an Airtable record
      capturing the run status.
    inputs:
      type: object
      properties:
        jobId:
          type: integer
        baseId:
          type: string
        tableIdOrName:
          type: string
        fields:
          type: object
    steps:
      - stepId: run-job
        description: Trigger the Databricks job run.
        operationId: $sourceDescriptions.databricksApi.runJobNow
        requestBody:
          contentType: application/json
          payload:
            job_id: $inputs.jobId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          runId: $response.body#/run_id
      - stepId: get-run
        description: Fetch the details of the Databricks job run.
        operationId: $sourceDescriptions.databricksApi.getJobRun
        parameters:
          - name: run_id
            in: query
            value: $steps.run-job.outputs.runId
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          lifeCycleState: $response.body#/state/life_cycle_state
      - stepId: log-status
        description: Record the run status as a row in the Airtable tracking table.
        operationId: $sourceDescriptions.airtableApi.createRecords
        parameters:
          - name: baseId
            in: path
            value: $inputs.baseId
          - name: tableIdOrName
            in: path
            value: $inputs.tableIdOrName
        requestBody:
          contentType: application/json
          payload:
            records:
              - fields: $inputs.fields
            typecast: true
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          createdRecords: $response.body#/records
    outputs:
      runId: $steps.run-job.outputs.runId
      lifeCycleState: $steps.get-run.outputs.lifeCycleState
      createdRecords: $steps.log-status.outputs.createdRecords