Cross-Provider Workflow

Stripe Customer to Twilio Verify SMS

Version 1.0.0

Create a Stripe customer, then start a Twilio Verify SMS check.

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

Providers Orchestrated

stripe twilio

Workflows

customer-verify-phone
Create a Stripe customer, then start a Twilio Verify SMS check.
Creates a customer in Stripe and starts an SMS verification for the customer's phone number via Twilio Verify.
2 steps inputs: email, name, phoneNumber, serviceSid outputs: customerId, verificationSid, verificationStatus
1
create-customer
$sourceDescriptions.stripeApi.postCustomers
Create a new customer record in Stripe.
2
start-verification
$sourceDescriptions.twilioVerifyApi.createVerification
Start an SMS verification for the customer via Twilio Verify.

Source API Descriptions

Arazzo Workflow Specification

pay-stripe-customer-to-twilio-verify-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Stripe Customer to Twilio Verify SMS
  summary: Create a Stripe customer, then start a Twilio Verify SMS check.
  description: >-
    A cross-provider onboarding workflow that creates a customer record in Stripe
    and then starts an SMS verification through Twilio's Verify API so the buyer's
    phone number can be confirmed before any high-value transaction. Pairs billing
    onboarding with strong customer verification.
  version: 1.0.0
sourceDescriptions:
  - name: stripeApi
    url: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-customers-api-openapi.yml
    type: openapi
  - name: twilioVerifyApi
    url: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/openapi/twilio-verify-openapi.yml
    type: openapi
workflows:
  - workflowId: customer-verify-phone
    summary: Create a Stripe customer, then start a Twilio Verify SMS check.
    description: >-
      Creates a customer in Stripe and starts an SMS verification for the customer's
      phone number via Twilio Verify.
    inputs:
      type: object
      properties:
        email:
          type: string
        name:
          type: string
        serviceSid:
          type: string
        phoneNumber:
          type: string
    steps:
      - stepId: create-customer
        description: Create a new customer record in Stripe.
        operationId: $sourceDescriptions.stripeApi.postCustomers
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            email: $inputs.email
            name: $inputs.name
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          customerId: $response.body#/id
          customerEmail: $response.body#/email
      - stepId: start-verification
        description: Start an SMS verification for the customer via Twilio Verify.
        operationId: $sourceDescriptions.twilioVerifyApi.createVerification
        requestBody:
          contentType: application/x-www-form-urlencoded
          payload:
            ServiceSid: $inputs.serviceSid
            To: $inputs.phoneNumber
            Channel: sms
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          verificationSid: $response.body#/sid
          verificationStatus: $response.body#/status
    outputs:
      customerId: $steps.create-customer.outputs.customerId
      verificationSid: $steps.start-verification.outputs.verificationSid
      verificationStatus: $steps.start-verification.outputs.verificationStatus