GudCalGudCal
Docs
Email

Email

Configure transactional emails for GudCal.

GudCal uses Resend for transactional emails including booking confirmations, cancellations, reschedule notifications, reminders, password resets, and magic link login.

Environment Variables

RESEND_API_KEY="re_your_resend_api_key"

Setup

Create a Resend account

Sign up at resend.com/signup if you don't have an account.

Create an API key

In your Resend dashboard, go to API Keys and create a new key. Copy it into your .env.local file.

Configure sender domain (production)

For production, add and verify your domain in Resend so emails come from your own address (e.g. notifications@yourdomain.com).

Update the FROM_EMAIL in lib/emails.ts to match your verified domain.

Email Templates

GudCal includes six branded email templates built with React Email:

TemplateTrigger
Booking ConfirmationNew booking created
Booking CancellationBooking cancelled (by host or guest)
Booking RescheduledBooking moved to a new time
Booking Reminder24 hours before the meeting (via cron)
Password ResetUser requests password reset
Magic LinkPasswordless login

All templates use a shared layout with the GudCal emerald brand colors, logo, and footer.

Additional Guests

When a booking includes additional guests, they are automatically CC'd on all guest-facing emails (confirmation, cancellation, rescheduled, and reminder).

Cron Reminders

To enable 24-hour booking reminders, set up a cron job that calls:

POST /api/cron/reminders
Authorization: Bearer YOUR_CRON_SECRET

Set CRON_SECRET in your environment variables. Services like Vercel Cron, cron-job.org, or a system crontab all work.