diff --git a/docs/pages/docs/features/database/doctrine/console.md b/docs/pages/docs/features/database/doctrine/console.md
index 772ee1b8a87a6d66e8b49e0b15c85a7dac949858..fb7d9d9fb35f07db9bcb9e3e7a8ae3732c60073b 100644
--- a/docs/pages/docs/features/database/doctrine/console.md
+++ b/docs/pages/docs/features/database/doctrine/console.md
@@ -1,6 +1,7 @@
 ---
 collections: 
-    - documents
+    - name: documents
+      next: docs/features/database/doctrine/entities
 layout: dm:document
 next: docs/features/database/doctrine/entities
 parent: docs/features/database/doctrine/index
diff --git a/docs/pages/docs/features/database/doctrine/entities.md b/docs/pages/docs/features/database/doctrine/entities.md
index 0b23ce6661e14c8c73b20f8188d73213642ed424..d927fb5e8ef313fa0135730adabd097473b220ad 100644
--- a/docs/pages/docs/features/database/doctrine/entities.md
+++ b/docs/pages/docs/features/database/doctrine/entities.md
@@ -1,6 +1,7 @@
 ---
 collections: 
-    - documents
+    - name: documents
+      next: docs/features/database/doctrine/entity-managers
 layout: dm:document
 next: docs/features/database/doctrine/entity-managers
 parent: docs/features/database/doctrine/index
diff --git a/docs/pages/docs/features/database/doctrine/entity-managers.md b/docs/pages/docs/features/database/doctrine/entity-managers.md
index 899da03a9b2bfc4762c197ee99308af9f4d04bad..4e2ea6ce5de740c85ea494b8ef8883e5a1c81ed2 100644
--- a/docs/pages/docs/features/database/doctrine/entity-managers.md
+++ b/docs/pages/docs/features/database/doctrine/entity-managers.md
@@ -1,7 +1,9 @@
 ---
 collections: 
-    - documents
+    - name: documents
+      next: docs/features/database/doctrine/events
 layout: dm:document
+next: docs/features/database/doctrine/events
 parent: docs/features/database/doctrine/index
 title: Entity Managers
 description: >
diff --git a/docs/pages/docs/features/database/doctrine/events.md b/docs/pages/docs/features/database/doctrine/events.md
new file mode 100644
index 0000000000000000000000000000000000000000..722adf2bbbe5254af4f3e19dff9afaf4bf211de6
--- /dev/null
+++ b/docs/pages/docs/features/database/doctrine/events.md
@@ -0,0 +1,87 @@
+---
+collections: 
+    - documents
+layout: dm:document
+parent: docs/features/database/doctrine/index
+title: Events
+description: >
+    Learn how to hook into Doctrine's event system.
+---
+
+# Events
+
+You can hook into Doctrine's lifecycle events, including global events and 
+events specific to a particular entity.
+
+# Usage
+
+## Global Doctrine Events
+
+Needs `ListensToDoctrineEvents` attribute. For example:
+
+```php
+<?php
+
+namespace App\DoctrineEventSubscriber;
+
+use Distantmagic\Resonance\Attribute\ListensToDoctrineEvents;
+use Distantmagic\Resonance\Attribute\Singleton;
+use Distantmagic\Resonance\DoctrineEventSubscriber;
+use Distantmagic\Resonance\SingletonCollection;
+use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
+use Doctrine\ORM\Events;
+
+#[ListensToDoctrineEvents]
+#[Singleton(collection: SingletonCollection::DoctrineEventListener)]
+readonly class AugumentClassMetadata extends DoctrineEventSubscriber
+{
+    public function getSubscribedEvents()
+    {
+        return [
+            Events::loadClassMetadata,
+        ];
+    }
+
+    public function loadClassMetadata(LoadClassMetadataEventArgs $args): void
+    {
+        // augument class metada with something...
+    }
+}
+```
+
+## Entity Listeners
+
+Resonance provides `ListensToDoctrineEntityEvents` attribute that binds the
+listener to the doctrine entity.
+
+Such a class has to be a singleton, added to the `DoctrineEntityListener` 
+collection.
+
+After marking a class with the above attribute, you can add it's methods 
+in a way that is described in 
+[Doctrine's documentation](https://www.doctrine-project.org/projects/doctrine-orm/en/3.0/reference/events.html#entity-listeners-class).
+
+```php
+<?php
+
+declare(strict_types=1);
+
+namespace App\DoctrineEntityListener;
+
+use App\DoctrineEntity\MyEntity;
+use Distantmagic\Resonance\Attribute\ListensToDoctrineEntityEvents;
+use Distantmagic\Resonance\Attribute\Singleton;
+use Distantmagic\Resonance\DoctrineEntityListener;
+use Distantmagic\Resonance\Environment;
+use Distantmagic\Resonance\SingletonCollection;
+
+#[ListensToDoctrineEntityEvents(MyEntity::class)]
+#[Singleton(collection: SingletonCollection::DoctrineEntityListener)]
+readonly class SendNewsletterDoubleOptinMail extends DoctrineEntityListener
+{
+    public function postPersist(MyEntity $myEntity): void
+    {
+        // do something with $myEntity...
+    }
+}
+```