Repository navigation
Email organizers once about a draft they haven't published #506
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestpipeline:uxChanges what a person using OpenSignup sees or doesChanges what a person using OpenSignup sees or does
Description
Needs your OK: this is a new email to organizers, and the privacy page changes with it. It also has three decisions for you, listed below. Swap pipeline:proposed for pipeline:ready to have it built. Part of #498.
What happens
Nothing brings an organizer back to an unfinished draft. The only emails are the magic link, the confirmation and the reminder, and the reminder job skips drafts (src/jobs/reminders.ts).
Fix, in outline
- One email per draft, sent a few hours after it was created. Send it only if the signup is still an unpublished draft, has at least one filled-in slot, and hasn't been deleted.
- Content: the same fixed-word headline as the review page ("12 slots · 3 days · 3 people each").
- The main button, "Check it and publish", opens the review page (Land new drafts on a "Check your signup, then share it" page #502).
- A second link opens the builder.
- Both go through sign-in with the deep link kept (as Signed out, a link to a signup in the organizer app sends you to the dashboard after sign-in, not to the signup #259 made work).
- Scheduling: the worker scans for due drafts, as
reminderDispatchdoes. Adraft.nudge_sentactivity row stops a second send. - Sending: through
EmailTransport, so the console transport is used in dev. The subject line goes insrc/email/subjects.ts.
Design: canvas https://claude.ai/artifact/RqcjzCcdSTw5JhbXjm2x5y, row C, artboard "C · Same-day draft email". The canvas is private until shared.
Decisions for you
- Delay. How long after creating a draft should the email go out (for example, 3 hours)?
- Turning it off. Can organizers turn it off, and if so, where: an organizer setting, an unsubscribe link, or both?
- AI connector drafts. Do drafts made through an AI connector qualify? The organizer may still be mid-conversation with their assistant.
Watch for
- Trust docs. Update the privacy page and
docs/in the same PR, and bump "Last updated". - One worker. Run exactly one worker process, as the reminder emails already require.
- "Email me a link to finish later" on the review page (Land new drafts on a "Check your signup, then share it" page #502) can send this same email right away.
Done when
- A due draft gets exactly one email, and a published, deleted or empty draft gets none. A DB test covers each case.
- The template renders in the worker test.
- The legal pages say organizers may get one email about an unpublished draft.
pnpm lint && pnpm typecheck && pnpm knip && pnpm testandpnpm test:dbpass.
Planned in https://claude.ai/code/session_01AkZbMUc4ej4ed7o5uh6nqr
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestpipeline:uxChanges what a person using OpenSignup sees or doesChanges what a person using OpenSignup sees or does
Activity
richshaw commentedon Oct 21, 2026
This is being built as part of the #498 stack. The three decisions use these defaults for now. Each is a small change if you'd rather have something else:
List-Unsubscribeheaders. It applies per organizer, to all their drafts, and is stored as one timestamp on the organizer. There's no organizer setting page yet.The review page's "Not yet. Email me a link to finish later" sends the same email straight away, and that counts as the one email for that draft.
https://claude.ai/code/session_01BTvMvHZ4i4FWQFAsxcr5Zm
Generated by Claude Code
richshaw commentedon Oct 22, 2026
The automatic email now has its own issue, #560, to rebuild from
mainahead of the redesign. This issue stays with #498 for "Not yet. Email me a link to finish later", which depends on where the redesign puts it.Generated by Claude Code