A structured intake channel for receiving crime reports from the public, Crime Stoppers, partner agencies, or internal units — with automatic case creation, triage routing, and a closed-loop communication trail from first report to case assignment.
This module bolts onto the Crime Investigation core template at the intake stage — adding a structured public-facing channel, an intake triage queue, and a communication record that carries through to case creation.
← Crime Investigation TemplateFrom the moment a member of the public or a partner agency submits a report to the moment it lands in an investigator's queue — every step is structured, logged, and tied to the resulting case record.
A report enters the system through any configured channel — a public web form, an email tip line, a phone submission transcribed by a call taker, a Crime Stoppers integration, or a partner agency referral via API. Each channel uses a configurable intake form that captures the minimum structured fields required for triage: incident type, approximate date/time and location, and a description of what was witnessed or experienced. File attachments — photos, screenshots, video clips — can be included at submission. Anonymous reports are fully supported; the submitter identity field is optional and never required.
Incoming reports land in a dedicated triage queue accessible to supervisors and intake coordinators. Before any case is created, each report is reviewed: it is classified by incident type, assigned an initial priority, and checked for duplicate matches against existing open cases. If a match is found, the new report can be attached to the existing case directly, with no duplicate case record created. Reports that don't match any existing case are cleared for escalation. The triage queue displays incoming volume at a glance — timestamp, incident type, location, and attachment count — so coordinators can work the queue in priority order without opening each record individually.
Once a report clears triage, Hubstream automatically creates a new case record — pulling the intake data, attachments, and submitter information (if provided) directly into the case file, with no manual re-entry. The case is assigned a reference number and routed to the appropriate investigative unit based on incident type and geographic jurisdiction. Routing rules are configurable by the agency: specific crime types can be auto-assigned to designated units, while others go to a general assignment queue. The intake coordinator receives a routing confirmation; the assigned investigator receives a notification with a direct link to the case.
For reports submitted through channels where a return contact is possible (non-anonymous email and web form submissions), Hubstream sends a configurable acknowledgment to the submitter confirming receipt and providing a report reference number. If an investigator needs additional information, a follow-up communication can be sent directly from the case record — with the exchange logged in the communication trail alongside the original report. Every outbound message, its timestamp, and its delivery status are retained on the intake record. Submitters never receive direct investigative details; all communications are reviewed and approved before sending.
The entities specific to the Crime Report Intake add-on. Each crime report record links into the broader Crime Investigation data model when a case is created.
The primary record created at submission. Exists independently in the intake queue until it is triaged, then either attached to an existing case or escalated to a new one.
The identity of the person who submitted the report, if provided. Anonymous reports create no submitter record. All submitter data is access-controlled and not visible to investigators by default.
Any file submitted alongside the crime report — a photo, screenshot, video clip, or document. Attachments are stored with the intake record and carried into the case file when escalated.
A logged outbound message sent to the submitter — an acknowledgment, a follow-up request, or a status update. All communications are reviewed and approved before sending and stored in sequence on the intake record.
Tracks how and where a triaged report was routed — which unit received it, which investigator was assigned, and how the routing decision was made. Preserved as part of the intake audit trail.
The relationship paths that keep intake records tied to investigations — and prevent the same information from being entered twice across separate cases.
When a crime report clears triage, it escalates directly into a case record — carrying all intake data, attachments, and submitter information with it. The original report is preserved in the case audit trail alongside the investigation record it spawned.
When triage identifies that a new report matches an existing open case — same location, time window, or incident description — the report is linked to that case as supplemental information rather than creating a duplicate. The investigator is notified of the new intake.
Files submitted with an intake report are carried directly into the evidence record of the resulting case — no manual re-upload required. Each attachment retains its original submission timestamp and submitter attribution, preserving chain of custody from the moment of submission.
When a non-anonymous submitter has submitted previous reports, those records are surfaced at triage — helping coordinators identify repeat reporters, corroborating witnesses, or individuals who have provided consistent information across multiple incidents.
This intake module is one of two add-ons that extend Hubstream's Crime Investigation template. View the complete 6-stage workflow, 12-entity data model, and relationship map.