Cross-Provider Workflow

Google Sheets Config to Databricks Job Run

Version 1.0.0

Read pipeline parameters from a Google Sheet, then trigger a parameterized Databricks job.

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

Providers Orchestrated

google-sheets databricks

Workflows

sheets-config-to-databricks
Read params from a sheet, then trigger a Databricks job with them.
Reads run parameters from a Google Sheets range and triggers a parameterized Databricks job run using those values.
2 steps inputs: jobId, range, spreadsheetId outputs: configValues, runId
1
read-config
$sourceDescriptions.googleSheetsApi.getValues
Read the pipeline run parameters from the Google Sheet.
2
trigger-job
$sourceDescriptions.databricksApi.runJobNow
Trigger the parameterized Databricks job run.

Source API Descriptions

Arazzo Workflow Specification

data-google-sheets-to-databricks-job.yml Raw ↑
arazzo: 1.0.1
info:
  title: Google Sheets Config to Databricks Job Run
  summary: Read pipeline parameters from a Google Sheet, then trigger a parameterized Databricks job.
  description: >-
    A data pipeline workflow that reads run parameters maintained in a Google Sheet and uses
    them to trigger a parameterized Databricks job run, letting non-engineers control pipeline
    inputs from a spreadsheet. Demonstrates driving a processing platform from spreadsheet-managed
    configuration.
  version: 1.0.0
sourceDescriptions:
  - name: googleSheetsApi
    url: https://raw.githubusercontent.com/api-evangelist/google-sheets/refs/heads/main/openapi/google-sheets-openapi.yml
    type: openapi
  - name: databricksApi
    url: https://raw.githubusercontent.com/api-evangelist/databricks/refs/heads/main/openapi/databricks-openapi.yml
    type: openapi
workflows:
  - workflowId: sheets-config-to-databricks
    summary: Read params from a sheet, then trigger a Databricks job with them.
    description: >-
      Reads run parameters from a Google Sheets range and triggers a parameterized Databricks
      job run using those values.
    inputs:
      type: object
      properties:
        spreadsheetId:
          type: string
        range:
          type: string
        jobId:
          type: integer
    steps:
      - stepId: read-config
        description: Read the pipeline run parameters from the Google Sheet.
        operationId: $sourceDescriptions.googleSheetsApi.getValues
        parameters:
          - name: spreadsheetId
            in: path
            value: $inputs.spreadsheetId
          - name: range
            in: path
            value: $inputs.range
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          configValues: $response.body#/values
      - stepId: trigger-job
        description: Trigger the parameterized Databricks job run.
        operationId: $sourceDescriptions.databricksApi.runJobNow
        requestBody:
          contentType: application/json
          payload:
            job_id: $inputs.jobId
            job_parameters:
              config: $steps.read-config.outputs.configValues
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          runId: $response.body#/run_id
    outputs:
      configValues: $steps.read-config.outputs.configValues
      runId: $steps.trigger-job.outputs.runId