How to Design a Notification System: Step-By-Step Manual With Examples

Oleg Bolshakov
Dec 21, 2020 · 7 min read

Today it’s hard to imagine a service without an integrated notification system. An attentive app notifies us that a friend liked our photo, long-awaited pizza delivery is coming, or a ride is waiting for us at our door.

Notifications are crucial for a work management system as they’re deeply integrated into the team workflow. These notifications serve to notify users of any changes in the tasks, call for completing their part of the job, and provide valuable hints.

Here I’ll share my experience with a systems approach to designing notifications. You’ll learn how to identify and account for all situations to make your product better for users and save your team’s resources.

Step 1: Specifying users involved in the process

Let’s walk through a typical day in a marketing agency: Antony, the art director, is pressed for time; the company is releasing a new product, so promo banners must be ready to launch by Friday. Designer Johnny has already done the job, but the mockups must be pre-approved by project managers before the job is accepted.

That’s why Antony sets the task for approval by Friday, with the following note: “Please approve banners for November Sale campaign.”

Now let’s describe the participants in more detail:

  1. The Designer performs the job. The job may be completed, but they have to know if the mockups are accepted or rejected for corrections.

Next, let’s define in-system roles required to build a notification model:

  1. Assignee: a person (persons) who is assigned to the task. The Assignee is defined in the Assignee field in the Task submenu.

The system often has covert roles that should be accounted for. If you want to send notifications on the status of a running process, it’s recommended to create a System Bot role to send notifications from the product.

⚡️ The list of roles should be as short as possible. The more complicated the role hierarchy is, the more difficult it is for users to understand.

Step 2: Building event/notification table

Frame building

Build a table to get a systemized view of all your notifications. The frame will comprise two parts:

Left column. All possible events during the approval process will be listed here broken down by roles. These events will trigger notifications. Not every role can actually take effect on the system. In our example, the Assignee is just an observer. Therefore, you may omit the Assignee from the left column, resulting in three sections:

  1. Owner: Owner’s actions from the launch to the end of the approval process

Top row. This row shows the roles that will receive notifications. Various channels are implemented, such as push notifications or text messages. For the sake of simplicity, let’s take a single communication channel: Incoming, or a personal notification feed:

  1. Approver

⚡️ The most convenient way to build a table is through Google Sheets. It offers an array of useful functions, including the option to share with your team and other teams that might need the table, i.e. User Support.

⚡️ Select the “Anyone with the link can comment” option when sharing. Your team can discuss the events by adding comments to the cells. Only you will be able to edit or delete the events.

Adding events

After you’ve made the frame, add all possible events available to users during approval to the left column. Analyze each interface state for every role and write down all actions available. Below are some tips for this stage:

  1. The wording of the event should be as short as possible. If you start grouping right away, you may lose some of the simpler events, make the wording too complex, and sacrifice the clarity of the table.

Step 3: Defining principles for notification receivers

After adding the events, you should define role-specific conditions for receiving notifications. It will help you design notification lists relevant for each role without flooding the users with irrelevant information. Rely on the user interview data, research of similar products, and underlying conceptual solutions.

Our notification model is based on the following principles:

  1. Owners receive notifications on the approvers’ decisions as well as on all changes to the process made by others.

⚡️ Write these principles for each role in the rows allocated for notification receivers. A good practice is to add them as comments. As the system gets more intricate, these principles will help you stay on track.

Step 4: Creating notifications

Now you can start creating notifications. Move in sequence from the event in the left column to each receiver role. Take care to do the following:

  1. Try to reuse the wording to make notifications more consistent. If you’re working on an international product, it’ll make life easier for the localization team.

⚡️ It’s a good idea to use color coding. Add a legend for your color codes to the table header, e.g. black text — string draft, green text — string checked and ready, red text — implementation problems. For more information, use comments on the cell.

Step 5: Fine-tuning events

Now that you’ve filled all the cells, go back to your table and do the following:

  1. Make all similar strings consistent with each other. Sometimes parts of a long list with a similar meaning have slightly different grammar, prepositions, or use synonymous verbs.


With systems approach and clearly defined principles, even the most complex scenarios will be easy to understand and accessible to developers. A well-designed notification table will help designers make the product more intuitive and user-friendly, and also help the team focus on implementation without sacrificing time and effort to understand all its details.

Tips for working with the table:

  1. Use a separate page for each scenario, so that it’s easier to find your way around the table.


Sharing stories and experiences from the Wrike Design Team

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store