Conversation
…tsapp Adds a daily management command that nudges active members with has_joined_whatsapp=False. Grace period after signup, then up to 3 reminders 14 days apart, then it stops. Members can turn the reminders off from settings — the email links straight to the toggle, so there's always a way out of it. Ships behind the whatsapp_join_reminders flag (off by default) and skips the run entirely when no WhatsApp link is configured. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
send_whatsapp_join_remindersmanagement command that nudges active members withhas_joined_whatsapp=False. Grace period after signup, then up to 3 reminders 14 days apart, then it stops. Runs daily fromcron_daily.sh— the command decides who's due, so re-runs are safe.whatsapp_reminder_opt_out, alongside the weekly-digest toggle). The email links straight to it: "not a whatsapp person? let us know here and we'll stop emailing you about it."whatsapp_join_remindersfeature flag (off by default), and skips the run entirely when no WhatsApp link is configured.Idempotency works the way
send_attendance_remindersdoes — aWhatsAppJoinReminderrow per send, written only after the send succeeds, so a failed send retries the next day.Closes #1468
Two things to decide before enabling the flag
/settingssits behindRequireAuth, so a member who never claimed their account can't use the link to stop the emails without logging in first. That's the same shape as the weekly digest, but it bites harder here — "hasn't joined the whatsapp" correlates with "never logged in." A tokenized one-click unsubscribe would fix it properly.created_at. Worth staggering or backfilling marker rows before flipping the flag.Test plan
make agent-ci(not run locally — CI will cover it)whatsapp_join_remindersflag and set a WhatsApp link on stagingpython manage.py send_whatsapp_join_reminders— confirm only members missing whatsapp get mail, and re-running the same day sends nothing🤖 Generated with Claude Code