Sync SOP — Referral Tracker

Generated Thu Aug 20 2026 09:14:00 GMT-0700 (Pacific Daylight Time) from the live system. This is a snapshot, not a live page — regenerate from Menu › SOP › Generate and open whenever it needs to be current.

Field Map

FieldMaster HeaderChild HeaderDirection
Unique IDUnique IDUnique IDid
Assigned ToAssigned To(master only)route
Date InquiredDate InquiredDate Inquireddown
ClientClientClientdown
StatusStatusStatusup
NotesNotesNotesboth
Date of ConsultDate of ConsultConsult Dateup
Route sentinels (hold a row in the master, remove it from every child): Waitlisted, Closed

Registered Children

NameSpreadsheet IDReadable
Location A1a2B3c4D5e6F7g8H9i0JkLmNoPqRsTuVwXyZaAbBcCd1yes
Location B1zY9xW8vU7tS6rQ5pO4nM3lK2jI1hG0fEeDdCcBbAa2yes
Location C1Q1w2E3r4T5y6U7i8O9p0AsSdDfFgGhHjJkKlL3m4N5NO — check sharing
3 of 18 children registered (hard ceiling, driven by the 20-trigger-per-script quota).

Trigger Inventory

HandlerTypeSource ID
handleMasterEditON_EDIT1M4sT3rF4k3Sh33tIdD3m0Xx9pQrStUvWxYzAbCdEfGh1
handleChildEditON_EDIT1a2B3c4D5e6F7g8H9i0JkLmNoPqRsTuVwXyZaAbBcCd1
handleChildEditON_EDIT1zY9xW8vU7tS6rQ5pO4nM3lK2jI1hG0fEeDdCcBbAa2
handleChildEditON_EDIT1Q1w2E3r4T5y6U7i8O9p0AsSdDfFgGhHjJkKlL3m4N5
runReconciliationCLOCK(none)
Headroom: 15 of 20 triggers remaining.

Health

2 non-OK Sync Log entries in the most recent 200.

UIDChild
4f6a2e1c-9b3d-4a7e-8c2f-1d5e6a7b8c9dLocation B
Resolve from Menu › Advanced › Adopt orphan / Discard orphan.

Drift Log (most recent)

TimestampComponentOld HashNew Hash
Tue Aug 11 2026 14:02:31 GMT-0700 (Pacific Daylight Time)configac13bd0fcdb5e84f1f1cb1059349b50d4ecfd1338437dbb3c0fddc78df3f36e516315a6e39f869eb8bfff26336a3301b030ea6d23e66bec9efeb6cb403ed52
Tue Aug 18 2026 03:00:04 GMT-0700 (Pacific Daylight Time)roster8c0601cbf43fb1f60b8f4d14c6c39d36ae219c27f3dfde5ed9b2b73a57784643ca84c1009fd0e5d7002d4603c01acb67e2e1dcc4cfd5729e1cfc36d1fce31e
This detects drift in the field map, sentinels, tab names, and the child roster — nothing else. It is not an audit trail: it does not see A→B→A round trips between checks, several changes collapsed into one entry, Runbook edits, header renames, source-code changes outside this hashed config, missed or failed checkpoints, tampering with this log itself, the actual time a change was made, who made it, or any row-level data change.

Runbook

Onboarding a new team member

Add them as an editor on their assigned child sheet. They never need access to the master spreadsheet or to Apps Script.

Offboarding a team member

Remove their editor access from their child sheet. Their existing rows stay in the master and in the Sync Log exactly as they left them.

"Nothing is syncing"

Menu › Advanced › Health check first, it reports recent failures, trigger drift, and SOP staleness in one place. If it shows no issues, confirm the edit landed on the "Tracker" tab and not a different one.

Resolving an orphaned row

Menu › Advanced › Health check lists orphans. Adopt orphan brings it into the master; Discard orphan deletes the stray copy. Ask whoever made the edit before discarding.

Customizing dropdown menus

The "Assigned To" tab lists your children, its dropdown is generated from that list automatically, nothing to configure. For any other column that should be a dropdown (like Status), edit the "Dropdown Menu Config" tab: column A is the field name, column B is a comma-separated list of allowed values. Then run Menu › Advanced › Generate dropdown menus. No code change or push needed.

Escalation contact

Post in the #operations Slack channel and tag the on-call lead. No response within one business day, call the practice manager directly.

Adding a new location

Create the child spreadsheet from Step 1 of the guide, add its row to the "Assigned To" tab, then run Menu › Advanced › Run setup and Menu › Advanced › Install triggers, in that order. Setup protects the new sheet’s Unique ID column; installing triggers wires it into sync.