A sales funnel CRM built around how a phone team actually works: a shared lead pool everyone draws from, callers qualifying and booking, setters filling the calendar, closers running the appointment — and every call recorded, transcribed and measurable.
No account form. Login goes through District ID (Keycloak) — the same identity you use across the platform.
Not a pile of spreadsheets with a dashboard on top. Each stage of the funnel is a real service with its own data, its own screens and its own numbers.
One pool the whole team pulls from, with source tracking and per-lead history.
The calling desk: a working queue, outcome capture and a live personal scoreboard.
Appointments land in the system the moment they are booked, not the morning after.
Appointment-by-appointment view with the caller's notes attached and the outcome recorded.
Each role sees the numbers that role is judged on — and admin sees all of them.
Operations, not guesswork: what came in, what failed, who is on the team.
The role is not a checkbox on a profile — it comes from your District ID token and decides which screens exist for you at all. Admins can step into any operational seat to see exactly what that person sees.
Queue, dial, qualify, book. Personal KPIs and a confirmations view for what's already on the calendar.
Own lead queue focused on booking, with setter-specific conversion numbers.
Appointment list, caller context, outcome and earnings — nothing else in the way.
Team-wide KPIs, integrations health, user management, and impersonation for support.
Two AI bots sit directly on the calling pipeline. One does the dialling. The other listens, records and writes down what was said — so coaching and quality control stop depending on somebody's memory.
An AI agent that takes the top of the lead pool and calls it by itself — first contact, qualification questions, and booking straight into the calendar.
Every conversation is captured and pushed through speech-to-text automatically, then attached to the call it belongs to — searchable, reviewable, auditable.
Webhooks in, reconciliation behind them, and a backfill path for whatever was missed while a service was down.
There is no password in this application. Sign-in is an OpenID Connect authorization-code flow with PKCE against District ID (Keycloak); roles arrive inside the token. Password changes, profile and two-factor live in the account console, and signing out ends the session at the identity provider too.
Every client gets its own namespace, its own database and its own identity client with its own roles. Nothing is shared between tenants except the login page — so a new client is a deployment, not a migration.
The demo is a full copy of the system — pool, pipelines, calendar, KPIs and admin. Sign in and it opens on the home screen for whatever role you hold.