Shopify - Create Customer
Description
Section titled “Description”This module allows creating customers in your Shopify store with contact information, address, and account configuration.
Configuration
Section titled “Configuration”| Field | Type | Required | Description |
|---|---|---|---|
credentials_id | string | Yes | Shopify credentials ID |
email | string | Yes | Customer email |
first_name | string | No | First name |
last_name | string | No | Last name |
phone | string | No | Phone (E.164 format) |
tags | string | No | Tags separated by comma |
note | string | No | Internal notes |
verified_email | boolean | No | Mark email as verified (default: true) |
send_email_welcome | boolean | No | Send welcome email (default: false) |
tax_exempt | boolean | No | Tax exempt (default: false) |
address1 | string | No | Address line 1 |
address2 | string | No | Address line 2 |
city | string | No | City |
province | string | No | Province/State |
country | string | No | Country |
country_code | string | No | Country code (ES, US, etc.) |
zip | string | No | Postal code |
company | string | No | Company |
Credentials
Section titled “Credentials”This module requires Shopify credentials. The required fields are:
| Field | Description |
|---|---|
shop_domain | Store domain (my-store.myshopify.com) |
access_token | Admin API access token |
Required Permissions
Section titled “Required Permissions”write_customers- Customer write
Output
Section titled “Output”{ "success": true, "customer": { "id": 123456789, "email": "cliente@ejemplo.com", "first_name": "Juan", "last_name": "Garcia", "...": "other fields" }, "customer_id": 123456789, "message": "Customer \"cliente@ejemplo.com\" created successfully"}Usage Example
Section titled “Usage Example”Basic customer
Section titled “Basic customer”{ "credentials_id": "shopify_tienda", "email": "nuevo@cliente.com", "first_name": "Juan", "last_name": "Garcia"}Customer with address
Section titled “Customer with address”{ "credentials_id": "shopify_tienda", "email": "cliente@ejemplo.com", "first_name": "Maria", "last_name": "Lopez", "phone": "+34600000000", "address1": "Calle Mayor 123", "address2": "Piso 4B", "city": "Madrid", "province": "Madrid", "country": "Spain", "country_code": "ES", "zip": "28001"}B2B company customer
Section titled “B2B company customer”{ "credentials_id": "shopify_tienda", "email": "compras@empresa.com", "first_name": "Departamento", "last_name": "Compras", "company": "Empresa S.L.", "phone": "+34910000000", "tax_exempt": true, "tags": "b2b, mayorista", "note": "Wholesale customer - 20% discount"}Customer with welcome email
Section titled “Customer with welcome email”{ "credentials_id": "shopify_tienda", "email": "nuevo@cliente.com", "first_name": "Pedro", "last_name": "Sanchez", "send_email_welcome": true, "verified_email": true, "tags": "newsletter, nuevo"}Example Workflows
Section titled “Example Workflows”Registration from web form
Section titled “Registration from web form”[Webhook Form] -> [Validate data] -> [ShopifyCreateCustomer] -> [Confirmation email]Bulk import
Section titled “Bulk import”[Read CSV] -> [Loop] -> [ShopifyCreateCustomer] -> [Log results]CRM sync
Section titled “CRM sync”[CRM Webhook] -> [Check exists] -> [ShopifyCreateCustomer] -> [Update CRM]Usage with ExecuteScript
Section titled “Usage with ExecuteScript”// Prepare customer data from formconst form = ctx.data.formulario;
ctx.data = { email: form.email.toLowerCase().trim(), first_name: form.nombre, last_name: form.apellido, phone: form.telefono ? `+34${form.telefono}` : undefined, address1: form.direccion, city: form.ciudad, province: form.provincia, country: "Spain", country_code: "ES", zip: form.cp, tags: form.newsletter ? "newsletter" : "", send_email_welcome: true};Phone Format
Section titled “Phone Format”Shopify requires the E.164 format for phones:
| Country | Format | Example |
|---|---|---|
| Spain | +34XXXXXXXXX | +34600123456 |
| Mexico | +52XXXXXXXXXX | +525512345678 |
| Argentina | +54XXXXXXXXXXX | +5491112345678 |
| Colombia | +57XXXXXXXXXX | +573001234567 |
| USA | +1XXXXXXXXXX | +12025551234 |
Common Errors
Section titled “Common Errors”| Error | Cause | Solution |
|---|---|---|
| ”Email has already been taken” | Email already exists | Use ShopifyUpdateCustomer |
| ”Phone is invalid” | Incorrect format | Use E.164 format |
| ”Country code is invalid” | Country code | Use ISO codes (ES, US, MX) |
- The email must be unique in the store
- If the email already exists, use ShopifyUpdateCustomer instead
- The
verified_emailfield prevents Shopify from sending a verification email - Tags are useful for segmenting customers in marketing campaigns
Related Nodes
Section titled “Related Nodes”- ShopifyGetCustomers - Get and search existing customers
- ShopifyUpdateCustomer - Update an existing customer’s data
- ShopifyGetOrders - Get orders (filterable by customer)