diff --git a/keep-ui/features/workflows/manual-run-workflow/ui/manual-run-workflow-modal.tsx b/keep-ui/features/workflows/manual-run-workflow/ui/manual-run-workflow-modal.tsx index 60e3f232d0..d8ddbe0e01 100644 --- a/keep-ui/features/workflows/manual-run-workflow/ui/manual-run-workflow-modal.tsx +++ b/keep-ui/features/workflows/manual-run-workflow/ui/manual-run-workflow-modal.tsx @@ -48,6 +48,7 @@ export function ManualRunWorkflowModal({ >(undefined); const [workflowInputs, setWorkflowInputs] = useState([]); const [inputValues, setInputValues] = useState>({}); + const [isRunning, setIsRunning] = useState(false); const { workflows } = useWorkflowsV2({ ...DEFAULT_WORKFLOWS_QUERY, limit: 100, // Fetch more workflows at once for the dropdown @@ -128,6 +129,10 @@ export function ManualRunWorkflowModal({ }; const handleRun = async () => { + if (isRunning) { + return; + } + setIsRunning(true); try { if (onSubmit) { // If onSubmit prop is provided, use it (for WorkflowDetailHeader usage) @@ -161,10 +166,12 @@ export function ManualRunWorkflowModal({ ); } + clearAndClose(); } catch (error) { showErrorToast(error, "Failed to start workflow"); + } finally { + setIsRunning(false); } - clearAndClose(); }; const WorkflowSelect = (props: any) => { @@ -293,13 +300,20 @@ export function ManualRunWorkflowModal({ ) : null}
-