diff --git a/shared/workspaces/workspaces/system/enums.py b/shared/workspaces/workspaces/system/enums.py
index 5ce5ca60b74c6be6766673ea5dd4cbe37a4fd797..881f08fe65e68e383f83b5a429421194fd170502 100644
--- a/shared/workspaces/workspaces/system/enums.py
+++ b/shared/workspaces/workspaces/system/enums.py
@@ -43,6 +43,7 @@ class RemoteWorkflows(Enum):
     """
 
     SECI = "vlass_seci"
+    CUBE = "vlass_coarse"
     DOWNLOAD = "test_download"  # listed as remote due to ALMA downloads running in CV, but still requires lustre access
     CARTA = "carta"
     STD_CALIBRATION = "std_calibration"
diff --git a/shared/workspaces/workspaces/workflow/enum.py b/shared/workspaces/workspaces/workflow/enum.py
index 748c649b244dbf7a86edc4c31b4dc7bf45d534d5..7128ccae17459b99c370c474451c5808955f2bd5 100644
--- a/shared/workspaces/workspaces/workflow/enum.py
+++ b/shared/workspaces/workspaces/workflow/enum.py
@@ -42,6 +42,7 @@ class ArchiveWorkflows(Enum):
 
     CARTA = "carta"
     SECI = "vlass_seci"
+    CUBE = "vlass_coarse"
     INGEST_SECI = "ingest_seci"
 
     @classmethod
diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py
index cc50db3e86c3feaf4a35b0820e8bd2d25c7cab21..d40dd40ba197ac91442f6dec865e49b0e80cc144 100644
--- a/shared/workspaces/workspaces/workflow/services/workflow_service.py
+++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py
@@ -958,6 +958,14 @@ class WorkflowMessageHandler:
             )
             self.archive_messenger.send_message(**seci_msg)
 
+        if wf_request.workflow_name == ArchiveWorkflows.CUBE.value:
+            logger.info(f"SENDING FAILED COARSE CUBE MESSAGE to VLASS Manager for request #{wf_id}!")
+            routing_key = f"ws-workflow.coarse_cube.{wf_id}"
+            cube_msg = ArchiveMessageArchitect(routing_key=routing_key, request=wf_request).compose_message(
+                "coarse_cube_failed"
+            )
+            self.archive_messenger.send_message(**cube_msg)
+
     def send_archive_complete_event(self, **message: Dict):
         subject = message["subject"]
         wf_id = subject["workflow_request_id"]
@@ -971,6 +979,14 @@ class WorkflowMessageHandler:
             )
             self.archive_messenger.send_message(**seci_msg)
 
+        if wf_request.workflow_name == ArchiveWorkflows.CUBE.value:
+            logger.info(f"SENDING COARSE CUBE COMPLETE MESSAGE to VLASS Manager for request #{wf_id}!")
+            routing_key = f"ws-workflow.coarse_cube.{wf_id}"
+            cube_msg = ArchiveMessageArchitect(routing_key=routing_key, request=wf_request).compose_message(
+                "coarse_cube_complete"
+            )
+            self.archive_messenger.send_message(**cube_msg)
+
     @staticmethod
     def clean_remote_workflow(request: WorkflowRequest):
         injector = CapoInjector(request)