diff --git a/src/Core/Events/NotificationWillBeSent.php b/src/Core/Events/NotificationWillBeSent.php
new file mode 100644
index 000000000..968e147ae
--- /dev/null
+++ b/src/Core/Events/NotificationWillBeSent.php
@@ -0,0 +1,16 @@
+<?php namespace Flarum\Core\Events;
+
+use Flarum\Core\Notifications\NotificationInterface;
+
+class NotificationWillBeSent
+{
+    public $notification;
+
+    public $users;
+
+    public function __construct(NotificationInterface $notification, array &$users)
+    {
+        $this->notification = $notification;
+        $this->users = $users;
+    }
+}
diff --git a/src/Core/Notifications/NotificationSyncer.php b/src/Core/Notifications/NotificationSyncer.php
index 7ca70e389..b9a18f011 100644
--- a/src/Core/Notifications/NotificationSyncer.php
+++ b/src/Core/Notifications/NotificationSyncer.php
@@ -2,6 +2,7 @@
 
 use Flarum\Core\Repositories\NotificationRepositoryInterface;
 use Flarum\Core\Models\Notification;
+use Flarum\Core\Events\NotificationWillBeSent;
 use Carbon\Carbon;
 use Closure;
 
@@ -66,6 +67,8 @@ class NotificationSyncer
         if (count($newRecipients)) {
             $now = Carbon::now('utc')->toDateTimeString();
 
+            event(new NotificationWillBeSent($notification, $newRecipients));
+
             Notification::insert(
                 array_map(function ($user) use ($attributes, $notification, $now) {
                     return $attributes + ['user_id' => $user->id, 'time' => $now];