Admin settings
Workspace configuration. Per-browser preferences (refresh intervals, etc.) remain on each dashboard card.
Settings Card load queue
Note categories
Every note this dashboard writes to a person’s Planning Center profile, and which category it files under. Changing one takes effect on the next note — it does not move notes already written, so a change splits that record’s history at today’s date.
Communications
Control whether email and SMS may leave the dashboard. A feature's own schedule, recipients, and on/off switch still apply. Operational safety alerts remain always on.
| Event | SMS |
|---|
Labels & sorting
What the workspace looks like before anyone changes it — what each group of cards is called, and how roster pages open.
Section headings
What each group of cards is called, on the dashboard and in the side panel on every page. This changes the wording only — nobody’s saved section order moves, and no card changes section.
Default sorting
How roster pages open for everyone. Staff can still change the sort during their visit; returning to the page starts from the workspace choice again.
Dashboard loading
What your last dashboard load actually cost, what the shared PCO budget is doing, and the controls that shape both. The controls are saved to this browser only.
Background cache
Pre-compute and store report data so cached weeks/periods load instantly. Settings + entries live on the server.
Backups
Whether the nightly snapshot of this dashboard's data is running, restorable, and being copied off the box.
Scheduled jobs
Every recurring job this server runs — emails, texts, alarms, backups and caches. Read-only: each job's settings live on its own tab. What the statuses mean ↗
Help
The state of the help centre — what it answers, and where the app points people at it. Read-only: the answers live in two content files.
Users
Members of the PCO Group that gates admin access to this dashboard.
Step field effects
Which custom tab fields change when a workflow step is completed. This is the same map the PCO step descriptions describe in prose — point people here when they ask what a step actually does.
Who can see what
Manage current bundle access and inspect the custom-field role model replacing it.
Service account health
Bundles
Cards
Roles & permission bundles
RBAC shadow preview
Pastoral care row scoping
Weekly Check-ins
Reminder text (the message the send button on the card sends) and the weekly email report. Same config as the card's settings button.
{{eventName}}.Current Service
Pick which PCO Check-Ins events appear in the today-only breakdown, and (for Revival Kids only) narrow to specific service times. The refresh interval is a per-browser preference (saved to localStorage).
Services & Volunteers
Manage service-type ↔ Check-Ins event mappings, position-to-location bindings, and the /services.html polling cadence. Same config as the cog on /services.html — edits here and there go to the same place. The error log stays on /services.html (page-local diagnostic).
localStorage.servicesRefreshMs) — set here OR from the cog on /services.html, both write the same key.Pay Period Allocations
Source list, service-type picker (with hours-per-shift multipliers), and the bi-monthly email report. Same config as the card's settings button — edits here and there go to the same place.
Routine Scheduler
Recurring routines that promote workflow cards on a schedule.
The Routine Scheduler card has no cog wheel today. Routine CRUD happens inline on the card itself and on each workflow's detail page.
If we ever add a workspace-level setting (e.g. a default time zone or quiet-hours window), it lands here.
Scheduled Messages
Health-check view of every recurring messaging job (read-only on the dashboard).
The Scheduled Messages card is a read-only index — clicking each row jumps to the right surface (Weekly Check-ins / Pay Period / Headcount Reminders modals; or /scheduled-texts.html for user-defined jobs).
No settings to migrate. The underlying jobs' configuration lives on their respective card tabs.
Headcount Reminders
The full Headcount Reminders configuration — master switch, per-rule editor, message template, time zone, and the event allow-list. The dashboard card is a read-only summary. Nothing here persists until you Save.
{{eventName}}, {{eventTimeName}}.Workflows
Shortcut to PCO workflows that need your attention.
The Workflows card has no cog wheel — the count is computed against your signed-in PCO identity and the dropdown picks a category for browsing.
No settings to migrate.
Thermostat Control
Manage which PCO rooms are eligible for thermostat scheduling, map new rooms to thermostat IPs, set the dashboard card's refresh interval, and view / clear scheduler alerts.
rooms.json on the venstar backend and triggers a sync. The room name is picked from PCO Calendar Resources (no free-text input — prevents typos that cause unmapped-room alerts).Ministry App Review
Auto-triage of Ministry App form submissions. Shadow mode runs the routing logic end-to-end but skips PCO writes; Live mode writes for real and emails the assigned pastor.
Webhook + secret info
—Webhook secret: —
(set via
MINISTRY_APP_WEBHOOK_SECRET env var on Render)
ministry-app-triage-history.json. The card's activity feed re-populates on the next webhook delivery.Pastoral Care
Per-track config (workflow ID, note category, pastors list, select-field options) and the Pastoral Care Contact tagging fields. The Manager List ID (row-scoping) lives under Who can see what → Pastoral care row scoping — it's workspace-wide, not per-track.
/pastoralcare.html's inline search gets the boolean field stamped Yes; the rule-based list re-runs immediately so downstream segmentation picks them up. Leave either blank to disable that half of tagging without breaking person creation.
/pastoralcare.html and the dashboard's Pastoral Care card. Saved per-browser. The first track here is position 1 on both surfaces, and it also becomes the default selected track when the page loads without a ?track=… deep link. New tracks added later append to the end.
pastoral-care-tracks.json in DATA_DIR.
pastoral-care-episodes.json from PCO — walks every note in the Hospital Visitation category AND re-syncs every track's active workflow cards. Heavy (a large PCO fan-out); the page also auto-syncs on a 5-minute TTL, so reach for this only when episodes still look out of sync (e.g. after editing notes directly in PCO).
Application Intake
What happens when you approve someone from the Application Intake page — whether they get a text, and how to try the whole flow without a real applicant hearing about it.
Only affects this page. The emailed Approve & Route link is untouched, so a forgotten test number can't swallow a real applicant's text from the other door.
761340 — Volunteer: Deny and Followup.Volunteer Onboarding
How the onboarding roster reads — what counts as stalled, how much of it shows at once, and which scope leaders land on. These apply to both the dashboard card and the full page.
At a glance
What runs on its own, and whether it did. Everything here is read from the job or alarm that owns it — nothing on this page changes anything.
Clearance checks
The two annual checks that gate serving — driving records and homeowner insurance. They read the same way and warn the same way; only the clock differs. Each applies to both its dashboard card and its full page.
Driver Clearance
How the driver roster reads — the recheck interval, when a coming recheck starts to warn, and what counts as stuck mid-check.
driver-email.js) and changes by deploy, deliberately: one home, so the copy can't drift.
Preview the email
Check: DMV Driving Record plus the Event Admin tab's driver fields (DMV Clearance Date, DMV Report, Auto Insurance Policy, Auto Insurance Expiration Date). Those ids are deliberately not editable here — they change only by hand in driver-clearance-config.json, so a save on this tab can never point the roster at the wrong workflow.
Homeowner Clearance
How the homeowner roster reads — when a coming expiration starts to warn, and what counts as stuck mid-check.
homeowner-email.js) and changes by deploy, deliberately: one home, so the copy can't drift.
Preview the email
Check: Homeowner Insurance plus the Event Admin tab's homeowner fields (HO Insurance Expiration, HO Policy). Those ids are deliberately not editable here — they change only by hand in homeowner-clearance-config.json, so a save on this tab can never point the roster at the wrong workflow.
Ministry Team
How the active-volunteer roster reads — how long someone counts as new, the default Mine/All view, and the dashboard card's attention list. These apply to both the dashboard card and the full page.
Volunteer Status (Active = on the roster) and Ministry (Currently Serving) fields, plus the Courses tab's orientation field for the training column. Which ministries count as yours comes from the Ministry Meetings tab. The field ids and status values are deliberately not editable here — they change only by hand in ministry-team-config.json, so a save on this tab can never repoint the roster at the wrong field.
Homeschool Forms
The tuition cadence, the two late fees, the parent-meeting schedule, and the reminder text. One tab for the whole Homeschool feature — these are what the Homeschool Ledger proposes charges and fees against, and the reminder text prefills the ✈️ texts an admin sends from the Homeschool Forms roster.
Days run 1–28: every month has a 28th, so a later day would silently skip February. Set the late fee to
0 to turn tuition late fees off entirely.
Where a form is ticked, it must be re-saved for that meeting — a record counts only if it was saved since the previous meeting's deadline. Tick a once-a-year document at one meeting and leave it unticked afterwards; ticking it every time would ask for repeated re-filings of a document that changes once.
A meeting with no date set is skipped entirely — never billed against a guessed deadline. A family is only ever counted as missing a form their students' grades can actually use.
0 to turn paperwork late fees off entirely.
{date} becomes the next meeting deadline, not the tuition due day. It only prefills the send box: the admin still reads, edits, and presses Send themselves, every text is archived as a note on the family's profile, and the send obeys the workspace Communications switches.
While it is on: no online payment is read in (the SureCart webhook records nothing and the hourly reconcile does not run), families are not shown a payment link — money taken through it would never reach the book, so they would pay and still be shown as owing — and the one-time import is refused.
⚠️ Payments taken while it is on are not lost. The reconcile picks up where it left off, so turning it off reads in everything that happened meanwhile. Turn it off when the SureCart checkout goes live.
homeschool-settings.json. The forms themselves, the RH family list, and the note category are deliberately not editable here — they change only by hand in homeschool-config.json, so a save on this tab can never repoint the roster or rewrite a document.
Revival Kids Room Status
Where the traffic light turns green, yellow and red, and how many short rooms the dashboard card lists. The rooms themselves are read live from the three Sunday plans in Planning Center — nothing here changes who is scheduled.
rk-room-status-config.json and deliberately have no editor here. The same file holds the rule that keeps the Special Friends children out of the volunteer counts and off the screen — a control that could clear it could publish a child's name and turn a short room green in one save.
Media Requests
Who gets the week at a glance by email and when it goes out, plus how much of the week the dashboard card shows. The week itself is read live from the church calendar — nothing here changes what is on it.
{{weekStart}} and {{weekEnd}}.Preview the email
media-schedule-config.json, because a wrong folder would make the whole page render as a quiet week rather than as an error, and a wrong timezone would move Friday-evening bookings into the wrong week.
Room Companion
Per-room max volume limit, manual xAir reconnect, and the weekly reconnect schedule for the FOH rooms (21–24). Same backend as the dashboard's Room Companion card.
+10 dB is the Behringer X-Air ceiling. Changing it needs Save; it persists to companion-page3-config.json.
Ministry Meetings
Map each person granted Ministry Meetings through a Dashboard Access role or direct bundle to the ministries they cover. When an In-Process volunteer opens Meet the Pastor/Leader, they're auto-routed to the leader whose ministries match their Ministry (Currently Serving) — or, failing that, the ministry they applied for. Each leader sets their own weekly windows on their Ministry Meetings dashboard card; this tab is the ministry map.