diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py
index c2658874d0d02e0fecff810860c9f68cb4baf49f..b181aa0e45473593ee19b3c46cc207f69678d190 100644
--- a/shared/workspaces/workspaces/workflow/services/workflow_service.py
+++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py
@@ -991,7 +991,7 @@ class WorkflowMessageHandler:
             request.htcondor_iterations = request.htcondor_iterations + 1
 
             if request.htcondor_iterations > self.ITERATION_LIMIT:
-                status = WorkflowRequestState.Error
+                status = WorkflowRequestState.Error.name
                 user_message = (
                     f"Found possible infinite rescheduling loop in "
                     f"request #{request.workflow_request_id}, HTCondor iteration "
@@ -1009,15 +1009,16 @@ class WorkflowMessageHandler:
                 )
                 logger.warning(user_message)
 
-            # update UI
-            iterations_msg = WorkflowMessageArchitect(
-                request=request,
-                json_payload={
-                    "htcondor_iterations": request.htcondor_iterations,
-                    "user_warning_message": user_message,
-                },
-            ).compose_message("update_wf_metadata")
-            self.messenger.send_message(**iterations_msg)
+            if request.controller == "WS":
+                # update UI, but don't try sending for externally initiated workflows
+                iterations_msg = WorkflowMessageArchitect(
+                    request=request,
+                    json_payload={
+                        "htcondor_iterations": request.htcondor_iterations,
+                        "user_warning_message": user_message,
+                    },
+                ).compose_message("update_wf_metadata")
+                self.messenger.send_message(**iterations_msg)
 
         elif message["type"] == "workflow-complete":
             request = self.info.refresh_request(request)