Cross-Provider Workflow

Stripe Payout to Slack Notification

Version 1.0.0

Create a Stripe payout, then notify the finance team in Slack.

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

Providers Orchestrated

stripe slack

Workflows

payout-and-slack-notify
Create a Stripe payout, then post a Slack notification.
Creates a payout in Stripe and posts a confirmation message to a Slack channel with the payout amount and identifier.
2 steps inputs: amount, channel, currency outputs: payoutId, payoutStatus, slackPosted
1
create-payout
$sourceDescriptions.stripeApi.postPayouts
Initiate a payout from the Stripe balance.
2
slack-notify
$sourceDescriptions.slackApi.postChatPostmessage
Post a payout notification into a Slack channel.

Source API Descriptions

Arazzo Workflow Specification

pay-stripe-payout-to-slack-notify-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Stripe Payout to Slack Notification
  summary: Create a Stripe payout, then notify the finance team in Slack.
  description: >-
    A cross-provider operations workflow that initiates a payout to a connected
    bank account through Stripe's Payouts API and then posts a notification into a
    Slack channel so the finance team has a real-time record of money leaving the
    Stripe balance.
  version: 1.0.0
sourceDescriptions:
  - name: stripeApi
    url: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-payouts-api-openapi.yml
    type: openapi
  - name: slackApi
    url: https://raw.githubusercontent.com/api-evangelist/slack/refs/heads/main/openapi/slack-chat-openapi.yml
    type: openapi
workflows:
  - workflowId: payout-and-slack-notify
    summary: Create a Stripe payout, then post a Slack notification.
    description: >-
      Creates a payout in Stripe and posts a confirmation message to a Slack channel
      with the payout amount and identifier.
    inputs:
      type: object
      properties:
        amount:
          type: integer
        currency:
          type: string
        channel:
          type: string
    steps:
      - stepId: create-payout
        description: Initiate a payout from the Stripe balance.
        operationId: $sourceDescriptions.stripeApi.postPayouts
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            amount: $inputs.amount
            currency: $inputs.currency
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          payoutId: $response.body#/id
          payoutStatus: $response.body#/status
          payoutAmount: $response.body#/amount
      - stepId: slack-notify
        description: Post a payout notification into a Slack channel.
        operationId: $sourceDescriptions.slackApi.postChatPostmessage
        requestBody:
          contentType: application/json
          payload:
            channel: $inputs.channel
            text: Payout $steps.create-payout.outputs.payoutId initiated for $steps.create-payout.outputs.payoutAmount.
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          messageTs: $response.body#/ts
          posted: $response.body#/ok
    outputs:
      payoutId: $steps.create-payout.outputs.payoutId
      payoutStatus: $steps.create-payout.outputs.payoutStatus
      slackPosted: $steps.slack-notify.outputs.posted