[BB-6849] Improve Reminder Experience
Story
"As a user, I want an email with a clear purpose, a clear call to action, and a beautiful design so that I'm motivated to complete my checklist"
Full description
The reminder experience for checklists is in need of improvement-- both in terms of email content and in terms of the end-to-end UX of receiving (and responding to) reminders.
The first issue to address is that for some cases, the dates of concern are different from the final day users are expected to fill in the form. For instance, team members may want to fill in their retrospective only after the sprint actually ends, rather than by the last day of the sprint. Add in a due date field to runs, and a field on recurrences for how many days after the end date the due date will be. This value can also be 0 to indicate that the run's due date will be at its end.
Update the to-do list to show all lists that have not yet hit their due date, rather than their run end date.
In addition to this, update the reminders such that they are sent relative to the due date rather than relative to the sprint end date. Make the reminders change depending on their relative position. If they are more than one day before the due date, the subject line should be:
✏ ️ {checklist_name}: Please add your update
and the body should say:
[LISTAFLOW_LOGO]
Hey, Ali!
👋 It’s time to complete {checklist_name} for {run_start_month} {run_start_day_of_month} to {run_end_month} {run_end_day_of_month}. Please add your update before the end of day {due_date_day_of_week} ({due_date_month_name} {due_date_day_of_month}).
Here's a sneak peak of the items awaiting your response:
- (Unordered list of task labels goes here)
[BUTTON: Add my update]
If it is one day before the due date, the subject should be:
⏰ Reminder: Today is the last day to complete {checklist_name}
and the body should be:
[LISTAFLOW LOGO]
Hi, {first_name}!
⏱ ️Time’s almost up to complete {checklist_name} for {run_start_month} {run_start_day_of_month} to {run_end_month} {run_end_day_of_month}. Please add your update before the end of the day today.
Your team is awaiting your response on the following items:
- (Unordered list of task labels goes here)
[BUTTON: Add my update]
In addition to this, provide a way to override these templates in the admin for both emails for a particular recurrence. You should be able to change the subject, the body, and the reply-to address, using this stack overflow question as a guide on how to handle the headers:
NOTE: This override functionality is intended to be used while we refine the email wording, but is not intended to be exposed to regular users. We will likely remove it once we settle on something we like, after A/B testing some options.
Lastly, implement the email HTML based on the template design at this link.
Completion criteria
- The addition of a 'due date' offset that is the number of days after a run end where a run is still considered open for submission.
- The emails match the above specifications and the template switches depending on whether the reminder is within the sprint boundary or after it.
- Reminders are set to be offset from the due date.
- The to-do checklist listing is based on due date rather than run end date.
- If a run date has a due date that is after the end date, and the end date has not yet arrived, its status should be 'upcoming' on the dashboard rather than 'to do'. Otherwise it should be 'to do' as it is now.
- The template overrides work.
- Automated testing should verify the translations/localization is working correctly for the default text of these emails, and that overrides work.
- The call to action button in the email should link directly to the list, rather than the to-do listing index.
- The email design is implemented following the layout design at this link.
Documentation updates & improvements criteria
- Any info currently in the docs about recurrences should be updated to explain the implications of the due date and reminders.
Review timeline
- PR to be sent for review by
- First PR review to be completed by
- [Optional] Draft/WIP PR sent for review by