diff --git a/geant_service_orchestrator/workflows/device/create_device.py b/geant_service_orchestrator/workflows/device/create_device.py
index 6a4f29f8d4c722d840b3630137339561bfe470e4..ab899f22dd105b86e9084d950788d415024ee34c 100644
--- a/geant_service_orchestrator/workflows/device/create_device.py
+++ b/geant_service_orchestrator/workflows/device/create_device.py
@@ -88,8 +88,8 @@ def initialize_subscription(
     return {"subscription": subscription}
 
 
-@step("Provision device")
-def provision_device(
+@step("Provision device [DRY RUN]")
+def provision_device_dry(
     subscription: DeviceProvisioning, fqdn: str, ts_address: str, ts_port: str
 ) -> State:
     import ansible_runner
@@ -114,7 +114,19 @@ def provision_device(
     out_splitted = out.splitlines()
 
     return {"output": out_splitted}
-    # return {"subscription": subscription, "status": "ciao", "pippo": "pluto"}
+
+
+@step("Confirm provisioning")
+def confirmation_form() -> FormGenerator:
+    class ConfirmActionForm(FormPage):
+        class Config:
+            title = "Confirm your action"
+
+        choice: bool
+
+    user_input = yield ConfirmActionForm
+
+    return user_input.dict()
 
 
 @workflow(
@@ -131,7 +143,7 @@ def create_device():
         >> get_info_from_ipam
         >> get_snmp_info
         >> initialize_subscription
-        >> provision_device
+        >> provision_device_dry
         >> set_status(SubscriptionLifecycle.ACTIVE)
         >> resync
         >> done