diff --git a/analyzer/analyzer_main.cpp b/analyzer/analyzer_main.cpp
index d304ed1..3cc1d65 100644
--- a/analyzer/analyzer_main.cpp
+++ b/analyzer/analyzer_main.cpp
@@ -2,6 +2,7 @@
 #include <libpdbg.h>
 #include <unistd.h>
 
+#include <analyzer/service_data.hpp>
 #include <hei_main.hpp>
 #include <phosphor-logging/log.hpp>
 #include <util/pdbg.hpp>
@@ -30,9 +31,11 @@
  * @brief Will create and submit a PEL using the given data.
  * @param i_rootCause A signature defining the attention root cause.
  * @param i_isoData   The data gathered during isolation (for FFDC).
+ * @param i_servData  Data regarding service actions gathered during analysis.
  */
 void createPel(const libhei::Signature& i_rootCause,
-               const libhei::IsolationData& i_isoData);
+               const libhei::IsolationData& i_isoData,
+               const ServiceData& i_servData);
 
 //------------------------------------------------------------------------------
 
@@ -139,10 +142,14 @@
                    util::pdbg::getPath(rootCause.getChip()),
                    rootCause.toUint32(), __attn(rootCause.getAttnType()));
 
-        // TODO: Perform service actions based on the root cause.
+        // TODO: Perform service actions based on the root cause. The default
+        // callout if none other exist is level 2 support.
+        ServiceData servData{};
+        servData.addCallout(std::make_shared<ProcedureCallout>(
+            ProcedureCallout::NEXTLVL, Callout::Priority::HIGH));
 
         // Create and commit a PEL.
-        createPel(rootCause, i_isoData);
+        createPel(rootCause, i_isoData, servData);
     }
 
     return attnFound;
diff --git a/analyzer/create_pel.cpp b/analyzer/create_pel.cpp
index b77d048..64463b2 100644
--- a/analyzer/create_pel.cpp
+++ b/analyzer/create_pel.cpp
@@ -1,5 +1,6 @@
 #include <unistd.h>
 
+#include <analyzer/service_data.hpp>
 #include <analyzer/util.hpp>
 #include <hei_main.hpp>
 #include <phosphor-logging/elog.hpp>
@@ -90,6 +91,24 @@
 
 //------------------------------------------------------------------------------
 
+void __addCalloutList(const ServiceData& i_servData,
+                      std::vector<util::FFDCFile>& io_userDataFiles)
+{
+    // Get the JSON output for the callout list.
+    nlohmann::json json;
+    i_servData.getCalloutList(json);
+
+    // Create a new entry for the user data section containing the callout list.
+    io_userDataFiles.emplace_back(util::FFDCFormat::JSON, FFDC_CALLOUTS,
+                                  FFDC_VERSION1);
+
+    // Use a file stream to write the JSON to file.
+    std::ofstream o{io_userDataFiles.back().getPath()};
+    o << json;
+}
+
+//------------------------------------------------------------------------------
+
 void __captureSignatureList(const libhei::IsolationData& i_isoData,
                             std::vector<util::FFDCFile>& io_userDataFiles)
 {
@@ -236,7 +255,8 @@
 //------------------------------------------------------------------------------
 
 void createPel(const libhei::Signature& i_rootCause,
-               const libhei::IsolationData& i_isoData)
+               const libhei::IsolationData& i_isoData,
+               const ServiceData& i_servData)
 {
     // The message registry will require additional log data to fill in keywords
     // and additional log data.
@@ -255,6 +275,9 @@
     // Set words 6-9 of the SRC.
     __setSrc(i_rootCause, logData);
 
+    // Add the list of callouts to the PEL.
+    __addCalloutList(i_servData, userDataFiles);
+
     // Capture the complete signature list.
     __captureSignatureList(i_isoData, userDataFiles);
 
