Seven specific complaint themes flagged for attention, tracked across Calls, Emails and Google Reviews at once (keyword-matched against each record's text, regardless of its own Department/Issue tag — a record can match more than one theme). Click a theme row to expand its Cluster → Store breakdown in place. Click a column header to sort.
Calls and reviews rolled up by cluster (from Store Master). Click a row to see every store in that cluster.
Every department's issue columns are grouped side by side under its own header, so you see every department's issues at once. If an issue isn't tied to one specific team in Keyword Rules, it can legitimately appear under more than one department header — each occurrence is that department's own real count, never merged with another team's. A call tagged with more than one issue is counted once under each. Click any number to see the matching calls.
One row per cluster: sentiment split, average rating, how many reviews have no Department tag yet ("Unmapped"), and one column per department showing how many of that cluster's reviews are tagged to it. Click a cluster to see every store in it; click any number to see the matching reviews.
Every department's issue columns are grouped side by side under its own header, so you see every department's issues at once. If an issue isn't tied to one specific team in Keyword Rules (e.g. "Staff Behaviour"), it can legitimately appear under more than one department header — each occurrence is that department's own real count, never merged with another team's. A review tagged with more than one issue is counted once under each. Click any number to see the matching reviews.
Test "Send Alerts Now" above first. When this is ON, alerts still only go out as a side effect of the scheduled sync job (this app's equivalent of the old CRM's "Refresh Summaries Now" / dashboard "Refresh Data") — it is not an independent schedule of its own, so nothing sends on its own between syncs.
Every Negative review and whether its store-alert email was sent, is still pending, has no store email on file, or was skipped (blank review text). Click a status number to list the matching reviews.
One row per cluster: how many emails, how many were Replied vs Not Replied, and the Internal/External split — same city/store mapping used in Search Emails (see emailLocationMatch.js), just summarized here instead of only being reachable through a search. Click a cluster to see every store in it.
Every department's issue columns grouped side by side under its own header, no department picker. An email tagged to more than one Department/Issue is counted once under each, which is why the totals add up to more than the unique email count (see summary below). Click any number to see the matching emails.
Resolved = a reply was sent (has a "Replied To"); Unresolved = not yet replied. Click a row to see that department's Issue breakdown, then click an issue to see the individual emails. Click a column header to sort.
"Route To" controls negative-review alert emails only: Store alerts the store (plus CC as before) — the existing behavior. Department skips the store entirely and emails that department's contact directly instead.
| Department | Issue | Keywords | Applies To | Route To |
|---|
Contact Email: CC'd on store-routed alerts; primary recipient (To) on department-routed alerts. Manager Email: CC'd on department-routed alerts only (never on store-routed ones, and never the cluster/regional managers) — see Keyword Rules' "Route To".
| Department | Contact Email | Manager Email |
|---|
Click any row to edit that store's details.
| Code | City | Cluster | Store Email | GBP Account | GBP Location | Reviews Reconciled |
|---|
One-time per account. These are two SEPARATE Google logins: the Business Profile account manages listings and sends review alerts; the Customer Care account is the mailbox that gets synced as customer care correspondence. Needs the server's API_KEY.