diff --git a/src/trigger.hpp b/src/trigger.hpp
index a9348bd..67c6a7f 100644
--- a/src/trigger.hpp
+++ b/src/trigger.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include "interfaces/json_storage.hpp"
+#include "interfaces/report_manager.hpp"
 #include "interfaces/threshold.hpp"
 #include "interfaces/trigger.hpp"
 #include "interfaces/trigger_factory.hpp"
@@ -23,8 +24,8 @@
             std::vector<std::shared_ptr<interfaces::Threshold>>&& thresholds,
             interfaces::TriggerManager& triggerManager,
             interfaces::JsonStorage& triggerStorage,
-            const interfaces::TriggerFactory& triggerFactory,
-            Sensors sensorsIn);
+            const interfaces::TriggerFactory& triggerFactory, Sensors sensorsIn,
+            interfaces::ReportManager& reportManager);
 
     Trigger(const Trigger&) = delete;
     Trigger(Trigger&&) = delete;
@@ -43,6 +44,11 @@
 
     bool storeConfiguration() const;
 
+    const std::vector<std::string>& getReportIds() const override
+    {
+        return *reportIds;
+    }
+
   private:
     std::string id;
     std::string name;
@@ -57,6 +63,10 @@
     interfaces::JsonStorage::FilePath fileName;
     interfaces::JsonStorage& triggerStorage;
     Sensors sensors;
+    interfaces::ReportManager& reportManager;
+
+    void
+        updateTriggerIdsInReports(const std::vector<std::string>& newReportIds);
 
   public:
     static constexpr const char* triggerIfaceName =
