Skip to content

Routing to external systems (Manager workflow)

Some occurrence categories may be handled by external systems (contractors, CRMs, service desks).

What routing does

When routing is enabled, the system can automatically send newly submitted occurrences to: - Email (a configured address) - Open311-compatible endpoint - Webhook endpoint

Routing is configured per municipality and per category.

Operational controls

Routing rules can be paused: - If paused, the system queues deliveries for later processing (instead of sending immediately). - This is useful during incidents, vendor downtime, or planned maintenance.

What to monitor

  • Failed deliveries (if exposed in your ops workflow)
  • Paused routing (ensure it gets resumed)
  • Whether routing reduces staff workload or creates follow-up work

Behind the scenes (grounded in code)

  • Routing model: CategoryRouting
  • Routing decision/execution: WorkflowPolicyService.route_occurrence
  • Delivery queue when paused: OutboundDelivery
  • Worker tasks: route_occurrence_email, route_occurrence_open311, route_occurrence_webhook in apps/occurrences/tasks.py