Know the patient before you say hello.
The moment a call hits your GoTo Connect line, Screen Pop matches the number against Dentrix Ascend and pops the patient's full chart — demographics, provider, visits, insurance, and balance — before the second ring.
Stop answering calls blind
Front-desk staff shouldn't have to ask "name and date of birth?" and dig through software while a patient waits. Screen Pop does the lookup the instant the phone rings.
Greet by name
The pop arrives pre-loaded with the patient's identity, so staff open with recognition, not interrogation.
True isolation
Each office runs its own worker and receives pops only on its own authenticated channel, scoped by RLS.
Credentials sealed
GoTo & Dentrix secrets are AES-256-GCM encrypted at rest and never returned to client apps.
Change it live
Saving credentials or toggling an office hot-reloads that worker in seconds over Supabase Realtime — no redeploy.
Everything the front desk needs, the instant it rings
Real-time caller match
Listens to GoTo Connect call events over an authed WebSocket and fires on the first inbound ring, normalizing the number and looking it up in Dentrix Ascend instantly.
Rich patient card
Resolves a single match into preferred name, gender, DOB, status, contact method, email, address, and primary provider — pulled live from Dentrix.
Visits at a glance
Shows last visit plus the earliest real upcoming appointment with status, provider, and duration — filtering out cancelled, no-show, and broken slots.
Readable insurance
Walks the Dentrix subscriber → plan → carrier chain to show real carrier and plan names, primary vs. secondary, relationship, and eligibility.
Balance & aging buckets
Surfaces total balance, patient portion, insurance portion, a "please pay" amount, and 0-30 / 31-60 / 61-90 / 90+ aging — so staff can mention it first.
One-click into the chart
The caller's name becomes a deep link straight to that patient's overview in Dentrix Ascend, so staff jump from pop to full chart in a click.
Native desktop notifications
A Manifest V3 Chrome / Edge extension keeps an authenticated connection alive in the background and raises a priority notification for every call — no tab required.
Household & unknown handling
When a number matches several family members it pops a household summary with a member count; unmatched numbers cleanly show "Unknown caller."
Admin dashboard & analytics
Active customers, calls in the last 24h, 7-day match rate by single/household/miss, a 14-day call-volume chart, and a per-office leaderboard.
Not just a name and number — the whole patient
Generic CTI overlays show you a phone number. Screen Pop shows you the patient: who they are, who they see, what's next, what they're covered for, and what they owe. Everything your team needs to handle the call confidently, in one glance.
- Identity — preferred name, gender, DOB, status & contact method
- Visits — last visit and the next real appointment with provider
- Insurance — named carriers & plans, primary/secondary, eligibility
- Account — balance with full 0-30 / 31-60 / 61-90 / 90+ aging
From inbound ring to patient pop in seconds
Onboard the office
An admin creates the customer, pastes GoTo + Dentrix credentials, and runs the GoTo OAuth consent flow. The refresh token is stored encrypted and the office's worker boots automatically.
A patient calls in
The dedicated worker catches the first inbound ring, normalizes the number, and queries Dentrix — resolving provider, visits, insurance names, and balance in parallel.
The pop appears
The matched card is broadcast over an authenticated socket to only that office's browsers and extensions, which raise a desktop notification and open a live side panel.
Every call is logged
Each event is written to a per-tenant audit log feeding the dashboard — call volume, match rate, and per-office breakdowns — with RLS keeping history private.
An admin dashboard built for many offices
Manage customers, credentials, phone routes, and analytics from one place — with platform-wide visibility into how every front desk is performing.
See your whole platform at a glance
KPIs roll up active customers, calls in the last 24 hours, the 7-day patient match rate broken into single / household / miss, and total recognized patients — with a live recent-activity feed of caller, matched patient, and match type.
Patient data, handled with care
Encrypted credentials
Every GoTo and Dentrix secret and OAuth refresh token is sealed with AES-256-GCM — random IV and auth tag — before it touches the database.
Row-level security
Every customer, integration, phone route, and call event is scoped by RLS. Credentials are admin-only and never exposed to customer clients.
Per-tenant broadcast
Browser and extension sockets are JWT-authenticated, and each pop is sent only to sockets enrolled under the matching customer_id.
Signed OAuth state
The GoTo OAuth callback is protected by an HMAC-SHA256-signed, time-limited state parameter validated with a constant-time comparison.
Secrets never leave
The customer API returns only booleans like "client secret set" — raw secret values never leave the server, even to admins.
Self-healing workers
Workers auto-reconnect with backoff, recreate GoTo notification channels, persist rotated tokens, and drain sockets gracefully on deploy.
Screen Pop questions
What phone system and practice software does it need?
What information shows up when a patient calls?
Do staff need to keep a browser tab open?
How are multiple offices kept separate?
What happens when we update credentials?
Let your team greet every caller by name
See a live screen pop run on your own GoTo Connect + Dentrix Ascend setup in a 15-minute demo.