diff --git a/gso/oss-params-example.json b/gso/oss-params-example.json
index 51702b5963ec89b763a87022ea9a8d3aeb6f4a93..ff6eb33dc70bcaad8cf453e5d678483cadb79c5f 100644
--- a/gso/oss-params-example.json
+++ b/gso/oss-params-example.json
@@ -91,5 +91,8 @@
     "starttls_enabled": true,
     "smtp_username": "username",
     "smtp_password": "password"
+  },
+  "SHAREPOINT": {
+    "checklist_site_url": "https://example.sharepoint.com/sites/example-site"
   }
 }
diff --git a/gso/settings.py b/gso/settings.py
index 2c86b723fa71b539df580d8d9eeecd20260dd13c..a49b3645bc30a00054eb3598cdaa09a6ddc8b6c3 100644
--- a/gso/settings.py
+++ b/gso/settings.py
@@ -166,6 +166,13 @@ class EmailParams(BaseSettings):
     smtp_password: str | None
 
 
+class SharepointParams(BaseSettings):
+    """Settings for different Sharepoint sites."""
+
+    # TODO: Stricter typing after pydantic 2.x upgrade
+    checklist_site_url: str
+
+
 class OSSParams(BaseSettings):
     """The set of parameters required for running :term:`GSO`."""
 
@@ -177,6 +184,7 @@ class OSSParams(BaseSettings):
     CELERY: CeleryParams
     THIRD_PARTY_API_KEYS: dict[str, str]
     EMAIL: EmailParams
+    SHAREPOINT: SharepointParams
 
 
 def load_oss_params() -> OSSParams:
diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py
index 30e7175e3b498429b69be648955d4a6253177011..978e33ba3205edd747e2193a30eca2f82699a77f 100644
--- a/gso/workflows/router/create_router.py
+++ b/gso/workflows/router/create_router.py
@@ -14,12 +14,13 @@ from pydantic import validator
 from pydantic_forms.core import ReadOnlyField
 
 from gso.products.product_blocks.router import RouterRole
-from gso.products.product_types.router import RouterInactive
+from gso.products.product_types.router import RouterInactive, RouterProvisioning
 from gso.products.product_types.site import Site
 from gso.services import infoblox, subscriptions
 from gso.services.crm import get_customer_by_name
 from gso.services.netbox_client import NetboxClient
 from gso.services.provisioning_proxy import pp_interaction
+from gso.settings import load_oss_params
 from gso.utils.helpers import generate_fqdn, iso_from_ipv4
 from gso.utils.shared_enums import PortNumber, Vendor
 from gso.utils.workflow_steps import deploy_base_config_dry, deploy_base_config_real, run_checks_after_base_config
@@ -222,6 +223,26 @@ def prompt_insert_in_radius(subscription: RouterInactive) -> FormGenerator:
     return {}
 
 
+@inputstep("Prompt for new Sharepoint checklist", assignee=Assignee.SYSTEM)
+def prompt_start_new_checklist(subscription: RouterProvisioning) -> FormGenerator:
+    """Prompt the operator to start a new checklist in Sharepoint for approving this new router."""
+    oss_params = load_oss_params()
+
+    class SharepointPrompt(FormPage):
+        class Config:
+            title = "Start new checklist"
+
+        info_label_1: Label = (
+            f"Visit {oss_params.SHAREPOINT.checklist_site_url} and start a new Sharepoint checklist for "
+            f"{subscription.router.router_fqdn}."  # type: ignore[assignment]
+        )
+        info_label_2: Label = "Once this is done, click proceed to finish the workflow."  # type: ignore[assignment]
+
+    yield SharepointPrompt
+
+    return {}
+
+
 @workflow(
     "Create router",
     initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
@@ -254,6 +275,7 @@ def create_router() -> StepList:
         >> router_is_nokia(create_netbox_device)
         >> pp_interaction(run_checks_after_base_config)
         >> set_status(SubscriptionLifecycle.PROVISIONING)
+        >> prompt_start_new_checklist
         >> resync
         >> done
     )
diff --git a/test/workflows/router/test_create_router.py b/test/workflows/router/test_create_router.py
index fbfd09e416875e44aa9ffb30740a9c5325e8c1fe..62808258924a554a8a0ff763a5943080c81afd45 100644
--- a/test/workflows/router/test_create_router.py
+++ b/test/workflows/router/test_create_router.py
@@ -94,6 +94,9 @@ def test_create_nokia_router_success(
 
     result, step_log = assert_pp_interaction_success(result, process_stat, step_log)
 
+    assert_suspended(result)
+    result, step_log = resume_workflow(process_stat, step_log, input_data=USER_CONFIRM_EMPTY_FORM)
+
     assert_complete(result)
 
     state = extract_state(result)