diff --git a/sdbusplus/bus.hpp b/sdbusplus/bus.hpp
index 5ec1ff7..25c7c49 100644
--- a/sdbusplus/bus.hpp
+++ b/sdbusplus/bus.hpp
@@ -3,6 +3,7 @@
 #include <memory>
 #include <climits>
 #include <systemd/sd-bus.h>
+#include <systemd/sd-event.h>
 #include <sdbusplus/message.hpp>
 
 namespace sdbusplus
@@ -178,6 +179,28 @@
         return std::string(unique);
     }
 
+    /** @brief Attach the bus with a sd-event event loop object.
+     *
+     *  @param[in] event - sd_event object.
+     *  @param[in] priority - priority of bus event source.
+     */
+    void attach_event(sd_event* event, int priority)
+    {
+        sd_bus_attach_event(_bus.get(), event, priority);
+    }
+
+    /** @brief Detach the bus from its sd-event event loop object */
+    void detach_event()
+    {
+        sd_bus_detach_event(_bus.get());
+    }
+
+    /** @brief Get the sd-event event loop object of the bus */
+    auto get_event()
+    {
+        return sd_bus_get_event(_bus.get());
+    }
+
     friend struct server::interface::interface;
     friend struct server::manager::manager;
     template<class... Args> friend struct server::object::object;
