Sync new WooCommerce customers to HubSpot and Klaviyo
When a new customer signs up in your WooCommerce store, instantly add them to HubSpot as a lead and to your Klaviyo marketing list.
Build a code workflow that mirrors every new WooCommerce customer into HubSpot CRM and Klaviyo so sales follow-up and email marketing can start immediately.
Trigger: a WooCommerce outgoing webhook on the customer.created event. The webhook payload includes the customer's id, email, first_name, last_name, date_created, and billing object (city, country, phone).
Step 1: Call HubSpot Create Contact with the WooCommerce customer's email, first name, and last name, and set the lifecycle stage property to 'lead'. If HubSpot returns a 409 conflict because the contact already exists by email, treat it as success and continue.
Step 2: Call Klaviyo Create or Update Profile (Upsert) using the same email as the matching identifier. Pass first name and last name as profile attributes, and include the WooCommerce signup date, billing city, and billing country as profile properties so segments and flows can use them. Capture the returned Klaviyo profile id.
Step 3: Call Klaviyo Subscribe Profiles (Bulk) to add the new profile to a configurable marketing list (expose the list id as a workflow input). Subscribe to email marketing with a custom_source of 'WooCommerce signup'.
Inputs the workflow should expose: the HubSpot lifecycle stage (default 'lead'), the Klaviyo list id, and a toggle for whether to subscribe to email, SMS, or both.
This is a deterministic CRUD pipeline with no reasoning required, so build it as a fixed code workflow with three discrete nodes in sequence, not an agent. Add basic error handling on each node so a transient failure in one downstream service does not block the others.
Additional information
What does this prompt do?
- Listens for new customer signups in your WooCommerce store the moment they happen.
- Creates a matching contact in HubSpot with the customer's name and email, tagged as a lead so sales can follow up.
- Adds the same customer to Klaviyo with their signup date, city, and country so your email marketing has the context it needs.
- Subscribes the customer to a marketing list of your choice so welcome emails and campaigns start right away.
What do I need to use this?
- A WooCommerce store you can log into as an admin.
- A HubSpot account with permission to create contacts.
- A Klaviyo account with permission to add and subscribe profiles.
- The name of the Klaviyo list you want new customers added to.
How can I customize it?
- Change the lifecycle stage in HubSpot from lead to subscriber, customer, or any other stage your team uses.
- Swap the Klaviyo list so new signups land in a different audience, like a VIP list or a regional segment.
- Add or remove the customer fields you sync, such as phone number, billing address, or the WooCommerce customer ID for later lookups.
Frequently asked questions
Will existing customers in HubSpot or Klaviyo get duplicated?
How fast does this run after a new customer signs up?
Do I need a paid HubSpot or Klaviyo plan?
Can I add the customer to more than one Klaviyo list?
What happens if HubSpot or Klaviyo is down when a signup comes in?
Stop running two separate sync tools for every new WooCommerce customer.
Connect WooCommerce, HubSpot, and Klaviyo once, and Geni keeps your CRM and email marketing perfectly in sync from the second someone signs up.