Architecture Gap Identified
The current specs assume the Distribution Engine can publish to Instagram/Facebook/GBP per practice, but none of these are documented:
- How practices connect their social accounts (OAuth flow)
- Where per-practice social account IDs are stored in the data model
- Who initiates connection — HQ ops or practice manager?
- How token expiry and re-authorization work across 260+ accounts
- What happens when a connection breaks mid-distribution
These wireframes explore 5 approaches to solving this gap.
Variation 1 of 5
Network Directory
Table-first view for HQ Operations — see all 260+ practices, their connection status across every channel, at a glance. Filter by brand, region, or connection health. Click any practice to drill into its setup.
Social Connections
Network View
Search practices...
Export CSV
+ Connect Practice
Brand: All ▾
Region: All ▾
Show Issues Only
Showing 264 of 264 practices
Bright Smiles Tulsa
ID: SGA-047 · Joined Mar 2025
SGA Legacy
South Central
All Connected
Gen4 Midtown OKC
ID: G4-012 · Joined Jan 2026
Gen4
Oklahoma
GBP Expired
MODIS Downtown Dallas
ID: MOD-003 · Joined Nov 2025
MODIS
Texas
All Connected
SGA Legacy #89 — Broken Arrow
ID: SGA-089 · Joined Jun 2025
SGA Legacy
Oklahoma
📧
📺
2 Expired
Bright Smiles Norman
ID: SGA-052 · Joined Apr 2025
SGA Legacy
Oklahoma
📷
📘
📍
📧
📺
Not Setup
Showing 5 of 264 practices · Load more ↓
Best for: HQ Operations managing the network at scale. Immediately see which practices need attention. The "Show Issues Only" filter is critical — at 260+ practices, you only want to see the broken ones. Click any row to drill into Variation 4 (practice detail).
· · · · ·
Variation 2 of 5
Practice Setup Wizard
Step-by-step onboarding flow for connecting a single practice's social accounts. Could be used by HQ Ops during enrollment or sent as an invite link to the practice manager. Each channel walks through OAuth → verify → configure posting preferences.
Connect Google Business Profile
Link this practice's Google Business listing so approved content can be published as GBP posts and photos. You'll need admin access to the Google Business Profile for this location.
Already Connected
📷 @brightsmilestulsa
📘 Bright Smiles Tulsa
📍
Google Business Profile
Connect your Google Business listing to publish posts, photos, and updates directly from the Content Engine.
Sign in with Google →
After connecting, you'll:
1. Select the correct location from your Google account (if multiple)
2. Verify the listing name and address match this practice
3. Choose which content types to auto-publish (posts, photos, or both)
4. Set a preferred posting schedule (or use network default)
Don't have GBP admin access? You can skip this step and send an invite link to the practice manager. They can connect their Google account from their own device.
📧 Send Invite Link
Skip for Now →
← Back: Facebook
Next: Weave →
Best for: Initial practice onboarding. The wizard reduces cognitive load — one channel at a time. The "Send Invite Link" option is key for GBP where the practice manager likely owns the Google account, not HQ. This could be embedded in the enrollment pipeline (NI-7) as step 8 of 12.
· · · · ·
Variation 3 of 5
Connection Health Dashboard
Monitoring-first view — designed for the ops person whose job is "make sure nothing is broken." Channel-level health scores, expiring tokens, failed posts, and a heatmap of the entire network's connection status.
Connection Health
Network Status
Last 30 Days
Export Report
Fix All Issues →
📷
Instagram
241 connected
4 expired
19 not setup
91% healthy
📘
Facebook
248 connected
3 expired
13 not setup
94% healthy
📍
Google Biz
232 connected
8 expired
24 not setup
88% healthy
📧
Weave Email
209 connected
1 error
54 not setup
79% healthy
📺
TV Slides
186 connected
78 not setup
70% healthy
🖨️
Print / Gelato
264 available
(network-wide, no per-practice auth)
100%
⚠️
Token Expired — SGA Legacy #89 Broken Arrow
Instagram + Facebook tokens expired 3 days ago. 4 scheduled posts are queued and blocked.
3 days
Re-auth →
⚠️
GBP Listing Mismatch — Gen4 Midtown OKC
Google Business name changed from "Gen4 Dental" to "Gen4 Family Dentistry." Verify this is intentional.
1 day
Review →
🔔
Token Expiring Soon — 12 practices
Instagram tokens for 12 practices expire within 14 days. Send bulk re-auth request?
14 days
Bulk Re-auth
📋
+ 13 more issues (7 not-setup warnings, 4 token expirations, 2 API errors)
View All →
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
Showing 32 of 264 practices · Click any cell to view practice detail
Best for: The ops person responsible for "everything stays connected." The heatmap gives instant visual status at scale. The issues panel is actionable — "Bulk Re-auth" for expiring tokens is critical at 260+ practices. Proactive token expiry warnings (14-day heads up) prevent distribution failures.
· · · · ·
Variation 4 of 5
Single Practice Detail
Deep dive into one practice's connections — see every connected channel, posting preferences, token health, and recent distribution activity. This is where you land when you click a practice from the Network Directory (Var 1) or Health Dashboard (Var 3).
📷
Instagram
@brightsmilestulsa · 2,847 followers
Token expires: Aug 14, 2026 130 days
Manage
📘
Facebook Page
Bright Smiles Tulsa · 4,122 likes
Token expires: Aug 14, 2026 130 days
Manage
📍
Google Business Profile
Bright Smiles Dental — Tulsa
4.8★ (312 reviews) · Verified owner
Manage
📧
Weave — Email Campaigns
Connected via Weave API
3,200 active patient contacts
Manage
📺
Weave — TV Slides
Welcome space display connected
2 screens active · Auto-rotation ON
Manage
Auto-publish approved content
Require practice approval before publish
Post to Instagram
Post to Facebook
Post to Google Business
Max posts per day
3
Preferred posting times
9am, 12pm, 5pm
Team Photo → IG, FB, GBP
Today, 2:30 PM · 142 IG likes, 38 FB reactions
Provider Portrait → IG, FB
Yesterday, 9:00 AM · 89 IG likes, 22 FB reactions
Office Tour Clip → IG Reel, FB
Apr 3 · 1,204 IG views, 67 FB views
TV Slides Updated → Weave TV
Apr 2 · 5 new slides deployed
Best for: Drilling into one practice's complete social setup. This is the "manage" view — edit connections, update preferences, see what's been published. The token expiry countdown is critical — shows exactly when each connection needs re-auth, letting ops be proactive rather than reactive.
· · · · ·
Variation 5 of 5
Bulk Onboarding Flow
SGA acquires practices in batches. This flow handles connecting 10, 20, or 50 practices at once — send invite links, track who's connected, follow up on stragglers. The "enrollment blitz" view for when a new batch of practices joins the network.
Bulk Onboarding
Batch: Q2 2026 Acquisitions
Save Draft
Cancel
Send Connection Invites
Choose how practice managers will connect their social accounts. Each practice manager receives a unique link to authorize their Instagram, Facebook, and Google Business accounts.
📧
Email Invite
Send a branded email with a secure link. Practice manager clicks, logs into each platform, and authorizes. Average completion: 72% within 48h.
📱
SMS Invite
Send a text with a short link. Higher open rate (98%) but some managers prefer email for "official" requests. Average completion: 68% within 24h.
New Smile Dental
Arlington, TX · SGA Legacy
lisa@newsmile.com
—
—
—
—
Ready to Send
Premier Family Dental
Plano, TX · Gen4
mgr@premierfamily.com
—
—
—
—
Ready to Send
Gentle Care Dental
Frisco, TX · MODIS
admin@gentlecare.com
—
—
—
—
Ready to Send
+ 9 more practices in this batch
Email Preview
From: SGA Dental Partners <platform@sgadental.com>
Subject: Connect Your Social Accounts — 5 min setup
Hi
[Manager Name],
Welcome to the SGA Content Engine! To start receiving professionally designed social posts for
[Practice Name], we need to connect your social media accounts.
Connect Your Accounts →
This takes about 5 minutes. You'll log into Instagram, Facebook, and Google to grant posting permission. Your login credentials are never stored — we use secure OAuth tokens that you can revoke at any time.
— SGA Content Team
Edit Template
Preview as Manager
Best for: Batch acquisitions. SGA acquires practices in groups, not one at a time. This flow handles the reality of "12 new practices just joined, get them all connected." Step 4 (Track Connections) would show real-time status as managers complete their OAuth flows — with automatic reminders for stragglers after 48h. The email preview ensures brand consistency in the invite itself.
How These Fit Together
These 5 views compose into a complete Practice Social Connections system:
Onboarding (new practices): Var 5 (Bulk) → Var 2 (Wizard per practice) → lands in Var 4 (Detail)
Daily monitoring: Var 3 (Health Dashboard) → click issue → Var 4 (Practice Detail) → re-auth
Network management: Var 1 (Directory) → filter/sort → Var 4 (Detail) for any practice
Data model implication: needs a new `shared.practice_social_connections` table with columns for practice_id, channel, account_id, account_name, token_ref (AWS Secrets Manager ARN), token_expires_at, connection_status, connected_by, connected_at. The Distribution Engine routes content by joining this table with `practice_id` from the approved asset.