An agent looks up every new contact and company, then writes down only what it can back up. Free to run. You cover your own AI usage.
The record stays blank until someone looks the person up and types it in.
The agent researches each contact, writes down what it can prove, and shows its steps.

By Raj Singh · October 2026 · 7 min read
One email opens every guide in the library.
One email. No follow-up unless I ship something that fits.
docker compose file starts it for you. A local Postgres with user and password postgres works too.Clone the default branch, release. It is the last tagged version. main is unreleased work.
Fill in .env before the next step (the table in Configure). Then the quick start says bun run dev. In any terminal that cannot draw Turbo's interface (a server, an SSH session, an AI agent's shell) it exits at once:
Run the app and API in one terminal and the agent headless in a second. The second command is the one the project's own setup notes give.
There is one .env at the repo root, read by all three processes. Real environment variables win over it.
| setting | what to put | why |
|---|---|---|
BETTER_AUTH_SECRET | output of openssl rand -base64 32 | Signs every login session. Empty means no sign in. |
ALLOWED_SIGN_IN | yourcompany.com or you@gmail.com | The whole permission model. It has no default, so empty means nobody gets in. |
GOOGLE_CLIENT_ID and _SECRET | both, or neither | Redirect URI http://localhost:3001/api/auth/callback/google. Enable the Gmail and Calendar APIs. Half a pair is a button that fails. |
AGENT_URL | http://127.0.0.1:2000 | Not localhost. The agent's dev server listens on IPv4 only. |
AGENT_BRIDGE_SECRET | output of openssl rand -base64 32 | Turns on the Agent tab, and lets the API wake the agent when you add a company. Same value for every process. |
AI_GATEWAY_API_KEY | your Vercel AI Gateway key | The model. Not needed on Vercel itself. Without it nothing gets researched. |
CRM_TELEMETRY_DISABLED | "1" | Telemetry is on by default: one anonymous event of counts a day. The project says no names or amounts are sent. I still turn it off. |
The model is a setting, not a variable. The default is zai/glm-5.2-fast, chosen on purpose: the project relies on its evidence rules, not a frontier model, to refuse wrong answers. Change it on the settings page.
AGENT_BRIDGE_SECRET the key is saved without being checked, which is how I got past it with a placeholder to look around. Company research stays off until the key is real.AGENT_BRIDGE_SECRET so new rows wake it, or run bun run --filter=agent dispatch by hand. That one uses real credits.vercel env pull writes .env.local, which wins over .env. Pull somewhere harmless instead: vercel env pull .env.vercel.AGENT_URL says localhost.ALLOWED_SIGN_IN is empty, or you set only half of the Google or Microsoft pair.Your data lives in your Postgres. Single company by design: one install, one team, no accounts for other organisations.
Six commands, two terminals, one key the app insists on, and a mailbox connected first. After that, new contacts arrive researched, with the proof on the record.
↑ Unlocks the moment you submit the form above.
I'm Raj Singh. I've led ecommerce at two Fortune 100 companies, and at one of them I ran about $8M a year in ads for four years. I've worked with AI since 2019. Now my engineering team and I ship AI products, including debtops.ai. Each guide here is written from a real install, with the output dated.
The FreeLLMAPI guide cuts what the research costs you, and the OpenBot guide is the same idea for the rest of your work: an AI coworker you can watch.