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 the event-routing layer instead of signup handlers or background workers. The event emits once, field mappings live in the Meshes workspace, and Meshes handles 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
Workflows where this destination tends to matter first — the product event, the destination action, and the operational retry path living inside the same workspace.
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
A connection lives in the workspace, a rule binds the event to the action, and the delivery layer handles the last mile with retries, replay, and per-destination history.
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: 'subscription_plan',
resource_id: 'growth',
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
HubSpot sits inside the same fan-out, retry, replay, and delivery-visibility layer as every other destination — customer-connected or internal — that the workspace owns.
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
Concrete patterns, supporting documentation, and build-vs-buy context that usually come up during evaluation.
Catalog
Browse the full destination catalog and compare HubSpot with the rest of the Meshes integration surface.
Open linkDocs
HubSpot connection flow, rule setup, and testing steps in the product docs.
Open linkUse Case
Example of one user.signup event updating CRM, lifecycle email, support, and internal alerts at the same time.
Guide
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
Breakdown of 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.