Cross-Provider Workflow

Stripe Checkout to Mailchimp Subscribe and Twilio SMS

Version 1.0.0

Open a Stripe Checkout session, subscribe in Mailchimp, then SMS via Twilio.

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

Providers Orchestrated

stripe mailchimp twilio

Workflows

checkout-subscribe-and-sms
Create a Stripe Checkout session, subscribe in Mailchimp, SMS via Twilio.
Creates a Checkout Session in Stripe, subscribes the shopper to a Mailchimp audience, and texts them the checkout URL via Twilio.
3 steps inputs: accountSid, cancelUrl, fromNumber, priceId, shopperEmail, successUrl, toNumber outputs: memberId, messageSid, sessionId
1
create-checkout
$sourceDescriptions.stripeApi.postCheckoutSessions
Create a hosted Checkout Session in Stripe.
2
subscribe-member
$sourceDescriptions.mailchimpApi.postListsIdMembers
Add the shopper to a Mailchimp audience as a subscriber.
3
sms-link
$sourceDescriptions.twilioApi.createMessage
Text the shopper the checkout link via Twilio Messaging.

Source API Descriptions

Arazzo Workflow Specification

pay-stripe-checkout-to-mailchimp-and-twilio-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Stripe Checkout to Mailchimp Subscribe and Twilio SMS
  summary: Open a Stripe Checkout session, subscribe in Mailchimp, then SMS via Twilio.
  description: >-
    A three-provider acquisition workflow that creates a Stripe Checkout Session,
    adds the shopper to a Mailchimp marketing audience, and texts them the checkout
    link through Twilio's Messaging API. Connects a hosted payment page to both
    marketing capture and SMS delivery in a single orchestration.
  version: 1.0.0
sourceDescriptions:
  - name: stripeApi
    url: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-checkout-api-openapi.yml
    type: openapi
  - name: mailchimpApi
    url: https://raw.githubusercontent.com/api-evangelist/mailchimp/refs/heads/main/openapi/mailchimp-marketing-api-openapi.yml
    type: openapi
  - name: twilioApi
    url: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/openapi/twilio-messaging-openapi.yml
    type: openapi
workflows:
  - workflowId: checkout-subscribe-and-sms
    summary: Create a Stripe Checkout session, subscribe in Mailchimp, SMS via Twilio.
    description: >-
      Creates a Checkout Session in Stripe, subscribes the shopper to a Mailchimp
      audience, and texts them the checkout URL via Twilio.
    inputs:
      type: object
      properties:
        priceId:
          type: string
        successUrl:
          type: string
        cancelUrl:
          type: string
        shopperEmail:
          type: string
        accountSid:
          type: string
        fromNumber:
          type: string
        toNumber:
          type: string
    steps:
      - stepId: create-checkout
        description: Create a hosted Checkout Session in Stripe.
        operationId: $sourceDescriptions.stripeApi.postCheckoutSessions
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            mode: payment
            success_url: $inputs.successUrl
            cancel_url: $inputs.cancelUrl
            line_items[0][price]: $inputs.priceId
            line_items[0][quantity]: 1
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          sessionId: $response.body#/id
          checkoutUrl: $response.body#/url
      - stepId: subscribe-member
        description: Add the shopper to a Mailchimp audience as a subscriber.
        operationId: $sourceDescriptions.mailchimpApi.postListsIdMembers
        requestBody:
          contentType: application/json
          payload:
            email_address: $inputs.shopperEmail
            status: subscribed
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          memberId: $response.body#/id
      - stepId: sms-link
        description: Text the shopper the checkout link via Twilio Messaging.
        operationId: $sourceDescriptions.twilioApi.createMessage
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            AccountSid: $inputs.accountSid
            From: $inputs.fromNumber
            To: $inputs.toNumber
            Body: Complete your purchase here $steps.create-checkout.outputs.checkoutUrl
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          messageSid: $response.body#/sid
    outputs:
      sessionId: $steps.create-checkout.outputs.sessionId
      memberId: $steps.subscribe-member.outputs.memberId
      messageSid: $steps.sms-link.outputs.messageSid