diff --git a/extensions/openpower-pels/pel_types.hpp b/extensions/openpower-pels/pel_types.hpp
index 99ed1cb..d18d3b7 100644
--- a/extensions/openpower-pels/pel_types.hpp
+++ b/extensions/openpower-pels/pel_types.hpp
@@ -117,7 +117,8 @@
     isolationIncompleteFlagBit = 10, // 0x0400
     spCallHomeFlagBit = 8,           // 0x0100
     osSWErrorBit = 7,                // 0x0080
-    osHWErrorBit = 6                 // 0x0040
+    osHWErrorBit = 6,                // 0x0040
+    heartbeatCallHomeFlagBit = 5     // 0x0020
 };
 
 /**
diff --git a/extensions/openpower-pels/pel_values.cpp b/extensions/openpower-pels/pel_values.cpp
index a94606c..d584c3a 100644
--- a/extensions/openpower-pels/pel_values.cpp
+++ b/extensions/openpower-pels/pel_values.cpp
@@ -199,7 +199,8 @@
     {0x0800, "call_home", "HMC Call Home"},
     {0x0400, "isolation_incomplete",
      "Isolation Incomplete, further analysis required"},
-    {0x0100, "termination", "Service Processor Call Home Required"}};
+    {0x0100, "termination", "Service Processor Call Home Required"},
+    {0x0020, "heartbeat_call_home", "Heartbeat Call Home Event"}};
 
 /**
  * The possible values for the Callout Priority field in the SRC.
diff --git a/extensions/openpower-pels/registry/message_registry.json b/extensions/openpower-pels/registry/message_registry.json
index 7aed193..c4e3963 100644
--- a/extensions/openpower-pels/registry/message_registry.json
+++ b/extensions/openpower-pels/registry/message_registry.json
@@ -806,7 +806,7 @@
             "Subsystem": "cec_clocks",
             "ComponentID": "0x3000",
             "Severity": "non_error",
-            "ActionFlags": ["report", "call_home"],
+            "ActionFlags": ["report", "call_home", "heartbeat_call_home"],
 
             "SRC": {
                 "ReasonCode": "0x300A",
@@ -3648,7 +3648,7 @@
             "Subsystem": "power",
             "Severity": "non_error",
             "MfgSeverity": "predictive_redundancy_loss",
-            "ActionFlags": ["report"],
+            "ActionFlags": ["report", "heartbeat_call_home"],
             "MfgActionFlags": ["service_action", "report", "call_home"],
             "ComponentID": "0x2700",
 
diff --git a/extensions/openpower-pels/registry/schema/schema.json b/extensions/openpower-pels/registry/schema/schema.json
index d4fea9d..2391fea 100644
--- a/extensions/openpower-pels/registry/schema/schema.json
+++ b/extensions/openpower-pels/registry/schema/schema.json
@@ -389,7 +389,8 @@
                     "dont_report",
                     "call_home",
                     "isolation_incomplete",
-                    "termination"
+                    "termination",
+                    "heartbeat_call_home"
                 ]
             }
         },
diff --git a/test/openpower-pels/registry_test.cpp b/test/openpower-pels/registry_test.cpp
index ce17e9b..322c25b 100644
--- a/test/openpower-pels/registry_test.cpp
+++ b/test/openpower-pels/registry_test.cpp
@@ -153,6 +153,29 @@
                     }
                 ]
             }
+        },
+
+        {
+            "Name": "org.open_power.PHAL.Info.ClockDailyLog",
+            "Subsystem": "cec_clocks",
+            "ComponentID": "0x3000",
+            "Severity": "non_error",
+            "ActionFlags": ["report", "call_home", "heartbeat_call_home"],
+
+            "SRC":
+            {
+                "ReasonCode": "0x300A",
+                "Words6To9": {}
+            },
+
+            "Documentation":
+            {
+                "Description": "Informational error to house clock debug info",
+                "Message": "Informational error to house clock debug info",
+                "Notes": [
+                    "User data includes processor and clock register state information."
+                ]
+            }
         }
     ]
 }
@@ -261,6 +284,12 @@
     entry = registry.lookup("0x2333", LookupType::reasonCode);
     ASSERT_TRUE(entry);
     EXPECT_EQ(entry->name, "xyz.openbmc_project.Power.OverVoltage");
+
+    entry = registry.lookup("org.open_power.PHAL.Info.ClockDailyLog",
+                            LookupType::name);
+    ASSERT_TRUE(entry);
+    EXPECT_EQ(entry->name, "org.open_power.PHAL.Info.ClockDailyLog");
+    EXPECT_EQ(*(entry->actionFlags), 0x2820);
 }
 
 // Check the entry that mostly uses defaults
@@ -319,6 +348,12 @@
                                    "termination"};
     EXPECT_EQ(getActionFlags(flags), 0x9100);
 
+    flags.push_back("heartbeat_call_home");
+    EXPECT_EQ(getActionFlags(flags), 0x9120);
+    flags.clear();
+    flags.push_back("heartbeat_call_home");
+    EXPECT_EQ(getActionFlags(flags), 0x0020);
+
     flags.clear();
     flags.push_back("foo");
     EXPECT_THROW(getActionFlags(flags), std::runtime_error);
