• 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
  • Blog
  • Contact
  • FAQ
Product
  • Pricing
  • Demo
  • Security
  • Changelog
  • Status
Compare
  • All comparisons
  • Build vs buy
  • vs Zapier
  • vs Make
  • vs n8n
  • vs Paragon
  • vs Merge
Use Cases
  • All use cases
  • Payment failed
  • User signup fan-out
  • Churn prevention
  • Trial expired events
  • Lesson completion flows
  • Page completion triggers
  • Page visit Intercom flows
Developers
  • Documentation
  • Agents
  • API Reference
  • MCP Server
  • llms.txt
Legal
  • Terms of Service
  • Privacy Policy
  • Acceptable Use Policy
  • Cookie Policy

Use CaseCancellation signals

Churn Prevention - Route Cancellation Signals to the Right Teams

Cancellation events are some of the highest-signal inputs your team gets. The problem is not seeing them eventually. It is getting the right cancellation context to CS, RevOps, and lifecycle tools quickly enough to act. Meshes routes subscription.cancelled to the systems that need it with reliable delivery and per-destination history.

Start freeView documentation

Event: subscription.cancelled · Destinations: Intercom, Salesforce, Slack

The problem

Why this workflow breaks down without a delivery layer

A cancellation signal trapped in your billing system is too late by the time it reaches customer success manually. RevOps wants the revenue context, support wants the reason, and lifecycle teams want the signal in Intercom fast enough to start offboarding or a win-back flow.

Teams often patch this together with one CRM webhook, one Slack notifier, and one internal job that writes churn data somewhere later. The result is inconsistent timing and conflicting data across tools exactly when the account is most at risk.

If the cancellation event fails to reach one destination, the customer record stays stale, the alert never lands, and your churn analysis has holes in it. This is where delivery guarantees matter, not just basic webhook forwarding.

The event flow

One event in. Every downstream system stays in sync.

Each use case follows the same product story: Meshes receives the source event once, maps it to the right destinations, and keeps delivery visible when downstream APIs fail.

Event payload

subscription.cancelled

{
  "customer_id": "cus_5501",
  "subscription_id": "sub_5501",
  "email": "sam@bluebird.app",
  "plan": "pro",
  "reason": "missing_salesforce_sync",
  "cancellation_date": "2026-03-20",
  "mrr_lost": 249,
  "tenure_months": 14
}

Intercom

Meshes tags the user so win-back or offboarding sequences can branch on cancellation state.

Lifecycle messaging starts from the real cancellation event instead of an export or support note.

Salesforce

Meshes updates cancellation reason, MRR impact, and date fields in Salesforce.

CS and RevOps can prioritize outreach and analyze churn with current revenue context.

Slack

Meshes sends a structured alert to #cs-alerts with plan, reason, tenure, and MRR lost.

The team sees churn signals in real time instead of after someone refreshes a report.

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

subscription.cancelled enters Meshes once

import MeshesEventsClient from '@mesheshq/events';

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

await meshes.emit({
  event: 'subscription.cancelled',
  resource: 'subscription_plan',
  resource_id: 'pro',
  payload: {
    customer_id: 'cus_5501',
    subscription_id: 'sub_5501',
    email: 'sam@bluebird.app',
    plan: 'pro',
    reason: 'missing_salesforce_sync',
    cancellation_date: '2026-03-20',
    mrr_lost: 249,
    tenure_months: 14,
  },
});

Across destinations

Each downstream tool gets the context it needs

  • • Intercom receives cancellation-state context for offboarding or win-back messaging.
  • • Salesforce receives cancellation reason, tenure, and MRR impact for CS and RevOps workflows.
  • • Slack receives a structured churn alert with the account context the team needs right away.

On every delivery

Retries, replay, and delivery history stay built in

  • • Each destination gets independent retry handling, so a CRM outage does not stop the Slack alert from reaching the team.
  • • Replay lets you resend failed cancellation deliveries after you fix credentials or action mappings without duplicating successful destinations.
  • • Delivery history gives you an auditable record of when the churn signal reached each tool and what happened on failure.

Why this matters

Business impact, not just API plumbing

Move while the signal is fresh

If the right team sees the cancellation immediately, you have a chance to recover the account or at least understand the churn reason while context is still fresh.

Keep revenue context intact

Slack needs a human alert, Salesforce needs structured revenue fields, and Intercom needs segmentation. Routing one event cleanly keeps those views consistent.

Turn churn into an observable workflow

Cancellation routing should not be a black box. Meshes makes it clear which downstream system received the signal and which one needs attention.

Related

Keep going with docs, integrations, and deeper architecture reading

Docs

Quickstart

See the same event-routing pattern behind this cancellation workflow.

Open link

Docs

Integrations & Rules

See how Meshes routes one cancellation signal to multiple downstream systems.

Open link

Integration

Intercom Integration

Apply tags so lifecycle and support messaging can react to churn signals.

Open link

Integration

Salesforce Integration

Update revenue and cancellation context inside Salesforce from event-driven rules.

Open link

Integration

Slack Integration

Send churn alerts directly into the channel your CS team monitors.

Open link

Blog

Event Routing for SaaS

See how cancellation signals can route to different destinations based on the event itself.

Open link

Compare

Meshes vs. DIY

Compare observable churn routing with maintaining cancellation workers and queue logic yourself.

Open link

Next stepStart free or view the documentation

Make cancellation signals immediately actionable

Route subscription.cancelled through Meshes once and keep CS, RevOps, and lifecycle systems working from the same churn signal.

Start freeView documentation