Back to jobs
Trigger: eventTrigger
Send a basic email using Resend.
Integrations:
/src/resendSendBasicEmail
Marketing
1import { TriggerClient, eventTrigger } from "@trigger.dev/sdk";2import { Resend } from "@trigger.dev/resend";3import { z } from "zod";45const client = new TriggerClient({ id: "jobs-showcase" });67const resend = new Resend({8id: "resend",9apiKey: process.env.RESEND_API_KEY!,10});1112// This job sends a basic email to a 'to' email address, a 'subject', a 'text' field and a 'from' email address.13client.defineJob({14id: "resend-send-basic-email",15name: "Resend: send basic email",16version: "1.0.0",17trigger: eventTrigger({18name: "send.email",19schema: z.object({20to: z.union([z.string(), z.array(z.string())]),21subject: z.string(),22text: z.string(),23// The 'from' email address must be a verified domain in your Resend account.24from: z.string(),25}),26}),27integrations: {28resend,29},30run: async (payload, io, ctx) => {31await io.resend.sendEmail("send-email", {32to: payload.to,33subject: payload.subject,34text: payload.text,35from: payload.from,36});37},38});3940// These lines can be removed if you don't want to use express41import { createExpressServer } from "@trigger.dev/express";42createExpressServer(client);