diff --git a/src/data_types.hpp b/src/data_types.hpp
index 81bb8cb..cffbd99 100644
--- a/src/data_types.hpp
+++ b/src/data_types.hpp
@@ -4,7 +4,11 @@
 
 #include <experimental/any>
 #include <sdbusplus/message.hpp>
+#include <sdbusplus/utility/merge_variants.hpp>
 #include <string>
+#include <xyz/openbmc_project/Association/Definitions/server.hpp>
+#include <xyz/openbmc_project/Logging/Entry/server.hpp>
+#include <xyz/openbmc_project/Software/Version/server.hpp>
 
 namespace any_ns = std::experimental;
 
@@ -63,9 +67,12 @@
 template <typename T>
 using InterfacesAdded =
     std::map<std::string, std::map<std::string, std::variant<T>>>;
-using Value = std::variant<bool, uint8_t, int16_t, uint16_t, int32_t, uint32_t,
-                           int64_t, uint64_t, std::string>;
-
+using Value = sdbusplus::utility::merge_variants_t<
+    sdbusplus::xyz::openbmc_project::Association::server::Definitions::
+        PropertiesVariant,
+    sdbusplus::xyz::openbmc_project::Logging::server::Entry::PropertiesVariant,
+    sdbusplus::xyz::openbmc_project::Software::server::Version::
+        PropertiesVariant>;
 /** @brief ObjectManager.InterfacesAdded signal signature alias. */
 using Interface = std::string;
 using Property = std::string;
diff --git a/src/snmp_trap.cpp b/src/snmp_trap.cpp
index 309b22e..6b4e808 100644
--- a/src/snmp_trap.cpp
+++ b/src/snmp_trap.cpp
@@ -35,9 +35,15 @@
     auto& propMap = it->second;
     auto errorID = std::get<uint32_t>(propMap.at("Id"));
     auto timestamp = std::get<uint64_t>(propMap.at("Timestamp"));
-    auto sev = std::get<std::string>(propMap.at("Severity"));
-    auto isev = static_cast<uint8_t>(Entry::convertLevelFromString(sev));
+    auto sev = std::get<Entry::Level>(propMap.at("Severity"));
+    auto isev = static_cast<uint8_t>(sev);
     auto message = std::get<std::string>(propMap.at("Message"));
+    auto additionalData =
+        std::get<std::vector<std::string>>(propMap.at("AdditionalData"));
+    for (auto& s : additionalData)
+    {
+        message += " " + s;
+    }
     try
     {
         sendTrap<OBMCErrorNotification>(errorID, timestamp, isev, message);
@@ -48,7 +54,8 @@
             "Failed to send SNMP trap",
             phosphor::logging::entry("ERROR_ID=%d", errorID),
             phosphor::logging::entry("TIMESTAMP=%llu", timestamp),
-            phosphor::logging::entry("SEVERITY=%s", sev.c_str()),
+            phosphor::logging::entry("SEVERITY=%s",
+                                     convertForMessage(sev).c_str()),
             phosphor::logging::entry("MESSAGE=%s", message.c_str()));
     }
 }
