4 tabbed views · Office Manager is the primary approver (ROD may cover) · GM QA gate · per-destination task tracking
LIVE DATA · Germantown Dental Clinic (GERMANMSDD) · pulled from the sga3p Internal Listing, the practice credentialing table, live website, and Google Places on 2026-09-17. Source of truth is the sga3p Internal Listing at app.sga3p.com/platform/data/crosswalk.
Crosswalk fill status
68% of snapshot-relevant fields filled in sga3p · Amy's Friday goal = 100%. Missing values fall back to website/GBP scans.
What this is. The public form at /forms/public/practice-snapshot/GERMANMSDD. Either the ROD or the OM can complete it — first to open takes the cycle; the other sees this page read-only until submit or cancel. Every row has one of four explicit states; unknowns become verification follow-ups. Submit unlocks on any change. This is Germantown's first snapshot — nothing carries forward.
Germantown Dental Clinic
GERMANMSDDIn Progress · you're editing
RegionDelta Region · SGA EastGrowth ManagerKelly S.RODLanthea MangumOffice ManagerOM email missing — flag for GM to resolveStarted3:04 PM · 5 min ago
14 of 20 rows reviewed · 1 unknown · first submission (nothing to carry forward)
ConfirmedCorrectionUnknownN/A
Crosswalk view. One row per question · one value per row (what sga3p has on file for you) · plain English · about ⏱ 4–6 min to finish Confirm what looks right, flag what's wrong, skip anything you're not sure about.Side-by-Side view. Crosswalk (sga3p Internal Listing) · live website · Google — shown together so you can spot where a value drifts and QA the office's submission. Toggle to "Crosswalk · OM/ROD" to see exactly what the office sees on the public form.
i
Review every section. Confirm the information is correct, provide a correction, or tell us what still needs to be verified. Flagging one row does not confirm the rest. Nothing you enter is submitted until you click Review & submit — save and come back any time.
·
Your name
Required · we log who reviewed each row for the audit trail.
Your name is attached to every row you touch. If someone else finishes the form later, they'll enter their name and only their edits get attributed to them.
A
Practice details
Name, address, phone — auto-filled from Internal Listing, cross-checked against website + Google.
Practice addressrow 01Correction neededGoogle-verified today
Internal Listingdiff
102 Dees Drive Suite M Madison, MS 9110
sga-practice-lookup (pre-override) · verify against sga3p canonical
The public Internal Listing slice shows zip "9110"; website and Google both show 39110. Could be a real bug on the Internal Listing or an override that's already been applied in sga3p but not yet in the public slice. Verify the sga3p Internal Listing effective value before treating as a bug. Also: "Drive" (website) vs "Dr" (Google) — confirm the correct format for consistent downstream pushes.
?
The ZIP we have on file looks wrong — reads "9110". Please tell us the correct address so we can fix it everywhere.
Proposed correction (from OM)
"39110 is correct. Please fix the Internal Listing. Use 'Dr' abbreviation to match how it reads on Google and mail."
Practice phone · mainlinerow 02 · mainlineConfirmed accurateGoogle-verified today
Internal Listing (mainline)authoritative
(601) 381-8200
sga-practice-lookup · matches sga3p canonical (assumed — no override on phone)
On Googlematch
(601) 381-8200
Places API · 2026-09-17
Website (dynamic swap)expected
(601) 526-4437
germantowndentalclinic.com · 2026-09-17 · Neurality tracking number — swaps in per-visitor, forwards to mainline
✓
Mainline matches Google. The website number is intentionally different — it's a Neurality call-tracking swap that forwards to the mainline. Do not "fix" it. If a real mainline mismatch appears, that IS a correction.
✓
This is the number that rings your front desk. Confirm it's still right.
Dynamic tracking numbers on file (do NOT surface to OM)
Neurality: (601) 526-4437 · pool of 3 · swaps on site PeerLogic: (601) 526-4438 · dedicated · GBP + LP GHL (paid media LP): (601) 526-4439 · dedicated · paid ads only
Auto-classified — if a "correction" flags one of these numbers as the mainline, GM must review before pushing to Yext / Wyatt.
Google Business Profile linkrow 03Correction neededGoogle mismatch
Naming difference — OM to confirm which reads better
!!
The Google link currently on the Internal Listing opens the wrong practice (a different business in Tennessee). Click both blocks above to see the difference. The Internal Listing needs the correct Google link so downstream pushes hit the right listing.
?
Please click the link above and tell us: Is this your Google listing? If no, flag it — we already found what we think is the correct one and can fix it on our end.
Proposed correction (from OM)
"Yes — our Google listing is 'Germantown Dental' at Dees Drive. The Tennessee one is not us. Please update the Internal Listing to the correct Google link and drop 'Clinic' from the display name to match how we show up on Google."
Practice website URLrow 04Confirmed accurateGoogle-verified today
Not in Yext (Legacy SGA practice) · verify with Neurality team
!
Scheduler link works on the website, but three fixable issues: (1) Internal Listing marks it "Not Live" although the URL exists; (2) website URL is missing the ?location_name= UTM so we can't attribute leads back to this practice; (3) Google Business Profile has no booking URL. Correction should target all three. (Chatbot moved to row 05b below.)
?
Click the link above and tell us: does this open the right scheduler for your practice?
Proposed correction (from OM)
"URL is correct — please fix the UTM on the Schedule button, add the GBP booking link, and flip 'Scheduler Live' to Yes on the Internal Listing."
Chatbot (Neurality widget)row 05bSomeone else must verify
sga3p saysshould be live
Yes — Neurality chat is active Contract confirmed via Neurality account manager 2026-08-11
sga3p Internal Listing · Neurality Chat field
Site scan saysnot detected
✗ Widget not on live site
Playwright scan of germantowndentalclinic.com · 2026-09-17 · no neuralityhealth.ai script tag
Last known deploy
No deployment record on file
Wyatt to confirm install status
!!
Chatbot present-but-not-detected. sga3p says Neurality is active for this practice, but our scan cannot find the widget script on the live site. Either the deploy never happened, the script was removed in a site edit, or the domain being scanned is wrong. Auto-tasks Wyatt to install / re-install.
?
We think your practice should have a chat button on your website — but we can't find it. Is the chat working when you visit your site? If yes, we'll investigate; if no, we'll get it installed.
B
Office hours
Website and Google compared side by side. Normalized for split hours & closed days.
Internal Listing pulled from sga3p · 2026-09-17Website + Google re-checked 2026-09-17 (Side-by-Side view only)
✓
All three sources agree once we compare against the correct Google listing. Confirm hours are still current.
✓
These are the hours sga3p has on file for your practice. Please confirm they're still right — or tell us what changed.
C
Service pages
SGA GP standard sitemap · 19 canonical pages · mark each Correct / Add / Remove / N/A.
Standard slugs from SGA sample sitemap ↗. "Currently on your site" shows what our scanner found. Pre-selected as best guess — override where the OM knows better.
Dr. Terry Garner: Delta Dental Dr. Lynn Nguyen: Aetna, Ameritas, Delta Dental Dr. Jamie Reed: Aetna, Ameritas, Delta Dental, Unum | Networks: Careington Dr. Devin Stewart: Aetna, Ameritas, Delta Dental, Unum | Networks: Careington, Dental Health Alliance
sga3p practice_credentialing_insurance · imported 2026-09-13 from 555 SGA Payor file
On website
No insurance page on site
Checked 2026-09-17 — will publish from credentialing
Website bio matches Workday — Dr. Stewart is the primary provider (Dr. Reed rotates from Pearl River). Google Business Profile has no owner description — a short description naming Dr. Stewart would strengthen local SEO. Confirm we should draft one.
?
Please confirm the doctors above are still at your practice. Add anyone missing, and flag anyone who's left.
Proposed correction (from OM)
"Roster is right — Dr. Stewart is here full time, Dr. Reed splits with Pearl River. Please draft a GBP owner description that names Dr. Stewart and the services we offer, then push it to Google."
D
Membership & financing
In-house membership plan and third-party financing options.
sga3p Internal Listing · Bill Pay Link field empty
Website
No CareCredit or financing link found
germantowndentalclinic.com · checked 2026-09-17
GBP description
No description on Google · no financing mention
SerpAPI · 2026-09-17
!
No financing is listed on the Internal Listing, website, or Google. If the practice offers CareCredit or a similar option, add the link so patients can find it.
?
We don't have any payment-plan info on file. If you offer CareCredit, tell us and we'll add it everywhere.
Proposed correction (from OM)
"We do accept CareCredit. Please add our practice-specific application link and get it on the website + Google."
PlanForward is live on the website but the URL isn't on the Internal Listing and it's not linked from Google. Populate the Internal Listing URL so other systems (Yext, campaigns) can find it.
?
We don't have your membership-plan enrollment URL on file, but we can see it's on your website. Confirm we should copy it into sga3p and push it to Google.
Proposed correction (from OM)
"URL is right — please add it to the Internal Listing so it flows to Yext + campaigns."
E
Social profiles & directories
Where the practice shows up beyond Google — plus whether the profile is linked from our own surfaces.
Optional. Anything the practice has been recognized for or is involved in locally. Blank is fine.
Awards, recognition, communityrow 25 · optional
Awards (e.g. Top Dentist 2024, Best of Madison)
Recognition / press mentions
Community involvement (sponsorships, charities, school partnerships)
i
These fields are optional and never block submission. If you fill any of them, they'll feed content ideas for social + the practice website.
G
Anything else we should know?
Optional. Anything the form didn't ask that Marketing or your Growth Manager should be aware of.
14 changes ready to submit · 6 rows still unreviewed
1 row marked "I don't know" (Instagram) — snapshot will submit as "Needs follow-up," not fully verified
What this is. Kelly's internal queue in sga3p → practice-snapshots/qa-queue. Rows show every practice at a glance — snapshot status, outstanding tasks, and unresolved conflicts. Filter left; act right. This replaces the manual chase workflow (CR-14 folds into this).
Practice
Snapshot status
Submitted
Changes
Unknowns
Conflicts
Tasks (open / verify / done)
Next action
Germantown Dental Clinic
GERMANMSDD · OM: unassigned · ROD: Lanthea Mangum
Submitted
18m ago
4
2
3
0/0/0
Belfast River Dental
BLFSTNC · OM: Sherri M. · ROD: Marcus T.
GM Reviewed
2h ago
6
0
1
3/1/2
Clay Center Family Dental Care
CLAYFDKSDD · OM: unassigned · ROD: Libby Knopp
Idle
never
—
—
—
0/0/0
Liberty Family Dentistry
LBRTGA · OM: Rachel P. · ROD: Marcus T.
In Progress
—
—
—
—
1/0/4
Ways Station Dental
WYSTNGA · OM: Kevin R. · ROD: Marcus T.
In Progress (ROD locked)
—
—
—
—
0/0/6
Bright Smiles of Virginia
BRITSMVADD · OM: Jenn F. · ROD: Adam L.
Idle
3d ago
—
—
—
0/2/3
Smile Center of Orlando
SMCTRORLDD · OM: Anna B. · ROD: Cassidy N.
Idle
6d ago
—
—
—
0/0/5
What this is. The critical Google Place ID correction from the Germantown snapshot, tracked as a task in the existing sga3p task system. The task carries every destination it affects and each destination's own status — the correction stays open until every destination is verified. Verification requires evidence, not just a checkbox.
Task T-4712 · from snapshot GERMANMSDD v1
Fix Google Place ID — Internal Listing points to the wrong practice
Submitted by Lanthea Mangum (ROD) on 2026-09-17 at 3:28 PM via snapshot v1. Approved by Kelly S. at 3:41 PM.
Public Internal Listing slice (wrong)
ChIJb5-jwambf4gRg_CjmCanVkM
points to "Germantown Dental Group" · 2165 West St, Germantown TN 38138
Proposed sga3p override
ChIJdTQpZhzRKYYRS9hwbTyBNH0
"Germantown Dental" · 102 Dees Dr Suite M, Madison MS 39110
Task lifecycle
1Needs review
2Approved / assigned
3In progress
4Ready for verification
5Complete
Destinations — each tracks independently; task stays open until all are verified
sga3p Internal Listing
sga3p Internal Listing (app.sga3p.com/platform/data/crosswalk) — override on Place ID field
Scott Guest
Not started
—
Yext entity
If Germantown is in the Yext account — verify
Kelly S.
Not started
—
Downstream scans
Re-run resolver + audit against corrected Place ID
Automated (Dakota)
Not started
—
History
2026-09-17 · 3:28 PM
Correction submitted by Lanthea Mangum (ROD) via snapshot v1 "Yes — our Google listing is 'Germantown Dental' at Dees Drive. The Tennessee one is not us. Please update the Internal Listing to the correct Place ID and drop 'Clinic' from the display name to match Google."
2026-09-17 · 3:41 PM
Task approved by Kelly S."Confirmed — I searched Google Places for the practice by name + address and the Madison MS listing is a clean match. Old Place ID was for a Germantown TN group. Assigning to Scott for the Internal Listing update; will re-run the audit after."
What this is. Kelly's internal view of the Germantown snapshot after Lanthea (ROD) submitted it. Summary strip up top, every row's verification state, and what will spawn on approval. Approval mints tasks — no public data changes until each destination task is verified. Snapshot review status ≠ task completion: the office is done reviewing while Marketing's work stays open.
Germantown Dental Clinic
GERMANMSDD · v1Submitted · awaiting your QA
Submitted byLanthea Mangum (ROD) · 2026-09-17 · 3:28 PMAuto-filled fromsga3p Internal Listing + credentialing table + germantowndentalclinic.com + Google PlacesAuto-fill run at2026-09-17 · 8:04 AM
5
Confirmed
8
Corrections
1
Unknown
0
Not applicable
!!
Critical finding: the Google Place ID on file points to the wrong practice (Germantown TN, not Madison MS). Fix this canonical record before any GBP/Yext task runs — otherwise every downstream push will hit the wrong business.
i
Approving this snapshot will spawn 8 publishing tasks and 1 verification follow-up. Nothing goes to Yext, Google, or the website until each destination on each task is verified with evidence. Snapshot returns to Idle after all tasks close.
Google Place ID (canonical)
Public Internal Listing slice: ChIJb5-jwambf4gRg… → "Germantown Dental Group," Germantown TN. Correct: ChIJdTQpZhzRKYYRS9… → "Germantown Dental," Madison MS. Whether the sga3p Internal Listing already has an override is the first check.
"Yes — our Google listing is 'Germantown Dental' at Dees Drive. The Tennessee one is not us. Update sga3p and drop 'Clinic' from the display name."
Public Internal Listing slice zip is broken (9110) → website & Google show 39110. Also: "Drive" (website) vs "Dr" (Google). Use "Dr" for consistency. Verify sga3p Internal Listing effective value before override.
"39110 is correct. Fix sga3p. Use 'Dr' to match Google and mail."
Auto-filled from credentialing table (4 providers, updated 2026-09-13). Dr. Terry Garner · Dr. Lynn Nguyen · Dr. Jamie Reed · Dr. Devin Stewart — carriers grouped per provider, network memberships called out.
"Confirmed — this matches what we tell patients."
→no task spawned · pre-fill accepted · will publish to website insurance section as part of next site refresh
Confirmed
Doctor bios & roster
Workday roster + website bio agree (Dr. Devin Stewart; Dr. Jamie Reed on satellite rotation from Pearl River). GBP owner description is empty — no doctor mentioned. Draft a description that names Dr. Stewart and push it to Google.
"Roster is right. Please draft a GBP owner description that names Dr. Stewart and push it to Google."
No Instagram anywhere. May not exist for this practice, or Korinne has it and it hasn't been surfaced.
"Please check with Korinne — if yes, share the URL; if no, mark N/A."
→spawns Follow-up F-286 · owner: Korinne · verification only (no publishing task)
Unknown
Approve to spawn 4 tasks + 2 follow-ups. No public data changes on approval — each destination has to be individually verified.
What this is. CR-28, drafted 2026-10-06. Not every flagged row needs the Growth Manager's eyes before someone acts on it. Five NAP/listing fields auto-route from the OM flag straight to Korinne (GBP) + Wyatt (website) in parallel with the GM as watcher only. Every other field parks on the GM first with a free-text content box so they can gather bio / copy / announcement before Wyatt and Korinne execute. In both flows, the crosswalk (Internal Listing) writes immediately — on OM flag for auto-route, on GM resolve for GM-review — stamped with source_task_id, changed_at, and changed_by. No vendor-API writes to Yext or WordPress yet; execution stays manual until the Yext fax test and WordPress field manifests clear.
Routing table — launch scope
Lives in a new snapshot_row_routing config table. Unknown row_ids default to GM review (conservative).
row_id
GM review?
Executors (parallel)
Why this routing
hours
No
Korinne (GBP) · Wyatt (website)
Office knows their own hours; no content to draft.
main_phone
No
Korinne (GBP) · Wyatt (website)
Mainline is a fact of record, not a creative decision.
address
No
Korinne (GBP) · Wyatt (website)
Yext re-verification happens on push, not on routing.
GM → spawns Wyatt / Korinne subtasks after content is ready
New page copy, bios, announcements — content has to exist first.
Flow A — auto-route (example: hours change)
i
Jessica at Germantown flags the hours row with the note "Fridays now 7 AM – 2 PM (was 8 AM – 5 PM)." On submit, four things happen atomically: crosswalk override writes, parent task opens, two child subtasks spawn, GM gets a watcher ping.
Step 1 · Snapshot submit (OM)
Row hours, action flag, note "Fridays now 7 AM – 2 PM." Server consults snapshot_row_routing → gm_review = false, executors = [korinne, wyatt].
Flagged
Step 2 · Crosswalk override writes immediately
New row in crosswalk_overrides for GERMANMSDD / hours, with the OM's new value and three provenance columns stamped. The sga3p effective value flips before any task is picked up.
Parent = "Hours change — Germantown Dental" in the Practice Snapshot Change outcome project. routing_mode = auto, watchers = [Kelly S. (GM)]. Two children:
Step 4 · Executors close independently, parent auto-closes
Korinne updates GBP, marks T-5042-a Complete. Wyatt updates the WordPress site, marks T-5042-b Complete. On last-child-complete, server calls markChangeMade for row hours on snapshot v4 → row flips to changed_reset, parent closes. GM did nothing.
Closed
Flow B — GM review (example: new doctor joining)
!
Jessica flagsdoctor_list with the note "Dr. Priya Shah starts 10/20 — associate, GP, UPenn 2022." The crosswalk doesn't move yet — new doctor needs a bio, a photo, and an announcement before Wyatt and Korinne have anything to publish.
Step 1 · Snapshot submit (OM)
Row doctor_list, action flag, note "Dr. Priya Shah starts 10/20 — associate, GP, UPenn 2022." Server consults snapshot_row_routing → gm_review = true. No crosswalk write; parent task opens for the GM.
Flagged
Step 2 · GM task T-5061 lands in Kelly's queue
Parent task = "New doctor — Germantown Dental" in Practice Snapshot Change. routing_mode = gm_review. proposed_value staged from the OM note. New free-text content_notes field (empty) — Kelly fills it as she gathers bio, headshot path, start date, and announcement copy.
Kelly fills content_notes: "Bio ready in Drive /germantown/new-hires/shah/. Headshot approved by practice. Social announcement scheduled 10/18. Add to doctor page + GBP practitioners. Insurance credentialing in progress — hold insurance list update until payer file refresh."
GM review
Step 3 · GM clicks "Resolve & dispatch"
New endpoint POST /tasks/T-5061/resolve-and-dispatch. In one transaction: crosswalk override for doctor_list writes with GM's final value and provenance (changed_by = "Kelly Smith (GM)", source_task_id = T-5061); two child subtasks spawn.
→T-5061-a · owner: Wyatt · destination: website doctor page (add Dr. Shah with bio + headshot from Kelly's note) · content package linked
→T-5061-b · owner: Korinne · destination: GBP practitioners list (add Dr. Shah) · content package linked
Dispatched
Step 4 · Executors close independently, parent auto-closes
Wyatt publishes Dr. Shah's page, marks T-5061-a Complete. Korinne updates GBP practitioners, marks T-5061-b Complete. On last-child-complete, server calls markChangeMade for row doctor_list → row flips to changed_reset, parent closes.
Every override on the Internal Listing carries three fields so anyone looking at a value can click back to who said so, when, and which ticket caused it.
Field
Effective value
source_task_id
changed_at
changed_by
hours
Mon–Thu 8–5 · Fri 7–2 · Sat–Sun closed
T-5042
2026-10-06 · 14:22
Jessica Hulse (OM)
doctor_list
Garner, Nguyen, Reed, Stewart, Shah (new 10/20)
T-5061
2026-10-07 · 09:15
Kelly Smith (GM)
facebook_url
facebook.com/germantowndentalclinic
T-4719
2026-09-17 · 15:48
Lanthea Mangum (ROD)
Non-goals (explicit)
No vendor-API writes to Yext or WordPress from this CR. Wyatt and Korinne execute manually in their own tools until the Westport fax test (Yext) and WordPress field-location manifests clear. Automated push stays gated on snapshot_outbound_distribution_architecture.
No "GM can hold an auto-route change" affordance in v1. If the GM wants to inspect an auto-route change before dispatch, they chase Korinne / Wyatt directly. v2 can add a require_gm_hold flag on the parent task.
No multi-GM routing. One GM per practice; Amy is the fallback where the assigned GM is missing.
What this needs from Dakota
New migration: snapshot_row_routing config table, three provenance columns on crosswalk_overrides, parent_id + routing_mode + watchers on tasks.
Seed the routing table with the launch-scope list above.
services/api/src/services/practice-snapshot.service.ts → submit() consults routing table per flagged row; auto-route rows write crosswalk + spawn child subtasks transactionally with the version write; GM-review rows create a parent task only.
Crosswalk Manager UI: show the three provenance columns with a link to the originating task.
What this preview isn't. A working app — no data hits sga3p, nothing publishes. It's a shape check on docs/sga3p/practice-snapshot-change-requests-2026-08-21.md Wave 5. Source-of-truth note (2026-09-17): the sga3p Internal Listing at app.sga3p.com/platform/data/crosswalk is canonical. Automated pulls in this preview came from the public sga-practice-lookup.pages.dev API, which is a pre-override slice of the same source — every finding here needs sga3p verification before treating as a bug (an override may already be in place). What's real: Germantown Dental Clinic (GERMANMSDD) is a real practice; the wrong Place ID, broken zip, hours, services, doctor, and social profiles all come from live data (public Internal Listing slice + germantowndentalclinic.com + Google Places API) on 2026-09-17. The queue-table task counts are illustrative. Note on naming: the OM/ROD/GM surfaces call it "Internal Listing"; engineers and CR docs still call it "crosswalk."