Cross-Provider Workflow

Vantage Cost Report to Slack Alert

Version 1.0.0

Read a Vantage cost report and its costs, then alert a Slack channel.

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

Providers Orchestrated

vantage slack

Workflows

cost-report-to-slack
Fetch a Vantage cost report and costs, then alert Slack.
Retrieves a Vantage cost report, reads its cost line items, and posts a cloud-spend alert to a Slack channel.
3 steps inputs: channel, costReportToken outputs: messageTs, reportTitle
1
get-cost-report
$sourceDescriptions.vantageCostApi.getCostReport
Load the Vantage cost report metadata.
2
get-costs
$sourceDescriptions.vantageCostApi.getCosts
Read the cost line items for the report.
3
alert-slack
$sourceDescriptions.slackChatApi.postChatPostmessage
Post a cloud-spend alert to Slack.

Source API Descriptions

Arazzo Workflow Specification

fin-vantage-cost-report-to-slack-alert.yml Raw ↑
arazzo: 1.0.1
info:
  title: Vantage Cost Report to Slack Alert
  summary: Read a Vantage cost report and its costs, then alert a Slack channel.
  description: >-
    A cloud-cost monitoring workflow that loads a Vantage cost report, pulls the
    underlying cost line items, and posts a spend alert to a Slack channel so
    engineering and finance see cloud cost movement without logging into the
    Vantage console. Demonstrates joining a FinOps cost provider with a chat
    notification 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: cost-report-to-slack
    summary: Fetch a Vantage cost report and costs, then alert Slack.
    description: >-
      Retrieves a Vantage cost report, reads its cost line items, and posts a
      cloud-spend alert to a Slack channel.
    inputs:
      type: object
      properties:
        costReportToken:
          type: string
        channel:
          type: string
    steps:
      - stepId: get-cost-report
        description: Load the Vantage cost report metadata.
        operationId: $sourceDescriptions.vantageCostApi.getCostReport
        parameters:
          - name: cost_report_token
            in: path
            value: $inputs.costReportToken
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          reportTitle: $response.body#/title
          reportToken: $response.body#/token
      - stepId: get-costs
        description: Read the cost line items for the report.
        operationId: $sourceDescriptions.vantageCostApi.getCosts
        parameters:
          - name: cost_report_token
            in: query
            value: $steps.get-cost-report.outputs.reportToken
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          costs: $response.body#/costs
      - stepId: alert-slack
        description: Post a cloud-spend alert to Slack.
        operationId: $sourceDescriptions.slackChatApi.postChatPostmessage
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            channel: $inputs.channel
            text: Cloud cost report updated. Review spend in Vantage.
        successCriteria:
          - condition: $statusCode == 200
          - condition: $response.body#/ok == true
        outputs:
          messageTs: $response.body#/ts
    outputs:
      reportTitle: $steps.get-cost-report.outputs.reportTitle
      messageTs: $steps.alert-slack.outputs.messageTs