• Use Cases
  • Pricing
  • Security
  • Docs
Sign InStart free

The outbound integration layer for SaaS products: emit once, then let Meshes handle routing, retries, fan-out, and delivery history.

© Copyright 2026 Meshes, Inc. All Rights Reserved.

About
  • About
  • Security
  • Blog
  • Contact
  • FAQ
Product
  • Pricing
  • Demo
  • Integrations
  • Guides
  • Changelog
  • Status
Compare
  • All comparisons
  • Build vs buy
  • vs Paragon
  • vs Merge
  • vs n8n
  • vs Zapier
  • vs Make
Use Cases
  • All use cases
  • Embedded CRM sync
  • Per-tenant Slack
  • HMAC webhooks
  • Multi-env workspaces
  • Payment failed
  • User signup fan-out
  • Churn prevention
  • Trial expired events
Developers
  • Documentation
  • Agents
  • Tools
  • API Reference
  • MCP Server
  • llms.txt
Legal
  • Terms of Service
  • Privacy Policy
  • Acceptable Use Policy
  • Cookie Policy

Use CaseBehavior-driven onboarding

Page Completion Triggers - Automate Onboarding From Real User Progress

Activation should move when the user moves. Meshes lets SaaS setup flows, membership portals, and onboarding wizards route page.completed into every workspace — each with its own connected CRM updates, lifecycle automation, Intercom guidance, and internal visibility — without waiting for a nightly batch or a time-based drip to catch up.

Start freeView documentation

Event:page.completed· Destinations:HubSpotActiveCampaignIntercomSlack

The problem

Why this workflow breaks down without a delivery layer

Most onboarding sequences still run on clocks instead of behavior. That creates the worst possible user experience: users complete a step and still get nudged to do it again because the downstream systems in that workspace never heard about the progress update in time.

The technical problem is not detecting that a page or step was completed. It is getting that signal into the systems that drive email, in-app messaging, and internal follow-up per workspace without building a fragile chain of destination-specific handlers.

This pattern applies far beyond course products — SaaS setup flows, activation wizards, membership onboarding, and any product where finishing step 3 should change what happens next immediately, in every tenant and every environment.

The event flow

One event in. Every downstream system stays in sync.

Meshes receives the source event once, maps it to the right destinations per workspace, and keeps delivery visible when downstream APIs fail.

Event payload

page.completed
{
  "user_id": "usr_5012",
  "email": "alex@northstar.io",
  "page_id": "page_connect-crm",
  "page_title": "Connect your CRM",
  "sequence_step": 3,
  "completed_at": "2026-03-21T15:06:00Z",
  "time_on_page_seconds": 522
}
HubSpot

Meshes updates onboarding-step fields using the workspace's HubSpot connection.

Each workspace's CRM stays aligned with actual setup progress instead of stale assumptions.

ActiveCampaign

Meshes applies the next-step tag in the workspace's ActiveCampaign connection to trigger the right follow-up.

Email automation inside each workspace moves as soon as the user completes the page, not hours later.

Intercom

Meshes tags the user via the workspace's Intercom connection for context-aware in-app guidance tied to the new onboarding state.

The next tutorial or message in each workspace can appear with the right context instead of guessing what the user already finished.

Slack

Meshes sends a progress update to the workspace's connected Slack channel with the sequence step and page context.

CS, implementation, or product teams inside each workspace can spot activation movement and stalls in real time.

How Meshes handles it

What Meshes takes off your team's plate

Instead of maintaining separate workers, retry logic, and visibility per destination, Meshes gives you one event path, destination-aware routing, and built-in delivery guarantees.

From your product

page.completedenters Meshes once

import MeshesEventsClient from '@mesheshq/events';

const meshes = new MeshesEventsClient(
  process.env.WORKSPACE_PUBLISHABLE_KEY!,
);

await meshes.emit({
  event: 'page.completed',
  resource: 'onboarding_sequence',
  resource_id: 'workspace-setup',
  payload: {
    user_id: 'usr_5012',
    email: 'alex@northstar.io',
    page_id: 'page_connect-crm',
    page_title: 'Connect your CRM',
    sequence_step: 3,
    completed_at: '2026-03-21T15:06:00Z',
    time_on_page_seconds: 522,
  },
});

Across destinations

Each downstream tool gets the context it needs

  • • Each workspace owns the rules that decide which onboarding events should fire to which destinations.
  • • Retries and replay per workspace protect the activation path when one provider is slow or temporarily unavailable.
  • • Internal environment workspaces reuse the same rules against sandbox destinations, so dev and staging onboarding events never move a real CRM record.

On every delivery

Retries, replay, and delivery history stay built in

  • • Meshes routes the same completion signal to every destination inside a workspace in parallel, so email, CRM, and in-app guidance stop drifting out of sync.
  • • Per-destination delivery history makes it easy to see whether the next-step signal actually reached the systems each onboarding flow relies on.
  • • Per-workspace credentials keep one tenant's OAuth and field mapping from bleeding into another tenant's onboarding.

Why this matters

Business impact, not just API plumbing

Onboarding that advances the moment the user is ready

When step completion triggers the next sequence immediately inside the workspace, activation feels responsive instead of artificially delayed.

No stale or contradictory nudges

No team wants to email someone about a step they already finished. Behavior-driven routing keeps follow-up based on reality — in every workspace.

One pattern across product types and tenants

This is just as useful for customer-facing SaaS setup flows and membership onboarding as it is for course-style sequences. Meshes gives every workspace a reusable routing layer.

Related

Docs, integrations, and deeper architecture reading

Docs

Send Events

See the event-ingestion pattern behind behavior-driven onboarding flows.

Open link

Docs

Integrations & Rules

See how a single onboarding event can fan out into multiple follow-up systems per workspace.

Open link

Integration

HubSpot Integration

Keep onboarding fields and segmentation current inside each workspace's HubSpot.

Open link

Integration

Intercom Integration

Trigger context-aware in-app messaging from real onboarding progress, per workspace.

Open link

Blog

Build a Reliable Integration Layer

See why activation workflows break when delivery logic is scattered across ad hoc jobs.

Open link

Use Case

Page Visit Triggers for Intercom

See a companion pattern for launching in-app guidance from visit intent instead of page completion.

Open link

Compare

Meshes vs. DIY

Compare behavior-driven onboarding with maintaining brittle step-completion workers yourself.

Open link

Next stepStart free or view the documentation

Let onboarding progress trigger the next step immediately

Route page.completed through Meshes once and let every workspace's email, in-app guidance, and team visibility stay aligned with what the user actually finished.

Start freeView documentation