Cross-Provider Workflow

Databricks Job Run to Slack Notification

Version 1.0.0

Trigger a Databricks job run, then post a notification to a Slack channel.

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

Providers Orchestrated

databricks slack

Workflows

databricks-run-to-slack
Run a Databricks job, then notify a Slack channel.
Triggers a Databricks job run and posts a Slack message containing the run id so the team is notified the pipeline has started.
2 steps inputs: channel, jobId outputs: messageTs, runId
1
run-job
$sourceDescriptions.databricksApi.runJobNow
Trigger the Databricks job run.
2
notify-slack
$sourceDescriptions.slackApi.chatPostMessage
Post a notification to the Slack channel with the run id.

Source API Descriptions

Arazzo Workflow Specification

data-databricks-run-to-slack-notify.yml Raw ↑
arazzo: 1.0.1
info:
  title: Databricks Job Run to Slack Notification
  summary: Trigger a Databricks job run, then post a notification to a Slack channel.
  description: >-
    A data pipeline workflow that triggers a Databricks job run and posts a message to a
    Slack channel announcing that the pipeline has kicked off, with the run identifier for
    traceability. Demonstrates wiring a data processing platform to a team chat provider
    for operational notifications.
  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: slackApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-web-api-openapi.yml
    type: openapi
workflows:
  - workflowId: databricks-run-to-slack
    summary: Run a Databricks job, then notify a Slack channel.
    description: >-
      Triggers a Databricks job run and posts a Slack message containing the run id so the
      team is notified the pipeline has started.
    inputs:
      type: object
      properties:
        jobId:
          type: integer
        channel:
          type: string
    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: notify-slack
        description: Post a notification to the Slack channel with the run id.
        operationId: $sourceDescriptions.slackApi.chatPostMessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.channel
            text: $steps.run-job.outputs.runId
        successCriteria:
          - condition: $statusCode == 200
          - condition: $response.body#/ok == true
        outputs:
          messageTs: $response.body#/ts
    outputs:
      runId: $steps.run-job.outputs.runId
      messageTs: $steps.notify-slack.outputs.messageTs