diff --git a/.changeset/lovely-windows-return.md b/.changeset/lovely-windows-return.md
new file mode 100644
index 0000000000..55755af563
--- /dev/null
+++ b/.changeset/lovely-windows-return.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Disable all buttons in the final step when 'Create' button is clicked in template.
diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
index cdcc22da29..62c2881ab0 100644
--- a/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
+++ b/plugins/scaffolder/src/components/MultistepJsonForm/MultistepJsonForm.tsx
@@ -112,6 +112,7 @@ export const MultistepJsonForm = ({
widgets,
}: Props) => {
const [activeStep, setActiveStep] = useState(0);
+ const [disableButtons, setDisableButtons] = useState(false);
const handleReset = () => {
setActiveStep(0);
@@ -121,6 +122,10 @@ export const MultistepJsonForm = ({
setActiveStep(Math.min(activeStep + 1, steps.length));
};
const handleBack = () => setActiveStep(Math.max(activeStep - 1, 0));
+ const handleCreate = () => {
+ setDisableButtons(true);
+ onFinish();
+ };
return (
<>
@@ -172,9 +177,18 @@ export const MultistepJsonForm = ({
metadata={getReviewData(formData, steps)}
/>
-
-
-