Customer
read_customers access scope.read_customers access scope.:Supported actions: create, update, delete
Subscribe to field-level changes on the Customer GraphQL Admin API object.
Each topic corresponds to a commerce resource that can exist independently within its domain. Child entities that depend on a parent within the same domain don't have their own topic. Instead, changes to child entities trigger a delivery on the parent topic. Calculated fields, derived fields, auto-updated timestamps, and cross-domain fields aren't available as triggers.
shopify.app.toml
Anchor to Supported triggersSupported triggers
Field-level triggers for Customer subscriptions.
All triggers require the read_customers access scope. Those triggers that require additional scopes are documented where relevant. Deprecated triggers are listed last.
Subscriptions can include multiple triggers. Use the shopify-webhook-id header for deduplication when handling duplicate deliveries.
Custom queries aren't limited to Customer. They can query the full GraphQL Admin API.
Fires when events involve the Customer object.
The "create" and "delete" actions are only relevant within the context of this parent topic. Use to follow or replicate impacted data after a delete event. Define a custom query to retrieve specific fields from create events.
customer.* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under customer, including nested triggers. Use a more specific trigger to limit events to the fields you need.
Variables:
Fires when the field on the Customer object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the addresses associated with the customer.
Variables: ,
Fires when the address1 field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The address1 field represents the first line of the address.
Variables: ,
Fires when the address2 field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The address2 field represents the second line of the address.
Variables: ,
Fires when the city field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The city field represents the name of the city, district, village, or town.
Variables: ,
Fires when the company field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The company field represents the name of the customer's company or organization.
Variables: ,
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the two-letter code for the country of the address.
Variables: ,
Fires when the latitude field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The latitude field represents the latitude coordinate of the customer address.
Variables: ,
Fires when the longitude field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The longitude field represents the longitude coordinate of the customer address.
Variables: ,
Fires when the phone field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The phone field represents a unique phone number for the customer.
Variables: ,
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the alphanumeric code for the region.
Variables: ,
Fires when the zip field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The zip field represents the zip or postal code of the address.
Variables: ,
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the total amount that the customer has spent on orders in their lifetime.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field indicates whether the customer has opted out of having their data sold.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the default address associated with the customer.
Variables:
Fires when the field on the Customer object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the customer's default email address.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the marketing subscription opt-in level, as described by the M3AAWG best practices guidelines, received when the marketing consent was updated.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field indicates whether the customer has subscribed to email marketing.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the date and time at which the marketing consent was updated.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field indicates whether the customer has opted in to having their opened emails tracked.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the location where the customer consented to receive marketing material by email.
Variables:
Fires when the field on the Customer object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the customer's default phone number.
Variables:
Fires when the field on the object changes.
is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under , including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the SMS marketing consent information for the customer's phone number.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the marketing subscription opt-in level that was set when the customer's marketing consent was last updated.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the location where the customer consented to receive marketing material.
Variables:
Fires when the state field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The state field represents the customer's current marketing consent state for this channel.
Variables:
Fires when the field on the object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the date and time when the marketing consent was updated.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the customer's first name.
Variables:
Fires when the image field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The image field represents the image associated with the customer.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the customer's last name.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the customer's last order.
Variables:
Fires when the locale field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The locale field represents the customer's locale.
Variables:
Fires when the metafield field on the Customer object changes.
customer.metafield(namespace: String!, key: String!).* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under customer.metafield(namespace: String!, key: String!), including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The metafield field represents a custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.
Variables: , ,
Fires when the metafield field on the Customer object changes.
customer.metafield(namespace: String!).* is a parent trigger. Subscribing with the "update" action receives events for all supported triggers under customer.metafield(namespace: String!), including nested triggers. Use a more specific trigger to limit events to the fields you need.
Include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
This subscription omits the optional argument metafield.key.
The metafield field represents a custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.
Variables: , ,
Fires when the value field on the Metafield object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The value field represents the data stored in the metafield.
Variables: , ,
Fires when the value field on the Metafield object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
This subscription omits the optional argument metafield.key.
The value field represents the data stored in the metafield.
Variables: , ,
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents a unique identifier for the customer that's used with Multipass login.
Variables:
Fires when the note field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The note field represents a note about the customer.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the number of orders that the customer has made at the store in their lifetime.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
Possible subscriber states of a customer defined by their subscription contracts.
Variables:
Fires when the state field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The state field represents the state of the customer's account with the shop.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field indicates whether the customer is exempt from being charged taxes on their orders.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field represents the list of tax exemptions applied to the customer.
Variables:
Fires when the field on the Customer object changes.
Subscribe to this trigger with the "update" action and include the field in a custom query to retrieve updated data from the payload.
You can trace the field in subsequent requests using .
The field indicates whether the customer has verified their email address.
Variables: