Building a Better Daily Notification Email
Every day it seems like my inbox fills up with internal notifications. Most of the time, these aren’t particularly useful to me. From project communications to status updates, not everything is relevant to everyone.
Here at Evoluted, our development team love to build tools that make our day-to-day lives better. So, we set about building a better notifier. One that would only list the tasks that need the recipient’s attention and group them according to the tasks’ current status.
We use Asana to manage tasks across the business. It sends out notifications whenever there’s been some activity on a task that you’re assigned to or follow. This can be anything from a new comment to someone un-assigning a task from you.
At a busy agency like Evoluted, this can result in a lot of emails.
Of course, Asana lets you disable the notifications. Yet, amongst all those emails, there is some valuable information. You can also opt for a daily summary email from Asana. However, our custom use of the service means that these aren’t always as helpful as we’d want them to be.
So we set about creating our own version to streamline this...
The main focus of our Daily Summary emails is on the tasks assigned to the recipient.
As previously mentioned, we use the project manager tool, Asana. We've customised how we use this with custom fields to help with managing our tasks and projects. For example, we have set up a custom field to represent the stage, or status, of each task. This can represent things like ‘in development’, ‘ready for testing’, ‘query’, etc.
For our daily notification email, we use Asana's API to fetch the relevant tasks assigned to each individual. Not all stages require immediate attention. So, we only retrieve tasks for the stages we are most concerned with.
In the email, we group the tasks by stage, with the most important stages first. This means that when we come into work each morning, we can get straight on with addressing anything that needs our attention before carrying on with our day’s work.
Code review notifications
In addition to the Asana tasks, all our developers also receive a summary of any code reviews that they need to look at.
Code reviews are an important part of our dev process. They allow us to test and check any code before it gets approved for the main codebase. We use GitLab’s merge requests for these, so our daily notification email also makes use of GitLab’s API.
Much like how we handle the Asana tasks, we filter the merge requests so that we only show those that need the recipient’s attention; that might be starting a review or responding to comments.
Similar to the Asana tasks in the notification email, this really helps keep development work moving forward.
Like many businesses, the ongoing Covid-19 pandemic meant Evoluted had to start working remotely. One of the downsides of this is that it is much harder to keep track of who’s in the ‘office’ each day. So, we made sure that the notification emails also contained a list of all those who are off. This includes those on annual leave, and those that don’t work particular days.
The same data is also used to determine who shouldn’t receive the email on the current day. We only need to send the notifications to people who are actually ‘in’.
Determining who’s off is handled by another tool we have built for internal use. This tool provides an API for retrieving annual leave data, combined with the working schedules of the part-time members of the team.
We additionally make use of the government’s bank holiday data to avoid sending emails on days that nobody works. The government handily provides this information as an ics data feed. Combined with the annual leave data and weekends, this means we don’t start spamming our team with unwanted notifications.
Teamwork plays an important role in our day-to-day lives. Knowing who’s about has been incredibly useful.
We have been trialling our daily notification emails with our development team for the last few months. It has proven to be a success, and we are now about to start rolling out the emails to the wider team.
Work has already been done so that we can configure different emails for different teams at Evoluted. For example, the Asana tasks that might be relevant to developers will be different for marketing. So the plan is to start sending tailored notification emails to project managers, design and marketing teams. Hopefully, these will prove as invaluable as they have for our developers.