Cross-Provider Workflow

Shopify Customer to Mailchimp Audience Sync

Version 1.0.0

Create a Shopify customer, then subscribe them to a Mailchimp audience list.

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

Providers Orchestrated

shopify mailchimp

Workflows

create-customer-and-subscribe
Create a Shopify customer and add them to a Mailchimp list.
Creates a new Shopify customer record, then subscribes that customer to a Mailchimp audience list as a member so they enter the marketing funnel.
2 steps inputs: email, firstName, lastName, listId outputs: customerId, memberId
1
create-customer
$sourceDescriptions.shopifyApi.createCustomer
Create the customer in Shopify.
2
subscribe-member
$sourceDescriptions.mailchimpApi.postListsIdMembers
Add the customer to the Mailchimp audience list.

Source API Descriptions

Arazzo Workflow Specification

shop-customer-mailchimp-sync-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Shopify Customer to Mailchimp Audience Sync
  summary: Create a Shopify customer, then subscribe them to a Mailchimp audience list.
  description: >-
    A marketing-list sync workflow that creates a customer in Shopify and then
    adds that customer as a subscribed member to a Mailchimp audience so they
    begin receiving campaigns. Demonstrates connecting a commerce platform's
    customer creation to an email marketing provider's audience management.
  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-marketing-api-openapi.yml
    type: openapi
workflows:
  - workflowId: create-customer-and-subscribe
    summary: Create a Shopify customer and add them to a Mailchimp list.
    description: >-
      Creates a new Shopify customer record, then subscribes that customer to a
      Mailchimp audience list as a member so they enter the marketing funnel.
    inputs:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        listId:
          type: string
    steps:
      - stepId: create-customer
        description: Create the customer in Shopify.
        operationId: $sourceDescriptions.shopifyApi.createCustomer
        requestBody:
          contentType: application/json
          payload:
            customer:
              email: $inputs.email
              first_name: $inputs.firstName
              last_name: $inputs.lastName
        successCriteria:
          - condition: $statusCode == 201
        outputs:
          customerId: $response.body#/customer/id
          customerEmail: $response.body#/customer/email
      - stepId: subscribe-member
        description: Add the customer to the Mailchimp audience list.
        operationId: $sourceDescriptions.mailchimpApi.postListsIdMembers
        parameters:
          - name: list_id
            in: path
            value: $inputs.listId
        requestBody:
          contentType: application/json
          payload:
            email_address: $steps.create-customer.outputs.customerEmail
            status: subscribed
            merge_fields:
              FNAME: $inputs.firstName
              LNAME: $inputs.lastName
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          memberId: $response.body#/id
          memberStatus: $response.body#/status
    outputs:
      customerId: $steps.create-customer.outputs.customerId
      memberId: $steps.subscribe-member.outputs.memberId