diff --git a/gso/services/provisioning_proxy.py b/gso/services/provisioning_proxy.py
index 601e12cc98557369387d36cd8e79906e222fab90..513f40dbf2890fd66731c979c617b7a3f67b7abf 100644
--- a/gso/services/provisioning_proxy.py
+++ b/gso/services/provisioning_proxy.py
@@ -7,10 +7,14 @@ import logging
 
 import requests
 from orchestrator import step
+from orchestrator.config.assignee import Assignee
 from orchestrator.types import State, UUIDstr, strEnum
 from orchestrator.utils.errors import ProcessFailureError
 from orchestrator.utils.json import json_dumps
-from orchestrator.workflow import Step, callback_step, begin, StepList
+from orchestrator.workflow import Step, callback_step, begin, StepList, inputstep
+from pydantic_forms.core import FormPage, ReadOnlyField
+from pydantic_forms.types import FormGenerator
+from pydantic_forms.validators import LongText
 
 from gso import settings
 from gso.products.product_types.iptrunk import Iptrunk, IptrunkProvisioning
@@ -268,7 +272,23 @@ def _clean_up_state(state: State) -> State:
     return state
 
 
+@inputstep("Confirm provisioning proxy results", assignee=Assignee("SYSTEM"))
+def _show_pp_results(state: State) -> FormGenerator:
+    if "callback_result" not in state:
+        return state
+
+    class ConfirmRunPage(FormPage):
+        class Config:
+            title: str = f"Execution for {state['subscription']['product']['name']} completed."
+
+        run_status: str = ReadOnlyField(state["callback_result"]["status"])
+        run_results: LongText = ReadOnlyField(json.dumps(state["callback_result"]["output"], indent=4))
+
+    yield ConfirmRunPage
+    return state
+
+
 def pp_interaction(provisioning_step: Step, interaction_name: str) -> StepList:
     return begin >> callback_step(
         name=interaction_name, action_step=provisioning_step, validate_step=_evaluate_pp_results
-    ) >> _clean_up_state
+    ) >> _show_pp_results >> _clean_up_state