Back to jobs
Trigger: eventTrigger
Sends a basic email using SendGrid.
Integrations:
/src/sendGridSendBasicEmail
Marketing
1import { TriggerClient, eventTrigger } from "@trigger.dev/sdk";2import { SendGrid } from "@trigger.dev/sendgrid";3import { z } from "zod";45export const client = new TriggerClient({ id: "jobs-showcase" });67const sendgrid = new SendGrid({8id: "sendgrid",9apiKey: process.env.SENDGRID_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: "sendgrid-send-basic-email",15name: "SendGrid: send basic email",16version: "1.0.0",17trigger: eventTrigger({18name: "send.email",19schema: z.object({20to: z.string(),21subject: z.string(),22text: z.string(),23// The 'from' email address must be a verified domain in your SendGrid account.24from: z.string(),25}),26}),27integrations: {28sendgrid,29},30run: async (payload, io, ctx) => {31await io.sendgrid.sendEmail("send-email", {32to: payload.to,33from: payload.from,34subject: payload.subject,35text: payload.text,36});37},38});3940// These lines can be removed if you don't want to use express41import { createExpressServer } from "@trigger.dev/express";42createExpressServer(client);