Cross-Provider Workflow

Shopify Order to Slack Sales Channel Notification

Version 1.0.0

Create a Shopify order, then post a sale notification to a Slack channel.

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

Providers Orchestrated

shopify slack

Workflows

order-to-slack-notification
Create a Shopify order and post a sale alert to Slack.
Creates a Shopify order, then posts a sale notification with the order name to a Slack channel for the team.
2 steps inputs: customerEmail, lineItemPrice, lineItemTitle, slackChannel, slackToken outputs: messageTs, orderId
1
create-order
$sourceDescriptions.shopifyApi.createOrder
Create the Shopify order.
2
post-sale-alert
$sourceDescriptions.slackApi.postChatPostmessage
Post a new-sale notification to the Slack channel.

Source API Descriptions

Arazzo Workflow Specification

shop-order-confirm-slack-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Shopify Order to Slack Sales Channel Notification
  summary: Create a Shopify order, then post a sale notification to a Slack channel.
  description: >-
    An internal-operations workflow that creates a Shopify order and posts a
    real-time sale notification to a Slack channel so the team sees new orders as
    they happen. Demonstrates connecting a commerce platform's order creation to
    a team chat provider for live sales visibility.
  version: 1.0.0
sourceDescriptions:
  - name: shopifyApi
    url: https://raw.githubusercontent.com/api-evangelist/shopify/refs/heads/main/openapi/shopify-admin-rest-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: order-to-slack-notification
    summary: Create a Shopify order and post a sale alert to Slack.
    description: >-
      Creates a Shopify order, then posts a sale notification with the order
      name to a Slack channel for the team.
    inputs:
      type: object
      properties:
        customerEmail:
          type: string
        lineItemTitle:
          type: string
        lineItemPrice:
          type: string
        slackToken:
          type: string
        slackChannel:
          type: string
    steps:
      - stepId: create-order
        description: Create the Shopify order.
        operationId: $sourceDescriptions.shopifyApi.createOrder
        requestBody:
          contentType: application/json
          payload:
            order:
              email: $inputs.customerEmail
              line_items:
                - title: $inputs.lineItemTitle
                  price: $inputs.lineItemPrice
                  quantity: 1
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          orderId: $response.body#/order/id
          orderName: $response.body#/order/name
      - stepId: post-sale-alert
        description: Post a new-sale notification to the Slack channel.
        operationId: $sourceDescriptions.slackApi.postChatPostmessage
        parameters:
          - name: token
            in: header
            value: $inputs.slackToken
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            channel: $inputs.slackChannel
            text: New order received. Check the dashboard for details.
        successCriteria:
          - condition: $statusCode == 200
          - condition: $response.body#/ok == true
        outputs:
          messageTs: $response.body#/ts
    outputs:
      orderId: $steps.create-order.outputs.orderId
      messageTs: $steps.post-sale-alert.outputs.messageTs