Skip to content

Configure workflows (Administrator setup)

This page is for municipality administrators who configure “how work flows” for their municipality.

Where configuration lives

Configuration is managed in Django Admin.

Recommended setup path: 1. Open your municipality record 2. Configure priorities + SLA targets 3. Configure escalation rules (optional) 4. Configure workflow states + allowed transitions 5. Configure response templates + auto-response rules 6. Configure duplicate detection policy 7. Configure category routing (optional)

1) Workflow states and transitions

Use states to describe your internal workflow (e.g., Received → Scheduled → Resolved → Closed).

Transitions: - define which “next states” are allowed, - can be restricted by staff role (optional).

2) Response templates and auto-responses

Templates: - standardize messages to citizens, - support placeholders.

Auto-response rules: - trigger templates on events (create, status/state change, assignment, etc.), - support per-category rules and priority ordering.

3) Priorities, SLAs, escalations

Priorities can define: - first response target (hours), - resolution target (hours).

Escalation rules determine who is notified as deadlines approach or breach.

4) Duplicate detection

Duplicate detection can: - suggest similar reports, - auto-link, - or block a submission (depending on your policy).

5) Category routing (optional)

Route certain categories outside the system: - email, - Open311, - webhook.

Use pause controls to temporarily queue deliveries.

Behind the scenes (grounded in code)

  • Admin UI: apps/occurrences/admin.py, apps/municipalities/admin.py
  • Core models: apps/occurrences/models.py (states, templates, priorities, escalations, routing, duplicates)
  • Runtime policy layer: apps/occurrences/services/workflow_policy.py
  • Feature flags: config/settings/base.py (OCCURRENCES_WORKFLOW_FEATURES)