One call-centre platform, six verticals, isolated data
Several business verticals needed call-centre tooling. Running six separate systems was the obvious answer and the wrong one. Running one shared system meant the data had to be genuinely separated, not separated by a filter in a query.
The problem with six systems, and with one
Six verticals, each with its own workflow, its own scripts and its own idea of what a good call sounds like. Six separate deployments would have meant six upgrade paths and six sets of the same bug. One shared deployment risked the thing nobody recovers from, which is one vertical seeing another vertical's customers.
What we built
One platform serving 6+ verticals, with the data isolated per tenant and the workflows configured per vertical rather than forked. Each vertical runs its own AI voice agent. A 15-point call-quality scoring engine reviews calls consistently, which is the part a supervisor cannot do at volume. Four-tier access control and 2FA sit over the whole thing, and n8n handles the automation between it and everything else the business runs.
Where the isolation actually lives
Tenant separation is enforced below the application, so a missing filter in one query cannot leak a row. This is the decision that makes multi-tenant work worth doing rather than dangerous, and it is the first thing worth asking any vendor to show you.
The voice layer runs on VAPI. This platform is not self-hosted, and we are not going to describe it as though it were.
Stack
React and TypeScript with D3.js for the reporting. Express and PostgreSQL behind it. VAPI for the voice agents and n8n for automation.
Want the same thing looked at in your business?
We map the process, find the part worth automating first, and give you a written scope with the phases separated. No obligation, and you keep the plan.
