Cross-Provider Workflow

Shopify New Customer to Twilio Welcome SMS

Version 1.0.0

Create a Shopify customer, then send them a welcome text with Twilio.

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

Providers Orchestrated

shopify twilio

Workflows

create-customer-and-welcome-text
Create a Shopify customer and SMS them a welcome message.
Creates a new Shopify customer record, then sends a Twilio welcome SMS to the phone number provided at signup.
2 steps inputs: accountSid, email, firstName, fromPhone, phone outputs: customerId, messageSid
1
create-customer
$sourceDescriptions.shopifyApi.createCustomer
Create the new customer in Shopify.
2
welcome-text
$sourceDescriptions.twilioApi.createMessage
Send the new customer a Twilio welcome SMS.

Source API Descriptions

Arazzo Workflow Specification

shop-new-customer-welcome-sms-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Shopify New Customer to Twilio Welcome SMS
  summary: Create a Shopify customer, then send them a welcome text with Twilio.
  description: >-
    An onboarding workflow that creates a new Shopify customer and immediately
    sends them a welcome SMS through Twilio. Demonstrates pairing a commerce
    platform's customer creation with a messaging provider to greet shoppers the
    moment they join.
  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: twilioApi
    url: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/openapi/twilio-messaging-openapi.yml
    type: openapi
workflows:
  - workflowId: create-customer-and-welcome-text
    summary: Create a Shopify customer and SMS them a welcome message.
    description: >-
      Creates a new Shopify customer record, then sends a Twilio welcome SMS to
      the phone number provided at signup.
    inputs:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        phone:
          type: string
        accountSid:
          type: string
        fromPhone:
          type: string
    steps:
      - stepId: create-customer
        description: Create the new customer in Shopify.
        operationId: $sourceDescriptions.shopifyApi.createCustomer
        requestBody:
          contentType: application/json
          payload:
            customer:
              email: $inputs.email
              first_name: $inputs.firstName
              phone: $inputs.phone
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          customerId: $response.body#/customer/id
          customerPhone: $response.body#/customer/phone
      - stepId: welcome-text
        description: Send the new customer a Twilio welcome SMS.
        operationId: $sourceDescriptions.twilioApi.createMessage
        parameters:
          - name: AccountSid
            in: path
            value: $inputs.accountSid
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            To: $steps.create-customer.outputs.customerPhone
            From: $inputs.fromPhone
            Body: Welcome to our store! Thanks for joining us.
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          messageSid: $response.body#/sid
    outputs:
      customerId: $steps.create-customer.outputs.customerId
      messageSid: $steps.welcome-text.outputs.messageSid