• 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

IntegrationEmail / Marketing destination

SendGrid logoSendGrid Integration - Transactional Emails from Product Events

Meshes routes product events into SendGrid through Dynamic Templates and inline HTML email sends. That keeps transactional email in the same delivery layer as CRM updates, audience changes, and internal notifications instead of splitting email into a separate custom worker.

Start freeView documentation
DestinationSendGrid|AuthenticationAPI Key|Example eventsuser.signuptrial.startedpayment.succeeded|Actionssend_email_templatesend_email

The event names shown here are examples. In Meshes, event types are fully customized for each organization.

What you can do

Supported actions with real product context behind them

Create the SendGrid connection in Meshes with an API key. Send-only keys work for inline HTML email rules, and adding Templates read access lets Meshes load Dynamic Templates for template-based rules.

Transactional email usually starts as a small helper in application code and gradually turns into a brittle destination-specific path. Welcome flows, billing notices, lifecycle nudges, and handoff messages all depend on current product state, but they also need retries, visibility, and a clean way to evolve templates over time.

Meshes keeps SendGrid delivery attached to the event stream instead of the controller or job that first emitted the signal. A SendGrid connection lives in the workspace, rules bind the events that matter, field mappings shape each email, and Meshes handles delivery history and retries alongside the workspace's other destinations.

send_email_template

Send Dynamic Template email

Trigger a SendGrid Dynamic Template when the event should send a transactional or lifecycle message with mapped template variables.

send_email

Send inline HTML email

Render an HTML email body directly from the rule with {{variable}} interpolation from the event payload and mapped fields.

Common use cases

Where Meshes teams put SendGrid to work

Workflows where this destination tends to matter first — the product event, the destination action, and the operational retry path living inside the same workspace.

Welcome sequence triggered on signup

Use user.signup to send the first transactional template while other rules update CRM or lifecycle audiences from the same event.

See the signup fan-out use case

Trial onboarding and conversion prompts

Use trial.started to trigger the template that explains next steps, activation milestones, or plan-specific onboarding.

Billing confirmations and receipts from product state

Use payment.succeeded to send the right confirmation email as soon as the billing event lands, without adding a separate email job in your app.

Email delivery inside the same event fan-out layer

The same event can still drive CRM, lifecycle, support, and internal alerts while SendGrid handles the customer-facing message path.

How it works

Connection, rule, event — the three-step operating model

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.

1

Connect SendGrid

Create the SendGrid connection in Meshes with the API key. If you plan to use template-based rules, confirm the Dynamic Templates you expect are visible in the connection action data.

2

Create routing rules in Meshes

Create rules for events like user.signup or trial.started, choose send_email_template or send_email, then map the event fields Meshes should use for the recipient and template data. Template-based rules also require a from address.

3

Emit the event and review delivery

Emit the event from your app or use Send Test Event in Meshes. Meshes renders the SendGrid action, retries transient failures, and keeps per-delivery history for inspection or replay.

Event example

Emit the product event once

import MeshesEventsClient from '@mesheshq/events';

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

await meshes.emit({
  event: 'trial.started',
  resource: 'subscription_plan',
  resource_id: 'growth',
  payload: {
    email: 'alex@northstar.io',
    first_name: 'Alex',
    last_name: 'Nguyen',
    trial_days_remaining: 14,
    template_variables: {
      firstName: 'Alex',
      workspaceName: 'Northstar',
      trialEndsAt: '2026-04-18T00:00:00Z',
    },
  },
});

Connection model

API Key

Create the SendGrid connection in Meshes with an API key. Send-only keys work for inline HTML email rules, and adding Templates read access lets Meshes load Dynamic Templates for template-based rules.

Why Meshes

Why teams use Meshes for SendGrid

SendGrid sits inside the same fan-out, retry, replay, and delivery-visibility layer as every other destination — customer-connected or internal — that the workspace owns.

Email stays attached to the event that caused it

Transactional email does not need a separate delivery service when the product event already exists. Meshes lets the event drive SendGrid directly.

Template data and retries stay visible

If a template mapping is wrong or SendGrid is transiently unavailable, the failed attempt is visible in Meshes and can be retried after the fix.

One event can still fan out across the stack

The same signup or billing event can trigger SendGrid, CRM updates, lifecycle routing, and internal notifications without duplicating emission logic.

Keep exploring

Related guides, use cases, docs, and comparison pages

Concrete patterns, supporting documentation, and build-vs-buy context that usually come up during evaluation.

Catalog

All integrations

Return to the integrations catalog and compare SendGrid with the rest of the Meshes delivery surface.

Open link

Docs

SendGrid Integration Docs

SendGrid setup steps, supported actions, and field mapping guidance.

Open link

Use Case

User signup fan-out

Example of one signup event driving email, CRM, and lifecycle automation from the same Meshes event.

Open link

Next stepStart free, read the docs, or browse the catalog

Start sending SendGrid email from product events

Emit the product event once, let Meshes trigger the SendGrid template or inline email, and keep delivery in the same event layer as the rest of your routing.

Start freeView documentationSee all integrations