The problem
A sales team of a few people, a long list of possible accounts, and no time to research them. The off-the-shelf CRMs could store contacts. None of them could let an agent do the research and still keep a person in charge of who gets a call.
What we built
- A gated funnel. A lead becomes agent-qualified only after five gates pass, each with its evidence linked. An agent cannot mark a lead sales-qualified. Only a person can, after a meeting is held.
- An agent for each seat. Each rep has an agent that researches, drafts and proposes. The rep decides.
- Four daily numbers per rep. Accounts added to a sequence, first touches sent, positive replies, meetings booked. Standups check deviations instead of reading numbers aloud.
How it is built
- PostgreSQL 18 on the company's own server, with no public port. Row-level security per seat, so each rep's agent sees only what that rep may see.
- Every write is stamped with the seat, the agent and the run that made it. An audit trigger keeps the history, and imports run as one batch that can be undone.
- The schema and the data layer are covered by more than 180 automated checks. A nightly export keeps a readable copy in git.
Where it stands
In daily use by the sales team, with a prospect research line feeding it.
Want something like this? For agents inside a team you already run, see AI transitions, with a pilot on one task first. For a new system built around your process, see Custom software. Both pages say how we run it and what it costs.