diff --git a/gso/services/netbox_client.py b/gso/services/netbox_client.py
index 570ecbeb1fb1865cc2c433fdf5047491deaa9a57..b79283cc9baf6f887ee22d63f852f711b4e89d16 100644
--- a/gso/services/netbox_client.py
+++ b/gso/services/netbox_client.py
@@ -5,7 +5,7 @@ from uuid import UUID
 
 import pydantic
 import pynetbox
-from pydantic_forms.types import UUIDstr
+from orchestrator.types import UUIDstr
 from pynetbox.models.dcim import Devices, DeviceTypes, Interfaces
 
 from gso.products.product_types.router import Router
diff --git a/gso/services/subscriptions.py b/gso/services/subscriptions.py
index 8a8bcf98eeaf7e490e294298c3e6b4af9a070c68..33db8fd9c56a9a58391ead9d2e3d3177936002e0 100644
--- a/gso/services/subscriptions.py
+++ b/gso/services/subscriptions.py
@@ -18,8 +18,7 @@ from orchestrator.db import (
 )
 from orchestrator.domain import SubscriptionModel
 from orchestrator.services.subscriptions import query_in_use_by_subscriptions
-from orchestrator.types import SubscriptionLifecycle
-from pydantic_forms.types import UUIDstr
+from orchestrator.types import SubscriptionLifecycle, UUIDstr
 
 from gso.products import ProductName, ProductType
 from gso.products.product_types.site import Site
diff --git a/gso/settings.py b/gso/settings.py
index f7d40de73c73cdb75ee7c6348210fb12c543100e..b7b62186c100b31154c70d626883caece02f93b1 100644
--- a/gso/settings.py
+++ b/gso/settings.py
@@ -11,8 +11,9 @@ import os
 from pathlib import Path
 from typing import Annotated
 
+from orchestrator.types import UUIDstr
 from pydantic import EmailStr, Field
-from pydantic_forms.types import UUIDstr, strEnum
+from pydantic_forms.types import strEnum
 from pydantic_settings import BaseSettings
 from typing_extensions import Doc
 
diff --git a/gso/utils/types/netbox_router.py b/gso/utils/types/netbox_router.py
index 2a302b5604363deb9062a9c6649ae2140a27a856..8ea14aa43391818219ba1d3020b2e62453229b07 100644
--- a/gso/utils/types/netbox_router.py
+++ b/gso/utils/types/netbox_router.py
@@ -2,8 +2,8 @@
 
 from typing import Annotated, TypeVar
 
+from orchestrator.types import UUIDstr
 from pydantic import AfterValidator
-from pydantic_forms.types import UUIDstr
 
 from gso.products.product_types.router import Router
 from gso.services.netbox_client import NetboxClient
diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py
index 13cef223c8dfd0160130064d8e29e2290aa54f75..ad374f23f11623074131c414f10c1ee208798272 100644
--- a/gso/workflows/router/terminate_router.py
+++ b/gso/workflows/router/terminate_router.py
@@ -3,13 +3,11 @@
 import ipaddress
 import json
 import logging
-from typing import Any
 
 from orchestrator.forms import FormPage
 from orchestrator.forms.validators import Label
 from orchestrator.targets import Target
-from orchestrator.types import FormGenerator, SubscriptionLifecycle, UUIDstr
-from orchestrator.utils.errors import ProcessFailureError
+from orchestrator.types import FormGenerator, State, SubscriptionLifecycle, UUIDstr
 from orchestrator.utils.json import json_dumps
 from orchestrator.workflow import StepList, begin, conditional, done, step, workflow
 from orchestrator.workflows.steps import (
@@ -19,6 +17,7 @@ from orchestrator.workflows.steps import (
     unsync,
 )
 from orchestrator.workflows.utils import wrap_modify_initial_input_form
+from requests import HTTPError
 
 from gso.products.product_blocks.router import RouterRole
 from gso.products.product_types.router import Router
@@ -224,13 +223,17 @@ def remove_pe_from_all_p_real(subscription: Router, tt_number: str, process_id:
 
 
 @step("Remove Device from Librenms")
-def remove_device_from_librenms(subscription: Router) -> None:
+def remove_device_from_librenms(subscription: Router) -> State | None:
     """Remove the device from LibreNMS."""
-    LibreNMSClient().remove_device(subscription.router.router_fqdn)
+    try:
+        LibreNMSClient().remove_device(subscription.router.router_fqdn)
+    except HTTPError as e:
+        return {"librenms_error": str(e)}
+    return None
 
 
 @step("Apply the archiving license in Kentik")
-def kentik_apply_archive_license(subscription: Router) -> dict[str, dict[str, Any]]:
+def kentik_apply_archive_license(subscription: Router) -> State:
     """Apply the archiving license to a PE router in Kentik.
 
     This includes setting the flow rate to one flow per second.
@@ -239,8 +242,7 @@ def kentik_apply_archive_license(subscription: Router) -> dict[str, dict[str, An
     kentik_archive_plan_id = kentik_client.get_plan_by_name(load_oss_params().KENTIK.archive_license_key)["id"]
     kentik_device = kentik_client.get_device_by_name(subscription.router.router_fqdn)
     if "id" not in kentik_device:
-        msg = "Failed to find Kentik device by name"
-        raise ProcessFailureError(msg, details=kentik_device)
+        return {"kentik_device": "Device not found, no license applied"}
 
     updated_device = {"device": {"plan_id": kentik_archive_plan_id, "device_sample_rate": 1}}
     kentik_device = kentik_client.update_device(kentik_device["id"], updated_device)
diff --git a/gso/workflows/router/validate_router.py b/gso/workflows/router/validate_router.py
index 9e13f521cb4edb062086b696846ff3d8bc17d8f9..ab6e3059f5b2e61ef0371290c115bf0be76cf41c 100644
--- a/gso/workflows/router/validate_router.py
+++ b/gso/workflows/router/validate_router.py
@@ -3,11 +3,11 @@
 from typing import Any
 
 from orchestrator.targets import Target
+from orchestrator.types import State, UUIDstr
 from orchestrator.utils.errors import ProcessFailureError
 from orchestrator.workflow import StepList, begin, conditional, done, step, workflow
 from orchestrator.workflows.steps import resync, store_process_subscription, unsync
 from orchestrator.workflows.utils import wrap_modify_initial_input_form
-from pydantic_forms.types import State, UUIDstr
 
 from gso.products.product_blocks.router import RouterRole
 from gso.products.product_types.router import Router
diff --git a/gso/workflows/tasks/delete_partners.py b/gso/workflows/tasks/delete_partners.py
index cd06cc06d541163d5de3e6a6c2797ddf1f9e016d..6eac752bbb417500d383d43fbc6ce2c3567031d1 100644
--- a/gso/workflows/tasks/delete_partners.py
+++ b/gso/workflows/tasks/delete_partners.py
@@ -4,10 +4,9 @@ from enum import Enum
 
 from orchestrator.forms import FormPage
 from orchestrator.targets import Target
-from orchestrator.types import FormGenerator, State
+from orchestrator.types import FormGenerator, State, UUIDstr
 from orchestrator.workflow import StepList, begin, done, step, workflow
 from pydantic import ConfigDict, EmailStr, field_validator
-from pydantic_forms.types import UUIDstr
 from pydantic_forms.validators import Choice
 
 from gso.services.partners import delete_partner, get_all_partners, get_partner_by_name
diff --git a/gso/workflows/tasks/modify_partners.py b/gso/workflows/tasks/modify_partners.py
index 46f912cc10824a83769480935011791e35739f3d..cb2daddac8d646c87e20d80449024707cb319d21 100644
--- a/gso/workflows/tasks/modify_partners.py
+++ b/gso/workflows/tasks/modify_partners.py
@@ -2,10 +2,9 @@
 
 from orchestrator.forms import FormPage
 from orchestrator.targets import Target
-from orchestrator.types import FormGenerator, State
+from orchestrator.types import FormGenerator, State, UUIDstr
 from orchestrator.workflow import StepList, begin, done, step, workflow
 from pydantic import ConfigDict, EmailStr, field_validator
-from pydantic_forms.types import UUIDstr
 from pydantic_forms.validators import Choice
 
 from gso.services.partners import (