CE-64: Pipeline Tracks — Admin Guide
Version: 1.0.0 Last Updated: 2026-05-16 Module: CE (Community Engagement) Status: ActivePurpose: Help administrators configure multi-track service-line pipelines for the CE Leads kanban board.
Overview
CE-64 introduces pipeline tracks — org-scoped service lines (e.g. Residential, IOP, PHP, Outpatient) that group lead stages on the pipeline board. Each lead belongs to exactly one track. The board renders one horizontal row per active track, with that track’s stages displayed left-to-right.- Spec:
specs/ce/specs/CE-64-multi-track-service-line-pipeline.md - Settings URL:
/ce/settings/pipeline-tracks - Required permission:
ce.pipeline_tracks.manage
Default Tracks
Every organization is seeded with a General track (markedis_default = true). Existing stages and leads were migrated into this track during the CE-64 rollout. The default track cannot be deleted while any lead references it.
You may add additional tracks (Residential, IOP, PHP, Outpatient, Sober Living, etc.) as needed.
Creating a Track
- Navigate to CE → Settings → Pipeline Tracks.
- Click New Track.
- Fill in:
- Name (required) — e.g.
Residential. - Color — optional hex value used for a thin row accent on the board.
- Associated Services — comma-separated list of service strings matching the CE-58
requested_servicespicklist. Leads whose requested services overlap this list are auto-assigned to this track on creation. - Active — inactive tracks are hidden from the board and from lead creation.
- Default — exactly one track per org is the fallback for leads that match no other track. Marking a new track default un-marks the previous default.
- Name (required) — e.g.
- Click Save.
sort_order.
Reordering Tracks
Use the ▲ / ▼ buttons in the list to change row order on the board. Changes persist immediately.Editing a Track
Click Edit on any row to update name, color, associated services, active flag, or default flag. Changing Associated Services affects only newly created leads — existing leads keep their assigned track until reassigned manually from the lead detail page.Deleting a Track
Delete is blocked if any active leads still reference the track. The UI shows the lead count and prompts you to reassign first. To reassign leads:- Open each affected lead’s detail page.
- Use the Pipeline Track selector to move it to another track.
- Retry the delete.
How Lead Track Assignment Works
- On create: The lead’s
requested_servicesare matched against active tracks’associated_services. A single match wins; zero or multiple matches fall back to the org’s default track. - Manually: Use the Pipeline Track card on the lead detail page. Changing the track clears the lead’s current stage because stages belong to tracks. The change is logged to CE-60 audit (identifiers only — no PHI).
Unassigned and Terminal Columns
Each track row includes its own Unassigned virtual column for active leads that have no stage set. A lead appears only in the Unassigned column of its own track. For example, a Recovery housing lead with no stage shows under the Recovery housing row, not under another track. If a lead’strack_id is missing or points to an inactive track, the board shows the lead under the org’s default track.
The board groups org-wide Converted and Lost virtual columns into a single Terminal row pinned below the active track rows. This keeps terminal leads visible without crowding any one track.
Collapse State on the Board
Each user may collapse/expand individual track rows. Collapse state is stored in browsersessionStorage per organization and does not sync across devices.
Permissions
References
- Spec: CE-64 Multi-Track Service Line Pipeline
- Plan: CE-64 Implementation Plan
- Context: CE-64 Implementation Context
- Integration: CE-64 Integration Contract