Shopify · Arazzo Workflow

Shopify Create Customer With Address

Version 1.0.0

Create a customer record, attach a mailing address, then read the customer back.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub CommerceE-CommercePaymentsRetailShopping CartT1ArazzoWorkflows

Provider

shopify

Workflows

create-customer-with-address
Create a customer and attach a mailing address, returning the full record.
Creates a customer record, adds an address to it, and reads the customer back so the customer and address identifiers are available downstream.
3 steps inputs: address1, city, country, email, firstName, lastName, phone, province, zip outputs: addressId, customer, customerId
1
createCustomer
Create the customer record with name, email, and phone.
2
addAddress
Attach a mailing address to the newly created customer.
3
getCustomer
Read the customer back so callers receive the full record with addresses.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Shopify Create Customer With Address
  summary: Create a customer record, attach a mailing address, then read the customer back.
  description: >-
    Onboards a new customer with a shipping or billing address in a single flow.
    The workflow creates the customer, adds a mailing address to that customer,
    and reads the customer back so callers receive the complete record including
    the address identifier. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-420.10
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-420.10
      capability_name: Customer Data Management
      spec: shopify-customers-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: customerAddressesApi
  url: ../openapi/shopify-customer-addresses-api-openapi.yml
  type: openapi
- name: customersApi
  url: ../openapi/shopify-customers-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-customer-with-address
  summary: Create a customer and attach a mailing address, returning the full record.
  description: >-
    Creates a customer record, adds an address to it, and reads the customer
    back so the customer and address identifiers are available downstream.
  inputs:
    type: object
    required:
    - email
    - firstName
    - lastName
    properties:
      email:
        type: string
        description: Customer email address.
      firstName:
        type: string
        description: Customer first name.
      lastName:
        type: string
        description: Customer last name.
      phone:
        type: string
        description: Phone number in E.164 format.
      address1:
        type: string
        description: Street address line 1.
      city:
        type: string
        description: City.
      province:
        type: string
        description: State or province.
      country:
        type: string
        description: Country.
      zip:
        type: string
        description: Postal or ZIP code.
  steps:
  - stepId: createCustomer
    description: Create the customer record with name, email, and phone.
    operationId: createCustomer
    requestBody:
      contentType: application/json
      payload:
        customer:
          first_name: $inputs.firstName
          last_name: $inputs.lastName
          email: $inputs.email
          phone: $inputs.phone
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      customerId: $response.body#/customer/id
  - stepId: addAddress
    description: Attach a mailing address to the newly created customer.
    operationId: createCustomerAddress
    parameters:
    - name: customer_id
      in: path
      value: $steps.createCustomer.outputs.customerId
    requestBody:
      contentType: application/json
      payload:
        address:
          first_name: $inputs.firstName
          last_name: $inputs.lastName
          address1: $inputs.address1
          city: $inputs.city
          province: $inputs.province
          country: $inputs.country
          zip: $inputs.zip
          phone: $inputs.phone
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      addressId: $response.body#/customer_address/id
  - stepId: getCustomer
    description: Read the customer back so callers receive the full record with addresses.
    operationId: getCustomer
    parameters:
    - name: customer_id
      in: path
      value: $steps.createCustomer.outputs.customerId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      customer: $response.body#/customer
  outputs:
    customerId: $steps.createCustomer.outputs.customerId
    addressId: $steps.addAddress.outputs.addressId
    customer: $steps.getCustomer.outputs.customer

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/shopify-create-customer-with-address-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.