diff --git a/gso/settings.py b/gso/settings.py
index a49b3645bc30a00054eb3598cdaa09a6ddc8b6c3..ced74ba5c01f59555976396dc43ad268bc786c0b 100644
--- a/gso/settings.py
+++ b/gso/settings.py
@@ -169,7 +169,7 @@ class EmailParams(BaseSettings):
 class SharepointParams(BaseSettings):
     """Settings for different Sharepoint sites."""
 
-    # TODO: Stricter typing after pydantic 2.x upgrade
+    # TODO: Stricter typing after Pydantic 2.x upgrade
     checklist_site_url: str
 
 
diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py
index 7c4be562318211bf118980c17af9bc800597c5c4..e347d111c7689117816a7d60ec04d4571951fd01 100644
--- a/gso/workflows/iptrunk/create_iptrunk.py
+++ b/gso/workflows/iptrunk/create_iptrunk.py
@@ -3,12 +3,13 @@
 import json
 from uuid import uuid4
 
+from orchestrator.config.assignee import Assignee
 from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Choice, UniqueConstrainedList
+from orchestrator.forms.validators import Choice, Label, UniqueConstrainedList
 from orchestrator.targets import Target
 from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr
 from orchestrator.utils.json import json_dumps
-from orchestrator.workflow import StepList, conditional, done, init, step, workflow
+from orchestrator.workflow import StepList, conditional, done, init, inputstep, step, workflow
 from orchestrator.workflows.steps import resync, set_status, store_process_subscription
 from orchestrator.workflows.utils import wrap_create_initial_input_form
 from pydantic import validator
@@ -21,7 +22,7 @@ from gso.products.product_blocks.iptrunk import (
     IptrunkType,
     PhyPortCapacity,
 )
-from gso.products.product_types.iptrunk import IptrunkInactive
+from gso.products.product_types.iptrunk import IptrunkInactive, IptrunkProvisioning
 from gso.products.product_types.router import Router
 from gso.services import infoblox, subscriptions
 from gso.services.crm import get_customer_by_name
@@ -472,6 +473,27 @@ def netbox_allocate_side_b_interfaces(subscription: IptrunkInactive) -> None:
     _allocate_interfaces_in_netbox(subscription.iptrunk.iptrunk_sides[1])
 
 
+@inputstep("Prompt for new Sharepoint checklist", assignee=Assignee.SYSTEM)
+def prompt_start_new_checklist(subscription: IptrunkProvisioning) -> FormGenerator:
+    """Prompt the operator to start a new checklist in Sharepoint for approving this new IP trunk."""
+    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 an IPtrunk "  # type: ignore[assignment]
+            f"from {subscription.iptrunk.iptrunk_sides[0].iptrunk_side_node.router_fqdn} to "
+            f"{subscription.iptrunk.iptrunk_sides[1].iptrunk_side_node.router_fqdn}."
+        )
+        info_label_2: Label = "Once this is done, click proceed to finish the workflow."  # type: ignore[assignment]
+
+    yield SharepointPrompt
+
+    return {}
+
+
 @workflow(
     "Create IP trunk",
     initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),
@@ -510,6 +532,7 @@ def create_iptrunk() -> StepList:
         >> side_a_is_nokia(netbox_allocate_side_a_interfaces)
         >> side_b_is_nokia(netbox_allocate_side_b_interfaces)
         >> set_status(SubscriptionLifecycle.PROVISIONING)
+        >> prompt_start_new_checklist
         >> resync
         >> done
     )
diff --git a/test/workflows/iptrunk/test_create_iptrunk.py b/test/workflows/iptrunk/test_create_iptrunk.py
index 3aad9ae13e7132fdcd62b3acd31f1047c32ad8c3..af2793c710f60ba3e805a0999c930e39d7e8975d 100644
--- a/test/workflows/iptrunk/test_create_iptrunk.py
+++ b/test/workflows/iptrunk/test_create_iptrunk.py
@@ -8,12 +8,15 @@ from gso.products.product_blocks.iptrunk import IptrunkType, PhyPortCapacity
 from gso.services.subscriptions import get_product_id_by_name
 from gso.utils.helpers import LAGMember
 from gso.utils.shared_enums import Vendor
+from test import USER_CONFIRM_EMPTY_FORM
 from test.services.conftest import MockedNetboxClient
 from test.workflows import (
     assert_complete,
     assert_pp_interaction_failure,
     assert_pp_interaction_success,
+    assert_suspended,
     extract_state,
+    resume_workflow,
     run_workflow,
 )
 
@@ -120,6 +123,9 @@ def test_successful_iptrunk_creation_with_standard_lso_result(
     for _ in range(6):
         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)
@@ -196,4 +202,7 @@ def test_successful_iptrunk_creation_with_juniper_interface_names(
     for _ in range(6):
         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)