Menu
customerCreate
Creates a new Customer in the store. Accepts customer details including contact information, marketing consent preferences, and tax exemptions through the CustomerInput input object.
Use it in a workflow
- Add a step and choose the Shopify connector.
- Pick the customerCreate action (under Customer).
- Fill in the fields below, then reference the result from later steps as
{{customercreate.response.data}}.
Query
This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.
mutation CustomerCreate($input: CustomerInput!) {
customerCreate(input: $input) {
customer {
amountSpent {
amount
currencyCode
}
canDelete
companyContactProfiles {
company
createdAt
customer
id
isMainContact
lifetimeDuration
locale
title
updatedAt
}
createdAt
dataSaleOptOut
defaultAddress {
address1
address2
city
company
coordinatesValidated
country
countryCode
countryCodeV2
firstName
formattedArea
id
lastName
latitude
longitude
name
phone
province
provinceCode
timeZone
validationResultSummary
zip
}
defaultEmailAddress {
emailAddress
marketingOptInLevel
marketingState
marketingUnsubscribeUrl
marketingUpdatedAt
openTrackingLevel
openTrackingUrl
sourceLocation
validFormat
}
defaultPhoneNumber {
marketingCollectedFrom
marketingOptInLevel
marketingState
marketingUpdatedAt
phoneNumber
sourceLocation
whatsAppMarketingConsent
}
displayName
email
emailMarketingConsent {
consentUpdatedAt
marketingOptInLevel
marketingState
sourceLocation
}
firstName
hasTimelineComment
id
identityProviderSubjects {
createdAt
id
providerName
subject
updatedAt
}
lastName
lastOrder {
additionalFees
alerts
app
attribution
billingAddress
billingAddressMatchesShippingAddress
canMarkAsPaid
canNotifyCustomer
cancelReason
cancellation
cancelledAt
capturable
cartDiscountAmount
cartDiscountAmountSet
cartToken
channel
channelInformation
checkoutToken
clientIp
closed
closedAt
confirmationNumber
confirmed
createdAt
currencyCode
currentCartDiscountAmountSet
currentShippingPriceSet
currentSubtotalLineItemsQuantity
currentSubtotalPriceSet
currentTaxLines
currentTotalAdditionalFeesSet
currentTotalDiscountsSet
currentTotalDutiesSet
currentTotalPriceSet
currentTotalTaxSet
currentTotalWeight
customAttributes
customer
customerAcceptsMarketing
customerJourney
customerJourneySummary
customerLocale
discountCode
discountCodes
displayAddress
displayFinancialStatus
displayFulfillmentStatus
disputes
dutiesIncluded
edited
email
estimatedTaxes
fulfillable
fulfillmentsCount
fullyPaid
hasTimelineComment
id
landingPageDisplayText
landingPageUrl
legacyResourceId
merchantBusinessEntity
merchantEditable
merchantEditableErrors
merchantOfRecordApp
name
netPayment
netPaymentSet
note
number
originalTotalAdditionalFeesSet
originalTotalDutiesSet
originalTotalPriceSet
paymentCollectionDetails
paymentGatewayNames
paymentTerms
phone
physicalLocation
poNumber
presentmentCurrencyCode
processedAt
productNetwork
publication
purchasingEntity
referralCode
referrerDisplayText
referrerUrl
refundDiscrepancySet
refundable
registeredSourceUrl
requiresShipping
restockable
retailLocation
returnStatus
risk
riskLevel
shippingAddress
shippingLine
shopifyProtect
sourceIdentifier
sourceName
staffMember
subtotalLineItemsQuantity
subtotalPrice
subtotalPriceSet
tags
taxExempt
taxLines
taxesIncluded
test
totalCapturable
totalCapturableSet
totalCashRoundingAdjustment
totalDiscounts
totalDiscountsSet
totalOutstandingSet
totalPrice
totalPriceSet
totalReceived
totalReceivedSet
totalRefunded
totalRefundedSet
totalRefundedShippingSet
totalShippingPrice
totalShippingPriceSet
totalTax
totalTaxSet
totalTipReceived
totalTipReceivedSet
totalWeight
transactionsCount
unpaid
updatedAt
}
legacyResourceId
lifetimeDuration
locale
market {
catalogsCount
conditions
currencySettings
delivery
discountsCount
enabled
handle
id
name
priceInclusions
priceList
primary
status
type
webPresence
}
mergeable {
errorFields
isMergeable
mergeInProgress
reason
}
multipassIdentifier
note
numberOfOrders
phone
productSubscriberStatus
smsMarketingConsent {
consentCollectedFrom
consentUpdatedAt
marketingOptInLevel
marketingState
sourceLocation
}
state
statistics {
predictedSpendTier
rfmGroup
}
tags
taxExempt
taxExemptions
taxSettings {
taxId
}
unsubscribeUrl
updatedAt
validEmailAddress
verifiedEmail
}
userErrors {
field
message
}
}
}
Variables
Pass these as a JSON object in the step's Variables field.
{
"input": {
"addresses": [
{
"address1": "string",
"address2": "string",
"city": "string",
"company": "string",
"country": "string",
"countryCode": "string",
"firstName": "string",
"id": "string",
"lastName": "string",
"phone": "string",
"province": "string",
"provinceCode": "string"
}
],
"email": "string",
"firstName": "string",
"id": "string",
"lastName": "string",
"locale": "string",
"metafields": [
{
"id": "string",
"namespace": "string",
"key": "string",
"value": "string",
"type": "string"
}
],
"note": "string",
"phone": "string",
"tags": [
"string"
],
"emailMarketingConsent": {
"marketingState": "NOT_SUBSCRIBED",
"marketingOptInLevel": "SINGLE_OPT_IN",
"consentUpdatedAt": "string",
"sourceLocationId": "string"
},
"smsMarketingConsent": {
"marketingState": "NOT_SUBSCRIBED",
"marketingOptInLevel": "SINGLE_OPT_IN",
"consentUpdatedAt": "string",
"sourceLocationId": "string"
}
}
}
Response
Read the result with {{customercreate.response.data.data.customerCreate}}. If the API returns errors, the step fails and they are at {{customercreate.response.data.errors}}.
Need more? See the Shopify guide for connection setup and behaviour shared by every action.
Was this page helpful?