# Adding action links to Oh Dear email notifications

Last week, we improved the email notifications sent by [Oh Dear](https://ohdear.app) whenever something is down or broken.

They now contain links that allow you to _snooze_ further emails, essentially "silencing" the alert for a defined period of time.

![screenshot](/uploads/blogs/snooze/mail.png)

When a snooze link is clicked, you'll be taken to a page where you can silence the alert with a single-click, _even when you're not logged in_.

![screenshot](/uploads/blogs/snooze/mail-confirmation.png)

This system uses _signed URLs_ to provide the necessary security while adding the convenience of silencing alerts even when you're not actively logged into Oh Dear.

## Why we've added snooze links

Earlier this year, we added the ability to [snooze notifications](/news-and-updates/snoozing-alerts-and-advanced-slack-notifications) to Oh Dear. Each different check in Oh Dear got a snooze setting screen. On that screen, users can choose how long we shouldn't send notifications for a check.

![screenshot](/uploads/blogs/snooze/snooze-ui.png)

We also introduced advanced Slack notifications. Whenever you get a notification, you can snooze further notification using the little menu underneath a notification. This way, you can snooze a check without even having to visit the Oh Dear website. Handy!

![screenshot](/uploads/blogs/snooze/slack.png)

(If you've previously configured _Slack Webhooks_ you can upgrade your notification settings to use the new [Slack API integration](/docs/notifications/slack) instead, this will provide the ability to snooze notifications.)

These advanced Slack got a lot of attention from us because we're using Slack notifications ourselves. But let's take a look at which notification channels are used the most at Oh Dear.

In the Oh Dear database, all notification preferences are stored in a table called `notification_destinations`. In the `channel` column, the name of the channel (`mail`, `slack`, `nexmo`), and so on is stored. 

This query gives us the percentage for each different channel. 

```sql
SELECT
    channel,
    ROUND(COUNT(channel) / (
            SELECT
                count(*)
                FROM notification_destinations) * 100) AS percentage
FROM
    notification_destinations
GROUP BY
    channel
ORDER BY
    percentage DESC
```

Here are the results:

- `mail`: 82%
- `slack`: 13%
- `nexmo`: 2%
- `pushover`: 1%
- `webhooks`: 1%
- `discord`: 1%

Even though our team relies on Slack notifications, the vast majority of Oh Dear subscribers use email. It's easy to understand why: everybody already has an email address, and most people check their email regularly.

Because emails are being used so much for sending notifications, we decided to give them a little love by adding snooze links. ❤️