Sending too late because of contact sync delay
Syncing to a marketing platform before sending a welcome email adds latency. Users notice when the welcome email arrives 10 minutes after signup.
SaaS email template
The welcome email is the first impression. Fire it from a user.signed_up event. Personalise it with plan, name and a clear first step — no marketing list required.
Syncing to a marketing platform before sending a welcome email adds latency. Users notice when the welcome email arrives 10 minutes after signup.
A welcome email for a Free-plan user should differ from one for a Pro-plan user — different features, different CTA, different urgency.
Welcome emails with no CTA or five CTAs both fail. One clear action — "Create your first project" or "Connect your provider" — performs better.
Welcome email logic buried in the signup handler means every copy change requires a developer, a PR and a deployment.
No contact sync. The welcome email fires the moment your backend emits user.signed_up.
Include the plan in the event payload. Rules route Free-plan users to a simpler welcome; Pro-plan users get a richer activation email.
Welcome email copy lives in the else.events template editor. Marketing or product teams edit it directly — no PR, no deploy.
Template history is saved automatically. Locale-specific welcome emails route based on the user's locale in the event payload.
// user.signed_up event payload
{
"type": "user.signed_up",
"user": { "email": "new@example.com", "name": "Alex" },
"data": {
"plan": "Pro",
"app_url": "https://app.example.com/dashboard",
"docs_url": "https://docs.example.com/getting-started",
"trial_ends_at": "2026-06-25"
}
} else.events matches the rule for event type user.signed_up, selects the welcome template for the Pro plan, renders it with the payload data and delivers it through your configured provider.
Include these in your user.signed_up event payload:
{{ user.name }} Recipient first name for the greeting line {{ user.email }} Confirmation of the registered email address {{ data.plan }} Plan name — used to tailor the CTA and feature highlights {{ data.app_url }} Link to the app dashboard for the primary CTA {{ data.docs_url }} Link to getting-started documentation (optional) {{ data.trial_ends_at }} Trial expiry date — shown for trial-plan users Fire user.signed_up. else.events handles the plan-aware welcome email. No marketing list required.