Submit Headcount
Dashboard
Admin Panel
ADMIN_PASSWORD in your .env file.
Google Sheets
📊 Google Sheets
Each submission auto-updates a row in your sheet (one row per company per shift per day). Needs a Google Service Account JSON key.
Saved ✓SharePoint / Excel Online
📁 SharePoint / Excel Online
Pushes data to your SharePoint Excel file via Microsoft Graph API. Register an Azure App to get credentials.
Signal Notifications
📡 Signal Notifications
Sends team reminders via each team's saved Signal contact. The optional global group ID is only used for the separate global test message.
▶ Register a phone number
If Signal asks for captcha, paste the full signalcaptcha://... link here and send the code again.
Copy the Id: value and paste it into the Group ID field below, then save.
📲 Team Signal Contacts
Assign a Signal phone number or group ID to each team per shift. The system automatically sends a reminder 15 minutes before each 3-hour time slot if that team has not submitted yet.
Error Reporting
Send an alert to a phone number or Signal group ID when important failures happen, such as failed reminders, failed manual sends, or failed update reports.
If you set an Update Channel Group ID, the system will also post a short submitted/missing team breakdown one hour after each slot.
Monitors a Signal group chat for headcount messages from external teams on site. Messages are auto-parsed every 15 minutes and saved directly — no manual approval needed. Only messages where a total couldn't be found will appear in the On-Site Teams tab for manual entry.
For contacts who don't include their company name in their messages, map their phone number to a team name here. E.g. David Rymes' number → DARANA.
Messages
Announcements
On-Site Teams
Shift Notes
Analytics
Submission Trend
Top Tasks
Headcount By Time Slot
Role Mix
Team Headcount
First-Pass Quality
Submission Completion
Shift Split By Team
Daily Work Plan
Submits to the Contractor Daily Work Plan Google Form. Fields with a green border are auto-filled.