TRAINING MODE - practice data, nothing here is real
Install West Broadway CSH Patrol DashboardAdd it to your home screen for one-tap access.
🚀 Push to live
Promotion runs from the machine with the repo and the deploy key. It deploys straight
to Google - GitHub Actions is not involved, so this works whether or not it has minutes.
Run this in the project folder:
bash .agents/scripts/promote-live-local.sh --yes
It refuses on a dirty tree, off the staging branch, or on a failed gate, and it tells
staff about the new version once production is actually serving it.
Send feedback / report a problem
Goes to the dashboard admins. The page you were on is attached automatically.
West Broadway CSH Patrol Dashboard
West Broadway Community Safety Pilot
or use email
Signing you in...
Access Restricted
Authorization Pending
Your account (user@example.com) is authenticated but not currently registered on the coordinator allowlist.
If you need access to this application, please request an administrator to add your email to the allowlist.
West Broadway CSH Patrol DashboardWB Patrol Dash
User NameRole
Dashboard Overview
Community Safety Host Live Status Workspace
This phone will not alert youPreview
Shift Briefing
Special instructions, BOLOs & pass-downs
Open Queue
Live - updating in real time
â–¸
Upcoming
0scheduled to appear later
Moveto
â–¸
Cleared
0already resolved
--Open items
--Opted-in sites
--Calls / week
Loading directory...
Fetching opted-in organization directory...
Failed to load directory details.
Map Coverage Stats
Total Sites:--
Anchor Sites:--
Geocoding Issues
Call Log
Last 50 calls - updating in real time
Admin Settings
Manage users, roles, and permission controls. All changes persist immediately to Firestore.
People and access
Messages that go out
The queue and the work in it
Waiting on a decision
Reference and tools
User Management
Allowlist controls. Users on this list can sign in; their role determines what they can do.
or send an email invite
Adds to the allowlist and emails a one-click sign-in link. No password needed.
Current users
Email
Role
Onboarding
Actions
Loading...
Share the patrol contact card
Give someone the patrol number and how to use it. Everything points at the same page, so what they see is always current — including this week’s hours.
Texts come from the patrol line, never from your own phone. Both go out the moment you press send.
Share Opt-In Link
Share the opt-in form with partner organizations by link or email.
Email a link to an organization
Broadcast Banner
Show a message to all users at the top of the app.
Send it to their phones
The banner above only reaches someone who already has the app open. Use this to tell people a feature exists, or that something changed. It goes to everyone with alerts turned on, whether or not they are on shift.
This goes to real phones the moment you press it, and cannot be recalled. Every send is recorded with who sent it and how many devices it reached.
Automatic emails to staff
Two jobs can email the team on their own. Both are off unless switched on here. Nothing sends to partner organizations from this card.
Proactive check-ins: route or spread
Controls how the day's proactive check-ins are chosen - not the order they are walked in. A chosen set is always walked nearest-next. Reactive work (calls, texts, requests) is never affected by this.
Tight routeSpread out
The number handed out unasked. Someone who pulls an extra site in themselves goes over this for the rest of that day, then it settles back.
A site becomes due for another proactive check-in this many days after its last one. 7 is the standing rule; lower it briefly to pull the next round forward when volume is low.
Weekly hours email — subscribers
People who signed up through the public hours page. Read-only: nobody is added or removed from here, only by their own action on that page or their own unsubscribe link.
First-Visit Backlog
Queue a first-visit item for every Tier 2 & 3 site that hasn't been visited yet, in the Proactive band (below every reactive call). They are spread out at a chosen number per day starting from the "First day" below, so only that many are live at once and the rest wait in Upcoming until their day. Safe to run more than once — already-visited sites are skipped, and re-running re-dates the open ones.
Recurring Tasks
Program a recurring task — any task, any location, any cadence (e.g. "check the bus shack at 12th & Main every 8 business days", or a daily morning safe-walk at the school). Occurrences land in the future queue on their day. Click "Generate upcoming" to queue the next few weeks (an automatic scheduler is a follow-up).
Remove leftover demo records and any calls/queue items not on the 444 line, or create a clearly-marked test item.
Auto-Responder (444 line)
Automated text reply from the 444 line on a missed call, voicemail, or incoming text, with the current schedule injected where you put [SCHEDULE]. Replaces Quo's static auto-replies. Ships OFF. Before turning it on: confirm the wording, fund Quo API messaging credits, and disable the matching Quo built-in auto-replies in the Quo app (this cannot do that for you). The 911 sentence must stay in every template.
Operating hours (Winnipeg local time)
Templates ([SCHEDULE] is replaced at send time)
Automatic Access
Pick which app role each Homebase shift role grants. Anything left on No access grants nothing. People on shift today or tomorrow get the role; those rostered within 7 days get Trainee.
Email Opted-In Sites
Each message is sent individually from the service address, so it is addressed to that site and no partner sees another partner's contact details.
Send a message nowto sites already opted in
Formatting is kept simple on purpose — mail clients ignore anything fancier.
Insert:— click to add at the cursor; replaced per recipient.
Leave blank to send now. Times are Winnipeg time.
Welcome emailsent automatically to newly opted-in sites
Sent at 9am on the next operating day after they opt in, once per site.
Formatting is kept simple on purpose — mail clients ignore anything fancier.
Insert:— click to add at the cursor; replaced per recipient.
Telling sites about changes 0
When a change is approved on a site's record, the organisation should be told. Nothing has been sent. This is the full list of what would go out, to which addresses, in the exact words. Read it before any of it becomes real.
Change requests 0
Corrections staff have asked for on a site's record. Nothing here has changed anything yet. Decide each line separately - approve the ones you know are right, refuse the ones you do not, and say why. What was asked is kept permanently, in their words.
Practice mode: these are real requests, but nothing you press here will be saved.
Tier reviews 0
Sites somebody on the ground says are on the wrong tier. Nothing here has changed a tier - a tier is part of what the site agreed to, so changing it is your call. Open the site to change it, or dismiss the review.
Practice mode: these are real reviews, but nothing you press here will be saved.
Feedback Queue 0
Newest first, with screenshot and diagnostics. The badge counts items with no outcome recorded yet. A daily routine reads the queue, suggests what to do with each item, and Pushovers you - nothing is decided or sent without you.
Practice mode is on, so the outcome and reply controls are hidden - nothing done here would actually save, and no reply would really be sent. Turn practice mode off to triage feedback.
â–¸Addressed0an outcome has been recorded
Onboarding
Require staff to finish onboarding before they can use the dashboard, and see who has completed it.
Practice mode is on, so these controls are disabled - nothing changed here would actually save. Turn practice mode off to change onboarding settings.
Applies to these roles (none ticked = every role)
Who has completed it
Loading…
User Documentation
Edit the in-app User Guide. Sections show only to roles with the chosen permission. Changes are live immediately.
Call Intake Configuration
Manage call categories, response options, 911 triggers, and clearance dispositions. Changes save to Firestore and take effect immediately.
Role Permissions
Toggle capabilities per role. Save Configuration writes all changes at once.
Set up this device
Installing is optional - the dashboard works fine in a browser. Alerts are not really optional if you take calls or walk patrol: with them off, nothing reaches your phone and you only see a new call if the dashboard is already open in front of you.
Loading…
Finish onboarding to unlock the rest of the dashboard. It takes about 45 minutes and you can stop and come back.
Loading…
Clear queue item
Record how this was resolved before clearing.
Starts on you. Pick everyone who attended - more than one can be selected.
Log what happened on this call
For a call that was dealt with at the time but never recorded. This writes the record already cleared — nobody is paged and nothing lands in anyone’s queue.
Pick as many as attended — hold Ctrl (or Cmd) to select more than one. These are stored as the person’s account, so call data can be filtered by who was involved later. Anyone without an account goes in the box below instead. Leave blank rather than guess. The record always also stores who typed it in, separately.
Incident record
Log a call
If any of the following apply, call 911 immediately before proceeding:
What is the nature of this call?
How is this being handled?
Picking a site puts its name and address on the queue card, so whoever responds knows where to go.
Ask even when the number matched a site. A personal mobile follows someone between jobs, so a match is a prompt, not a fact about this call.
Use this when the caller is somewhere other than the situation - across the street, in the parking lot, or following on foot.
Leave blank and this goes into today's queue. Pick a future day and it waits in Upcoming until then.
Escalating to 911 - log the call for the record.
Clear & update requester
Send a brief update from the organization's channels (the 444 line and/or a PCS email), then clear — or clear without sending. Tick the channel(s) to use.