user.signuptrial.startedpayment.succeeded|Actionssend_email_templatesend_emailThe event names shown here are examples. In Meshes, event types are fully customized for each organization.
What you can do
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. You connect SendGrid once, create rules for the events that matter, map the fields each email needs, and let Meshes handle delivery history and retries alongside the rest of your destinations.
send_email_templateTrigger a SendGrid Dynamic Template when the event should send a transactional or lifecycle message with mapped template variables.
send_emailRender an HTML email body directly from the rule with {{variable}} interpolation from the event payload and mapped fields.
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.
Use user.signup to send the first transactional template while other rules update CRM or lifecycle audiences from the same event.
Use trial.started to trigger the template that explains next steps, activation milestones, or plan-specific onboarding.
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.
The same event can still drive CRM, lifecycle, support, and internal alerts while SendGrid handles the customer-facing message path.
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 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.
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.
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
import MeshesEventsClient from '@mesheshq/events';
const meshes = new MeshesEventsClient(
process.env.WORKSPACE_PUBLISHABLE_KEY!,
);
await meshes.emit({
event: 'trial.started',
resource: 'user',
resource_id: 'usr_2048',
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
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
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.
Transactional email does not need a separate delivery service when the product event already exists. Meshes lets the event drive SendGrid directly.
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.
The same signup or billing event can trigger SendGrid, CRM updates, lifecycle routing, and internal notifications without duplicating emission logic.
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
Return to the integrations catalog and compare SendGrid with the rest of the Meshes delivery surface.
Open linkDocs
SendGrid setup steps, supported actions, and field mapping guidance.
Open linkUse Case
Example of one signup event driving email, CRM, and lifecycle automation from the same Meshes event.
Open link