diff --git a/services/capability/src/capability/server.py b/services/capability/src/capability/server.py
index 518baa3b177e67ec7f36bd873c3fbf1fbf9c1532..fd99f58765d56ad91fed55e58d4be1804a8112b5 100644
--- a/services/capability/src/capability/server.py
+++ b/services/capability/src/capability/server.py
@@ -51,7 +51,7 @@ class CapabilityRestService:
     def create(self):
         # create a capability request for this ... request
         req = self.request.json_body
-        request = self.request.capabilities.create_request(req["capability"])
+        request = self.request.capabilities.create_request(req["capability"], req["args"])
         return request
 
     @view_config(
diff --git a/shared/workspaces/workspaces/capability/helpers.py b/shared/workspaces/workspaces/capability/helpers.py
index 33aa82189dd764b6f0a15c82def3e6bd2e1f53d2..13b42bc83259c5145d4715ed57b32e34d5c57755 100644
--- a/shared/workspaces/workspaces/capability/helpers.py
+++ b/shared/workspaces/workspaces/capability/helpers.py
@@ -114,12 +114,15 @@ class CapabilitySequence(CapabilitySequenceIF):
 class PrepareAndRunWorkflow(CapabilityStep):
     def execute(self, engine: CapabilityEngineIF, execution: CapabilityExecutionIF):
         workflow_name = self.step_value
-        workflow_args = self.step_args
+        parameters = execution.capability_request.parameters
         # FIXME: Add support for files
         files = []
-        if workflow_args is not None:
-            workflow_args = json.loads(workflow_args)
-        engine.submit_workflow_request(workflow_name, workflow_args, files)
+        if parameters is not None:
+            # convert to json string because json cares about single vs. double quotes.
+            # DO NOT TAKE THIS OUT! Python will yell at you.
+            parameters = json.dumps(parameters)
+            workflow_args = json.loads(parameters)
+        engine.submit_workflow_request(execution.id, workflow_name, workflow_args, files)
 
 
 class AwaitQa(CapabilityStep):