What This Integration Does
This integration feeds HubSpot lifecycle data, deal stage changes, and contact properties into Klaviyo as profile properties and events, enabling you to build email and SMS flows that respond to CRM activity rather than just email engagement. When a contact moves from marketing qualified lead to sales qualified lead in HubSpot, Klaviyo knows. When a deal moves to negotiation stage, Klaviyo knows. When a contact’s industry or company size is updated in HubSpot, Klaviyo’s profile reflects that change.
HubSpot manages the sales pipeline. Klaviyo manages the messaging. This integration ensures Klaviyo always has the CRM context it needs to send the right message at the right stage of the buyer journey.
The connection is primarily one-directional — HubSpot pushes data to Klaviyo. Klaviyo engagement data (email opens, SMS responses) stays in Klaviyo where it is used for flow logic and segmentation. If you need engagement data written back to HubSpot, that can be added as a secondary sync, but for most teams the value is in getting CRM context into Klaviyo, not the reverse.
The Workflow
The integration listens for changes in HubSpot via webhooks. When a contact property changes, a deal stage advances, or a lifecycle stage is updated, HubSpot sends a webhook notification. The integration receives the notification, fetches the full contact record from HubSpot’s API, and pushes the relevant data into Klaviyo.
Two types of data are sent to Klaviyo. Profile properties carry the current state of the contact — lifecycle stage, deal stage, owner, industry, company size, and any custom properties you want available for segmentation. Events carry the transitions — “Lifecycle Stage Changed”, “Deal Stage Advanced”, “Contact Owner Changed” — with properties describing the change (previous stage, new stage, timestamp). This distinction is important because Klaviyo segments filter on profile properties while flows trigger on events.
For example, when a deal moves from “Proposal Sent” to “Closed Won” in HubSpot, the integration sends a profile property update (deal stage = Closed Won) and a tracked event (“Deal Closed Won” with deal value and product line as event properties). Klaviyo can then trigger a welcome flow for new customers based on the event, and your ongoing segments can filter on the property.
The initial sync handles the bulk transfer of existing HubSpot contacts into Klaviyo profiles. After that, webhooks handle ongoing changes in near real time.
Before and After
Before: Klaviyo operates in isolation from your sales pipeline. Your email flows are triggered by email engagement or form submissions only. A contact who has just entered sales negotiations receives the same nurture sequence as someone who enquired six months ago and went cold. Lifecycle stage changes in HubSpot have no effect on the messaging a contact receives. The marketing and sales experiences feel disconnected.
After: Klaviyo flows respond to CRM events. When a lead becomes sales qualified, they exit the marketing nurture and enter a sales support flow. When a deal closes, they receive onboarding content tailored to their product line. Segments in Klaviyo reflect the actual pipeline position of every contact. Your messaging adapts to the buyer journey as it unfolds in HubSpot, not just as it appears in the inbox.
Who Needs This
This integration is for teams that manage their pipeline in HubSpot and send lifecycle marketing through Klaviyo. It is the right choice if:
- You want Klaviyo flows triggered by HubSpot events — lifecycle stage changes, deal stage advances, contact property updates
- You need Klaviyo segments based on CRM data (industry, deal value, customer tier, owner) rather than just email behaviour
- Your marketing nurture flows should adapt when a contact moves deeper into the sales pipeline
- You use Klaviyo for post-sale onboarding or retention messaging and need deal data to personalise those flows
- Your marketing and sales teams operate in different tools but need the messaging to feel like a single experience
How We Build This
We start by defining which HubSpot properties and events should flow into Klaviyo. Not every CRM field is useful for messaging — we identify the properties that drive segmentation and the transitions that should trigger flows.
HubSpot webhooks are configured through a custom app with the required scopes for contacts, deals, and lifecycle events. Each webhook is processed in a background queue with deduplication logic, since HubSpot can send multiple notifications for the same change. After deduplication, the integration fetches the full contact record from HubSpot’s v3 API to ensure it has the latest data.
Klaviyo receives the data through its v3 APIs. Profile updates go through the Profiles API with upsert logic keyed on email address. Events go through the Events API with a defined metric name and structured properties. We define a clear naming convention for metrics and properties so your Klaviyo account stays organised as the integration grows.
The initial bulk sync uses HubSpot’s Search API to pull contacts in batches and Klaviyo’s batch endpoints to create profiles efficiently. After the initial sync, webhooks handle everything incrementally.
Testing covers the full event lifecycle: property changes flowing through as profile updates, stage transitions creating events, flows triggering on those events, and segments filtering on the updated properties. We also verify that the initial bulk sync completes cleanly and that subsequent webhook-driven updates are consistent with the bulk data.
Start Aligning Your Email Marketing With Your Sales Pipeline
If your Klaviyo flows cannot see what is happening in HubSpot, your messaging is blind to the most important signals in your business. We build the integration that gives Klaviyo the CRM context it needs to send the right message at the right time.
Get in touch to discuss your HubSpot and Klaviyo integration.
Related pages: