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)