diff --git a/src/components/parameter-schema/ParameterSchemaFormComponent.vue b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
index ed64353529cca205ce44e899f0e2c3ac2d2a737e..c100465a47a38563f851b23c60ce74d9e212aa4c 100644
--- a/src/components/parameter-schema/ParameterSchemaFormComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
@@ -15,6 +15,7 @@ import type { ClowmInfo } from "@/types/ClowmInfo";
 import UploadParameterFileModal from "@/components/parameter-schema/UploadParameterFileModal.vue";
 import type {
   TemporaryParams,
+  WorkflowMetaParameters,
   WorkflowParameters,
 } from "@/types/WorkflowParameters";
 import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
@@ -55,10 +56,7 @@ const emit = defineEmits<{
   (
     e: "start-workflow",
     parameters: WorkflowParameters,
-    notes?: string,
-    logs_s3_path?: string,
-    debug_s3_path?: string,
-    provenance_s3_path?: string,
+    metaParameters: WorkflowMetaParameters,
   ): void;
 }>();
 
@@ -90,18 +88,17 @@ const launchForm = ref<HTMLFormElement | null>(null);
 const formState = reactive<{
   formInput: WorkflowParameters;
   validated: boolean;
-  pipelineNotes: string;
-  logs_s3_path?: string;
-  debug_s3_path?: string;
-  provenance_s3_path?: string;
+  metaParameters: WorkflowMetaParameters;
   errorType?: string;
 }>({
   formInput: {},
   validated: false,
-  pipelineNotes: "",
-  logs_s3_path: undefined,
-  debug_s3_path: undefined,
-  provenance_s3_path: undefined,
+  metaParameters: {
+    logs_s3_path: undefined,
+    debug_s3_path: undefined,
+    provenance_s3_path: undefined,
+    notes: undefined,
+  },
   errorType: undefined,
 });
 
@@ -191,14 +188,7 @@ function startWorkflow() {
       console.error(validateSchema.errors);
       errorToast?.show();
     } else {
-      emit(
-        "start-workflow",
-        formState.formInput,
-        formState.pipelineNotes,
-        formState.logs_s3_path,
-        formState.debug_s3_path,
-        formState.provenance_s3_path,
-      );
+      emit("start-workflow", formState.formInput, formState.metaParameters);
     }
   } else {
     formState.errorType = "form";
@@ -213,10 +203,7 @@ function loadParameters(tempParams?: TemporaryParams) {
         formState.formInput[param] = tempParams.params[param];
       }
     }
-    formState.pipelineNotes = tempParams.metaParams.notes ?? "";
-    formState.logs_s3_path = tempParams.metaParams.logs_s3_path;
-    formState.provenance_s3_path = tempParams.metaParams.provenance_s3_path;
-    formState.debug_s3_path = tempParams.metaParams.debug_s3_path;
+    formState.metaParameters = tempParams.metaParams;
     if (Object.keys(tempParams?.params ?? {}).length > 0) {
       parameterLoadToast?.show();
     }
@@ -285,8 +272,7 @@ onMounted(() => {
     >
       <template v-for="(group, groupName) in parameterGroups" :key="groupName">
         <parameter-group-form
-          :modelValue="formState.formInput"
-          @update:model-value="(newValue) => (formState.formInput = newValue)"
+          v-model="formState.formInput"
           v-if="formState.formInput"
           :parameter-group-name="groupName"
           :parameter-group="group"
@@ -319,7 +305,7 @@ onMounted(() => {
               <textarea
                 class="form-control border border-secondary"
                 rows="2"
-                v-model="formState.pipelineNotes"
+                v-model="formState.metaParameters.notes"
               />
             </div>
             <label class="mb-3" for="pipelineNotes"
@@ -337,7 +323,7 @@ onMounted(() => {
               </span>
               <parameter-string-input
                 parameter-name="logs_s3_path"
-                v-model="formState.logs_s3_path"
+                v-model="formState.metaParameters.logs_s3_path"
                 :parameter="{
                   format: 'directory-path',
                   type: 'string',
@@ -360,7 +346,7 @@ onMounted(() => {
               </span>
               <parameter-string-input
                 parameter-name="provenance_s3_path"
-                v-model="formState.provenance_s3_path"
+                v-model="formState.metaParameters.provenance_s3_path"
                 :parameter="{
                   format: 'directory-path',
                   type: 'string',
@@ -384,7 +370,7 @@ onMounted(() => {
               </span>
               <parameter-string-input
                 parameter-name="debug_s3_path"
-                v-model="formState.debug_s3_path"
+                v-model="formState.metaParameters.debug_s3_path"
                 :parameter="{
                   format: 'directory-path',
                   type: 'string',
diff --git a/src/components/parameter-schema/form-mode/ParameterGroupForm.vue b/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
index 836ff273740499ed3b5c712a5cf513b90b5d9ba4..9d4b0f398b7cf79348714c6bcabdf6f013d0d74f 100644
--- a/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
+++ b/src/components/parameter-schema/form-mode/ParameterGroupForm.vue
@@ -101,32 +101,42 @@ function parameterRequired(
             >
               <font-awesome-icon :icon="parameter['fa_icon']" />
             </span>
-            <parameter-number-input
+            <template
               v-if="
                 parameter['type'] === 'number' ||
                 parameter['type'] === 'integer'
               "
-              :parameter-name="parameterName"
-              :parameter="parameter"
-              :help-id="parameterName + '-help'"
-              :required="parameterRequired(parameterGroup, parameterName)"
-              v-model="model[parameterName]"
-            />
-            <parameter-boolean-input
-              v-else-if="parameter['type'] === 'boolean'"
-              :parameter-name="parameterName"
-              :parameter="parameter"
-              :help-id="parameterName + '-help'"
-              v-model="model[parameterName]"
-            />
-            <template v-else-if="parameter['type'] === 'string'">
-              <parameter-enum-input
-                v-if="parameter['enum']"
+            >
+              <!-- @vue-ignore -->
+              <parameter-number-input
                 :parameter-name="parameterName"
                 :parameter="parameter"
+                :help-id="parameterName + '-help'"
                 :required="parameterRequired(parameterGroup, parameterName)"
                 v-model="model[parameterName]"
               />
+            </template>
+            <template v-else-if="parameter['type'] === 'boolean'">
+              <!-- @vue-ignore -->
+              <parameter-boolean-input
+                :parameter-name="parameterName"
+                :parameter="parameter"
+                :help-id="parameterName + '-help'"
+                v-model="model[parameterName]"
+              />
+            </template>
+            <template v-else-if="parameter['type'] === 'string'">
+              <!-- @vue-ignore -->
+              <template v-if="parameter['enum']">
+                <!-- @vue-ignore -->
+                <parameter-enum-input
+                  :parameter-name="parameterName"
+                  :parameter="parameter"
+                  :required="parameterRequired(parameterGroup, parameterName)"
+                  v-model="model[parameterName]"
+                />
+              </template>
+              <!-- @vue-ignore -->
               <parameter-string-input
                 v-else
                 :parameter-name="parameterName"
diff --git a/src/views/workflows/ArbitraryWorkflowView.vue b/src/views/workflows/ArbitraryWorkflowView.vue
index a32fd64a807377857fe768b161aa864dd700a078..ff7589e1b776ae75e2de9864795743fbaddc0ab3 100644
--- a/src/views/workflows/ArbitraryWorkflowView.vue
+++ b/src/views/workflows/ArbitraryWorkflowView.vue
@@ -11,7 +11,10 @@ import type { WorkflowIn } from "@/client/workflow";
 import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
 import ParameterSchemaFormComponent from "@/components/parameter-schema/ParameterSchemaFormComponent.vue";
 import BootstrapToast from "@/components/BootstrapToast.vue";
-import type { WorkflowParameters } from "@/types/WorkflowParameters";
+import type {
+  WorkflowMetaParameters,
+  WorkflowParameters,
+} from "@/types/WorkflowParameters";
 
 const props = defineProps<{
   wid: string;
@@ -94,10 +97,7 @@ watch(
 
 function startWorkflow(
   parameters: WorkflowParameters,
-  notes?: string,
-  logs_s3_path?: string,
-  debug_s3_path?: string,
-  provenance_s3_path?: string,
+  metaParameters: WorkflowMetaParameters,
 ) {
   if (workflowState.workflow) {
     errorToast?.hide();
@@ -106,9 +106,9 @@ function startWorkflow(
       .startDevExecution({
         git_commit_hash: workflowState.workflow.git_commit_hash,
         parameters: parameters,
-        logs_s3_path: logs_s3_path ? logs_s3_path : undefined,
-        debug_s3_path: debug_s3_path ? debug_s3_path : undefined,
-        provenance_s3_path: provenance_s3_path ? provenance_s3_path : undefined,
+        logs_s3_path: metaParameters.logs_s3_path,
+        debug_s3_path: metaParameters.debug_s3_path,
+        provenance_s3_path: metaParameters.provenance_s3_path,
         repository_url: workflowState.workflow.repository_url,
         token: workflowState.workflow.token ?? undefined,
         mode:
diff --git a/src/views/workflows/StartWorkflowView.vue b/src/views/workflows/StartWorkflowView.vue
index df2f89e29afcc73b3fd3bcefb77027d39aa9eb74..e6fde26d083723352bb271517dadc2c2b077585f 100644
--- a/src/views/workflows/StartWorkflowView.vue
+++ b/src/views/workflows/StartWorkflowView.vue
@@ -8,7 +8,10 @@ import { Toast } from "bootstrap";
 import { useWorkflowExecutionStore } from "@/stores/workflowExecutions";
 import BootstrapToast from "@/components/BootstrapToast.vue";
 import { useWorkflowStore } from "@/stores/workflows";
-import type { WorkflowParameters } from "@/types/WorkflowParameters";
+import type {
+  WorkflowMetaParameters,
+  WorkflowParameters,
+} from "@/types/WorkflowParameters";
 
 const executionRepository = useWorkflowExecutionStore();
 const workflowRepository = useWorkflowStore();
@@ -69,10 +72,7 @@ function downloadParameterSchema() {
 
 function startWorkflow(
   parameters: WorkflowParameters,
-  notes?: string,
-  logs_s3_path?: string,
-  debug_s3_path?: string,
-  provenance_s3_path?: string,
+  metaParameters: WorkflowMetaParameters,
 ) {
   if (props.versionId) {
     versionState.workflowExecutionError = undefined;
@@ -81,12 +81,10 @@ function startWorkflow(
       .startExecution({
         workflow_version_id: props.versionId,
         parameters: parameters,
-        notes: notes,
-        logs_s3_path: logs_s3_path?.length ?? 0 > 0 ? logs_s3_path : undefined,
-        debug_s3_path:
-          debug_s3_path?.length ?? 0 > 0 ? debug_s3_path : undefined,
-        provenance_s3_path:
-          provenance_s3_path?.length ?? 0 > 0 ? provenance_s3_path : undefined,
+        notes: metaParameters.notes,
+        logs_s3_path: metaParameters.logs_s3_path,
+        debug_s3_path: metaParameters.debug_s3_path,
+        provenance_s3_path: metaParameters.provenance_s3_path,
         mode_id: props.workflowModeId,
       })
       .then(() => {