Automations for modern emails

Send emails based on custom event triggers. Build multi-step workflows powered by your data.

Automations / Black Friday

order.createdCustom event
Wait for event
order.completed event received ∙ 2 hours max
Event received
2 hours
Send email
Coupon
Send email
Abandoned cart
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.events.send({
event: 'user.created',
email: 'steve.wozniak@gmail.com',
payload: {
plan: 'pro',
},
});
Custom Events

Trigger actions via custom events

Define events with strongly typed schemas and trigger them via API. Whether it's a user sign up, a payment failing, or an order shipping. Your data, your events.

Control the flow

Orchestrate every step of your workflow

Build multi-step workflows with precise timing and logic. Decide when emails go out, who gets them, and what happens next.

Conditional Paths

Branch your workflow based on contact data or event properties. Send emails to different segments without building separate automations.

Learn more

Wait for event

Pause a workflow until a specific event occurs. Then, fire the next step when the user takes action, such as clicking a link or completing onboarding.

Learn more

Time Delay

Add a delay between steps. Minutes, Hours, days, or weeks. Space out your emails so they arrive at the right moment, not all at once.

Learn more
Observability

Granular visibility of all runs and steps

Every automation run is saved, so you can understand what happened at each step.

Automations / Black Friday

order.createdToday at 11:38 AM
Trigger payload
{ "id": "019daf3f-2f72-7339-a427-09717e3954b6", "email": "blake.rivera@gmail.com"}
Wait for eventorder.completed
StatusCompleted
Times out after 2 hours
Output
{ "received_event_instance_id":"019daf3f-2f72-7..."}
Event received
2 hours
Send emailToday at 11:38 AM
StatusCompleted
Runtime<1s
Emailblake.rivera@gmail.com
Output
{ "to":"blake.rivera@gmail.com", "email_id":"Template not found", "template_id":"Template not found"}
Send email
StatusSkipped
Fey
Resend Automations turned our hand-built, tangled setup into a clean, reliable way to send personalized, multi-day welcome sequences to new users.

Pierson Marks

Founder & CEO of Jellypod

Easy to use

Start automating your emails

Set up your first automation in simple steps. Streamline your email workflows and engage effortlessly.

Automations / Welcome users

user.signupUser signup
Delay
10 minutes
Send email
Welcome email

Start now
$0 / mo

  • Up to 10,000 automation runs
  • Unlimited automations
  • Unlimited steps
  • No credit card required

Start sending in minutes

Resend delivers mission-critical emails for some
of the fastest growing teams.

Sign up for free