updateCustomersWorkflow - Medusa Core Workflows Reference

This documentation provides a reference to the updateCustomersWorkflow. It belongs to the @medusajs/medusa/core-flows package.

This workflow updates one or more customers. It's used by the Update Customer Admin API Route and the Update Customer Store API Route.

This workflow has a hook that allows you to perform custom actions on the updated customer. For example, you can pass under additional_data custom data to update custom data models linked to the customers.

You can also use this workflow within your customizations or your own custom workflows, allowing you to wrap custom logic around updating customers.

Source Code

Examples#

Steps#

Workflow hook

Step conditioned by when

View step details

Input#

UpdateCustomersWorkflowInputUpdateCustomersWorkflowInput
The data to update one or more customers, along with custom data that's passed to the workflow's hooks.
The filters to select the customers to update.
The data to update in the customers.
additional_dataRecord<string, unknown>Optional
Additional data that can be passed through the additional_data property in HTTP requests. Learn more in this documentation.

Output#

CustomerDTO[]CustomerDTO[]
idstring
The ID of the customer.
emailstring
The email of the customer.
has_accountboolean
A flag indicating if customer has an account or not.
default_billing_address_idnull | string
The associated default billing address's ID.
default_shipping_address_idnull | string
The associated default shipping address's ID.
company_namenull | string
The company name of the customer.
first_namenull | string
The first name of the customer.
last_namenull | string
The last name of the customer.
The addresses of the customer.
phonenull | string
The phone of the customer.
groupsobject[]
The groups of the customer.
metadataRecord<string, unknown>
Holds custom data in key-value pairs.
created_bynull | string
Who created the customer.
deleted_atnull | string | Date
The deletion date of the customer.
created_atstring | Date
The creation date of the customer.
updated_atstring | Date
The update date of the customer.

Hooks#

Hooks allow you to inject custom functionalities into the workflow. You'll receive data from the workflow, as well as additional data sent through an HTTP request.

Learn more about Hooks and Additional Data.

customersUpdated#

Handlers consuming this hook accept the following input.

invokeInvokeFn<object, TOutput, TCompensateInput>
The type of invocation function passed to a step.
compensateCompensateFn<TCompensateInput>Optional
The type of compensation function passed to a step.
Was this page helpful?
Ask Anything
FAQ
What is Medusa?
How can I create a module?
How can I create a data model?
How do I create a workflow?
How can I extend a data model in the Product Module?
Recipes
How do I build a marketplace with Medusa?
How do I build digital products with Medusa?
How do I build subscription-based purchases with Medusa?
What other recipes are available in the Medusa documentation?
Chat is cleared on refresh
Line break