Connect Resend to your Goodspeed app
Transactional email delivered from Supabase Edge Functions: welcome sequences, password resets, and notification digests. Goodspeed wires Resend into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every Resend build
Every app Goodspeed generates with Resend includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| supabase/functions/send-email/handler.ts accepts a recipient, subject, and HTML body and calls the Resend API for delivery | supabase/functions/send-email/handler.ts accepts a recipient, subject, and HTML body and calls the Resend API for delivery | 01 |
| RESEND_API_KEY stored as a Supabase secret so it is never bundled into the app or exposed to client code | RESEND_API_KEY stored as a Supabase secret so it is never bundled into the app or exposed to client code | 02 |
| Email HTML generated inline per email type (welcome, reset, digest) using app name and branding from function environment variables | Email HTML generated inline per email type (welcome, reset, digest) using app name and branding from function environment variables | 03 |
| Supabase Auth email overrides route confirm-signup and reset-password flows through the send-email Edge Function | Supabase Auth email overrides route confirm-signup and reset-password flows through the send-email Edge Function | 04 |
Source: gas-template repository · transactional-email
REAL GENERATED CODE
A snippet from a Resend integration the pipeline ships
This pattern comes directly from the gas-template codebase. The studio generates Resend integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
Edge Function email
// supabase/functions/send-email/handler.ts import { Resend } from 'npm:resend'; const resend = new Resend(Deno.env.get('RESEND_API_KEY')); Deno.serve(async (req) => { const { to, subject, html } = await req.json(); const { error } = await resend.emails.send({ from: 'Goodspeed <noreply@goodspeed.app>', to, subject, html, }); if (error) return new Response(JSON.stringify(error), { status: 400 }); return new Response(JSON.stringify({ ok: true })); });
Today's log
APPS THAT USE RESEND
Where this integration ships
These app types include Resend as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a Social App appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
- Build a Productivity App appProductivity apps succeed when they remove friction from the moment the user decides to work. Goodspeed generates a productivity app with Pomodoro timer, focused task queue, distraction blocker hooks,PRODUCTIVITY APP