OpenRoadmap Docs

Email loops

Persist first, notify second. Ack on submit; status mail when a followed feature moves.

Ack email

Triggered when POST /v1/feedback includes an email. Subject pattern: Idea received — {project}.

Status change

Triggered by PATCH /v1/features/:id/status for each follower. Portal URL points at /feature/view/?slug=…. Shipped copy leans on the product line: You asked. We built it.

Delivery path

  1. Row written to email outbox in the store
  2. If FEEDBACK_QUEUE is bound → Queue message → consumer sends via Resend
  3. Else executionCtx.waitUntil(sendEmail…)
  4. Without RESEND_API_KEY, send is mocked and outbox stays inspectable
Note

Package: @openroadmap/email. Templates are HTML + text for deliverability.