user.signuptrial.startedlesson.completed|Actionsadd_to_listremove_from_listupdate_propertyThe event names shown here are examples. In Meshes, event types are fully customized for each organization.
What you can do
Create the HubSpot connection in your Meshes workspace with OAuth. Once the account is authorized, Meshes loads the live lists and properties available to that HubSpot portal so rules can target real destinations instead of hardcoded IDs.
HubSpot is often where lifecycle segmentation becomes operational. When user.signup or trial.started lands, teams want the contact in the right list, the right properties updated, and downstream automation ready immediately.
Meshes keeps that logic in your event-routing layer instead of your signup handler or background workers. You emit the event once, map the fields in your Meshes workspace, and let Meshes handle delivery, retries, and replay if HubSpot is temporarily unavailable.
add_to_listUse signup, trial, or activation events to place contacts into the lifecycle list that should trigger HubSpot automation next.
remove_from_listMove users out of the old nurture or trial list when the product event means they have advanced, converted, or churned.
update_propertyMap plan, onboarding stage, qualification, or milestone fields into HubSpot contact properties so reporting and automation use current product data.
Common use cases
These are the workflows where this destination tends to matter first. The point is to keep the product event, the destination action, and the operational retry path in one place.
Route user.signup into the right HubSpot list and set initial lifecycle properties the moment a new account is created.
Use lesson.completed or page completion events to update progress fields that sales, success, and lifecycle marketing can all read.
Capture visits to pricing, upgrade, or purchase-intent pages and write that context into HubSpot so follow-up happens with better timing.
See the high-intent routing guideLet HubSpot automation react to the product event itself instead of waiting for a nightly sync or CSV export to catch up.
How it works
In Meshes, the operating model is simple: create the connection in the workspace, create the rule, then let the event delivery layer handle the last mile.
Create a HubSpot connection in Meshes, authorize the portal, and confirm the lists and properties you expect are visible in the rule builder.
Create rules for events like user.signup or trial.started, choose add_to_list or update_property, then map Meshes event fields into the selected HubSpot targets.
Emit the product event from your app or use Send Test Event in Meshes. Meshes delivers to HubSpot, retries transient failures, and keeps per-delivery history for replay.
Event example
import MeshesEventsClient from '@mesheshq/events';
const meshes = new MeshesEventsClient(
process.env.WORKSPACE_PUBLISHABLE_KEY!,
);
await meshes.emit({
event: 'user.signup',
resource: 'user',
resource_id: 'usr_2048',
payload: {
email: 'alex@northstar.io',
first_name: 'Alex',
last_name: 'Nguyen',
plan: 'growth',
source: 'product-led',
},
});Connection model
Create the HubSpot connection in your Meshes workspace with OAuth. Once the account is authorized, Meshes loads the live lists and properties available to that HubSpot portal so rules can target real destinations instead of hardcoded IDs.
Why Meshes
The benefit is not just that the destination is supported. It is that the destination sits inside the same fan-out, retry, replay, and delivery-visibility layer as the rest of your stack.
Meshes can drive both membership changes and property updates from the same source event, so HubSpot automation starts with consistent state.
When HubSpot fields change, you update the Meshes rule and mappings instead of shipping a new destination-specific deploy path.
A transient HubSpot failure does not have to become missing lifecycle state. Meshes captures the attempt, retries it, and lets you replay after a fix.
If you expose Meshes workspaces to customers, each workspace can connect its own HubSpot account while your product keeps one event-emission path.
Keep exploring
These links are the next layer down: concrete patterns, supporting documentation, and the build-vs-buy context that usually comes up during evaluation.
Catalog
Browse the full destination catalog and compare HubSpot with the rest of the Meshes integration surface.
Open linkDocs
See the HubSpot connection flow, rule setup, and testing steps in the product docs.
Open linkUse Case
See how one user.signup event can update CRM, lifecycle email, support, and internal alerts at the same time.
Guide
See a concrete pattern for writing signup data into HubSpot contact properties from Meshes.
Open linkGuide
Use lesson.completed to keep HubSpot progress fields in sync with product education milestones.
Compare
See what it costs to own HubSpot retries, field mapping, replay, and delivery visibility yourself.
Open linkuser.signup once, let Meshes update lists and properties in HubSpot, and keep lifecycle automation aligned with the product state your teams actually care about.