How it works

Follow these 7 simple steps to start syncing HubSpot contacts to Shopify customers automatically

hubspot logo icon

Contact Updated

App connector: HubSpot • Time to complete: 0 minutes (Auto-configured)
Why this matters: This trigger monitors your HubSpot contacts and kicks off the workflow whenever contact information changes, making sure updates flow to Shopify without manual intervention.

This trigger checks your HubSpot account hourly for any contacts that have been updated. When it detects changes to a contact record, it captures the contact's email, first name, and last name, then passes this information to the next step. The hourly schedule means your data stays reasonably current without overwhelming your systems with constant checks.

Search Customer

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Before creating or updating anything, you need to know if this contact already exists as a Shopify customer—this prevents duplicate records and determines whether to update or create.

This step queries Shopify's customer database using the email address from the HubSpot contact. It searches for any customer records where the email matches and retrieves their Shopify customer ID if found. The search results get passed to the next step for filtering to make sure you're working with exact matches only.

Loop: Check email

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Shopify's search can sometimes return partial matches, so this filtering step makes sure you're only working with customers whose email exactly matches the HubSpot contact to prevent accidental updates to the wrong customer.

This step takes the search results from Shopify and filters them down to only customers where the email address exactly equals the HubSpot contact's email. If an exact match exists, it extracts that customer's ID for use in the update step. If no exact match is found, it returns an empty result which triggers the creation of a new customer instead.

Path 1 Rule

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: This rule checks whether the filter step found an existing customer—if it did, you'll update that customer rather than create a duplicate.

This rule examines whether the filtered customer list contains any results by checking if the first item exists and is not empty. If a customer ID was found in the previous filtering step, this path activates and sends the workflow to the Update Customer step. The check happens automatically using the data passed from the Map step.

Update Customer

App connector: Shopify • Time to complete: 1 minute
Why this matters: When a contact already exists in Shopify, you need to update their information rather than creating a duplicate customer record, keeping their purchase history and account intact while refreshing their details.

This step sends the updated contact information to Shopify and overwrites the existing customer's email, first name, and last name with the current values from HubSpot. You can add or remove fields to sync by editing the body configuration—for example, you might add phone number or company name if those fields exist in both systems. The customer ID from the Map step tells Shopify exactly which customer record to update.

Path 2 Rule

App connector: Paths • Time to complete: 0 minutes (Auto-configured)
Why this matters: This rule handles the opposite scenario—when no matching customer exists in Shopify, triggering the creation of a brand new customer record.

This rule checks whether the filtered customer list came back empty, meaning the HubSpot contact doesn't exist in Shopify yet. If no matching customer ID was found in the Map step, this path activates and routes to the Create Customer step instead. The logic runs automatically based on the filter results.

Shopify logo icon

Create Customer

App connector: Shopify • Time to complete: 1 minute
Why this matters: New HubSpot contacts need corresponding customer records in Shopify so they can make purchases and appear in your customer database—this step handles that creation automatically.

This step sends a request to Shopify to create a brand new customer using the email, first name, and last name from the HubSpot contact. You can customize which fields get included when creating the customer by editing the body configuration—just make sure any additional fields you add actually exist in your HubSpot contact properties. Once created, the customer will appear in your Shopify admin and can immediately place orders.

Make it your own

Customize this workflow even further:

Sync additional contact fields
Expand beyond just email and name by adding phone numbers, addresses, company names, or any custom properties you track in HubSpot—just map them to the corresponding Shopify customer fields in the Update and Create steps.
Add customer tags based on HubSpot lists
Use a Transform or Custom Code step after the Paths End to automatically tag Shopify customers based on which HubSpot lists they belong to, helping you segment customers for marketing campaigns.
Store sync history in MESA Tables
Add a Table step after both the Update and Create steps to log each sync with a timestamp, which contact was synced, and whether it was updated or created—perfect for auditing and troubleshooting.
Send Slack notifications for new customers
Add a Slack step after the Create Customer step to alert your team whenever a new HubSpot contact gets added to Shopify, keeping everyone informed about new customer acquisitions.

Frequently asked questions

What happens if the same contact gets updated multiple times in an hour?
The workflow processes the most recent version of the contact during its hourly check. If a contact gets updated three times between runs, only the final state gets synced to Shopify—you won't get three separate updates. This prevents unnecessary API calls while still keeping data current.
Can I sync contacts from multiple HubSpot lists or just one?
The trigger monitors all contacts in your HubSpot account regardless of which lists they're on. If you need to limit syncing to specific lists, you can add a Filter step after the trigger that checks list membership and only continues the workflow for contacts in your designated lists.
Will this overwrite custom fields I've manually added to Shopify customers?
No, the workflow only updates the specific fields you configure in the Update Customer step (by default: email, first name, last name). Any other fields you've added or customized in Shopify—like notes, tags, or addresses—remain untouched unless you explicitly add them to the workflow.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start syncing HubSpot contacts to Shopify customers automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 7 min setup • Cancel anytime