Cross-Provider Workflow

Shopify Order to Mailchimp Transactional Confirmation

Version 1.0.0

Create a Shopify order, then send a transactional confirmation email with Mailchimp.

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

Providers Orchestrated

shopify mailchimp

Workflows

order-and-transactional-email
Create a Shopify order and send a Mailchimp transactional confirmation.
Creates a Shopify order, then sends the customer a transactional order confirmation email through Mailchimp Transactional.
2 steps inputs: customerEmail, lineItemPrice, lineItemTitle, mandrillKey outputs: orderId, sendStatus
1
create-order
$sourceDescriptions.shopifyApi.createOrder
Create the Shopify order.
2
send-confirmation
$sourceDescriptions.mailchimpApi.postMessagesSend
Send a transactional order confirmation via Mailchimp.

Source API Descriptions

Arazzo Workflow Specification

shop-order-transactional-email-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Shopify Order to Mailchimp Transactional Confirmation
  summary: Create a Shopify order, then send a transactional confirmation email with Mailchimp.
  description: >-
    An order-confirmation workflow that creates a Shopify order and sends the
    customer a transactional confirmation email through Mailchimp Transactional
    (Mandrill). Demonstrates pairing a commerce platform's order creation with a
    transactional email provider distinct from SendGrid.
  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: mailchimpApi
    url: https://raw.githubusercontent.com/api-evangelist/mailchimp/refs/heads/main/openapi/mailchimp-transactional-api-openapi.yml
    type: openapi
workflows:
  - workflowId: order-and-transactional-email
    summary: Create a Shopify order and send a Mailchimp transactional confirmation.
    description: >-
      Creates a Shopify order, then sends the customer a transactional order
      confirmation email through Mailchimp Transactional.
    inputs:
      type: object
      properties:
        customerEmail:
          type: string
        lineItemTitle:
          type: string
        lineItemPrice:
          type: string
        mandrillKey:
          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: send-confirmation
        description: Send a transactional order confirmation via Mailchimp.
        operationId: $sourceDescriptions.mailchimpApi.postMessagesSend
        requestBody:
          contentType: application/json
          payload:
            key: $inputs.mandrillKey
            message:
              subject: Your order is confirmed
              from_email: [email protected]
              html: Thank you for your order. We are preparing it now.
              to:
                - email: $inputs.customerEmail
                  type: to
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          sendStatus: $response.body#/0/status
    outputs:
      orderId: $steps.create-order.outputs.orderId
      sendStatus: $steps.send-confirmation.outputs.sendStatus