Cross-Provider Workflow

Vantage Budget Alert to Slack

Version 1.0.0

Read a Vantage budget alert and notify a Slack channel when budget is at risk.

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

Providers Orchestrated

vantage slack

Workflows

budget-alert-to-slack
Fetch a Vantage budget alert, then notify Slack.
Reads a Vantage budget alert and posts a budget-at-risk notification to a Slack channel.
2 steps inputs: budgetAlertToken, channel outputs: messageTs, threshold
1
get-budget-alert
$sourceDescriptions.vantageCostApi.getBudgetAlert
Retrieve the Vantage budget alert.
2
notify-slack
$sourceDescriptions.slackChatApi.postChatPostmessage
Post a budget-at-risk message to Slack.

Source API Descriptions

Arazzo Workflow Specification

fin-vantage-budget-alert-to-slack.yml Raw ↑
arazzo: 1.0.1
info:
  title: Vantage Budget Alert to Slack
  summary: Read a Vantage budget alert and notify a Slack channel when budget is at risk.
  description: >-
    A budget-governance workflow that reads a Vantage budget alert and posts a
    notification to a Slack channel so stakeholders are warned when a cloud
    budget threshold is being approached or exceeded. Demonstrates wiring a
    FinOps budget signal into a team chat channel.
  version: 1.0.0
sourceDescriptions:
  - name: vantageCostApi
    url: https://raw.githubusercontent.com/api-evangelist/vantage/refs/heads/main/openapi/vantage-cost-management-api-openapi.yml
    type: openapi
  - name: slackChatApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-chat-openapi.yml
    type: openapi
workflows:
  - workflowId: budget-alert-to-slack
    summary: Fetch a Vantage budget alert, then notify Slack.
    description: >-
      Reads a Vantage budget alert and posts a budget-at-risk notification to a
      Slack channel.
    inputs:
      type: object
      properties:
        budgetAlertToken:
          type: string
        channel:
          type: string
    steps:
      - stepId: get-budget-alert
        description: Retrieve the Vantage budget alert.
        operationId: $sourceDescriptions.vantageCostApi.getBudgetAlert
        parameters:
          - name: budget_alert_token
            in: path
            value: $inputs.budgetAlertToken
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          alertToken: $response.body#/token
          threshold: $response.body#/threshold
      - stepId: notify-slack
        description: Post a budget-at-risk message to Slack.
        operationId: $sourceDescriptions.slackChatApi.postChatPostmessage
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            channel: $inputs.channel
            text: A Vantage budget threshold is at risk. Please review spend.
        successCriteria:
          - condition: $statusCode == 200
          - condition: $response.body#/ok == true
        outputs:
          messageTs: $response.body#/ts
    outputs:
      threshold: $steps.get-budget-alert.outputs.threshold
      messageTs: $steps.notify-slack.outputs.messageTs