diff --git a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
index 3d5fedd93eaa44299961464107b9c040208da9a4..df92c7a9e014e30371f85dc3f4b2d29953520c83 100644
--- a/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
+++ b/apps/twofactor_backupcodes/lib/Notifications/Notifier.php
@@ -24,6 +24,7 @@ declare(strict_types=1);
 
 namespace OCA\TwoFactorBackupCodes\Notifications;
 
+use OCP\IURLGenerator;
 use OCP\L10N\IFactory;
 use OCP\Notification\INotification;
 use OCP\Notification\INotifier;
@@ -33,8 +34,12 @@ class Notifier implements INotifier {
 	/** @var IFactory */
 	private $factory;
 
-	public function __construct(IFactory $factory) {
+	/** @var IURLGenerator */
+	private $url;
+
+	public function __construct(IFactory $factory, IURLGenerator $url) {
 		$this->factory = $factory;
+		$this->url = $url;
 	}
 
 	public function prepare(INotification $notification, $languageCode) {
@@ -53,6 +58,8 @@ class Notifier implements INotifier {
 				)->setParsedMessage(
 					$l->t('You have enabled two-factor authentication but have not yet generated backup codes. Be sure to do this in case you lose access to your second factor.')
 				);
+
+				$notification->setLink($this->url->linkToRouteAbsolute('settings.PersonalSettings.index', ['section' => 'security']));
 				return $notification;
 
 			default:
diff --git a/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php b/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
index 508fa453e16d36873fcf349afbf9c3837e152ce4..9a641eb9f85a39af9f2f7a569644bd5d38627ba4 100644
--- a/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
+++ b/apps/twofactor_backupcodes/tests/Unit/Notification/NotifierTest.php
@@ -26,17 +26,21 @@ namespace OCA\TwoFactorBackupCodes\Tests\Unit\Notification;
 
 use OCA\TwoFactorBackupCodes\Notifications\Notifier;
 use OCP\IL10N;
+use OCP\IURLGenerator;
 use OCP\L10N\IFactory;
 use OCP\Notification\INotification;
+use PHPUnit\Framework\MockObject\MockObject;
 use Test\TestCase;
 
 class NotifierTest extends TestCase {
 	/** @var Notifier */
 	protected $notifier;
 
-	/** @var IFactory|\PHPUnit\Framework\MockObject\MockObject */
+	/** @var IFactory|MockObject */
 	protected $factory;
-	/** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
+	/** @var IURLGenerator|MockObject */
+	protected $url;
+	/** @var IL10N|MockObject */
 	protected $l;
 
 	protected function setUp() {
@@ -49,12 +53,14 @@ class NotifierTest extends TestCase {
 				return vsprintf($string, $args);
 			});
 		$this->factory = $this->createMock(IFactory::class);
+		$this->url = $this->createMock(IURLGenerator::class);
 		$this->factory->expects($this->any())
 			->method('get')
 			->willReturn($this->l);
 
 		$this->notifier = new Notifier(
-			$this->factory
+			$this->factory,
+			$this->url
 		);
 	}
 
@@ -114,6 +120,15 @@ class NotifierTest extends TestCase {
 			->with('You have enabled two-factor authentication but have not yet generated backup codes. Be sure to do this in case you lose access to your second factor.')
 			->willReturnSelf();
 
+		$this->url->expects($this->once())
+			->method('linkToRouteAbsolute')
+			->with('settings.PersonalSettings.index', ['section' => 'security'])
+			->willReturn('linkToRouteAbsolute');
+		$notification->expects($this->once())
+			->method('setLink')
+			->with('linkToRouteAbsolute')
+			->willReturnSelf();
+
 		$return = $this->notifier->prepare($notification, 'nl');
 		$this->assertEquals($notification, $return);
 	}