Skip to content

Add Email Notifications for Application Events #400

Description

@b-at-neu

Deferred by decision — recorded as a future item

lib/email/ exists and works, but is wired only to the Neon Auth OTP webhook (app/api/auth/webhook/route.ts). The product sends no domain email at all — nothing on submission, status change, acceptance, rejection, withdrawal, manager assignment or deactivation.

An applicant learns they were accepted only by logging in and re-reading a status badge. This is arguably the largest single gap between what the product does and what a user would expect from a recruiting platform.

Scope when picked up

  • Which events notify, and whom
  • Applicant-facing: submission receipt, status change, final decision
  • Manager-facing: a new application on a managed position
  • Opt-out handling
  • Delivery-failure behaviour — a failed send must never fail the underlying mutation. The existing webhook gets this right by throwing and letting Neon retry, with no DB write entangled; domain email needs the opposite treatment, since the mutation has already happened

Notes

The infrastructure is in place (Resend, templates, verify-webhook), so this is mostly product decisions plus wiring rather than new plumbing.


From the 2026-08-10 full platform audit.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions