Skip to main content

Agentic CRM

A durable research agent is the product. The database is just where it writes things down.

Hrida CRM is built the opposite way round from a normal CRM. The agent is not a feature bolted onto a form — the CRM is where the agent keeps its notes. It runs on its own deployment, on its own schedule, against its own work queue. It decides what to look at next, books its own follow-ups, spends a research budget, and stops when the budget runs out. Nothing about it is request-response: close the browser and it keeps going.

The API deliberately has no intelligence in it. NestJS reports that something happened — a thread was ingested, a company was created, an attendee is unknown — by writing a row to a queue. The agent leases that row and decides what it means.

One rule the agent never breaks

Nothing about a person is guessed. No tool accepts a confidence score. Tools report what they observed — a signature block, a GitHub account identity — and a ledger prices the evidence. Strong evidence writes to the record; weak evidence becomes a suggestion a human settles. A confidently wrong fact about a customer is worse than a blank field.


How it's put together​

Three independent deployments and a Postgres:

PartWhat it is
AppNext.js front end — the records, lists, dashboards, and the agent panel.
APINestJS — HTTP, auth, tRPC, and the Google sync. No research, scoring, or enrichment lives here.
Research agentIts own eve deployment — tools, skills, schedules, and a sandbox. Every piece of intelligence in the product.
PostgresPrisma schema and migrations; the shared work queue.

See Architecture for why it's split this way.


Feature map​

AreaWhat's there
The research agentAuthored tools, prose skills, a single schedule, a work queue with leases, per-session research budget, two dispatch lanes, task priority.
Contacts, companies & dealsThree record types, quick-add, the Overview / Contacts / Activity / Agent tabs, stage board and stage clock, delete-with-suppression.
Evidence, not confidenceObservation-based evidence model, verified / probable bands, auto-written facts vs. human-settled suggestions, never overwrite a human.
Enrichment & imagesCompany real name / industry / socials, logos and favicons, contact portraits, byte-mirroring into blob storage, sign-in backfill sweeps.
Gmail & Calendar syncForward-only thread and meeting ingestion, contact / company auto-create, participant filtering, per-source toggles, disconnect and delete.
Agent conversationsThe per-record Agent tab, the browser→app→agent bridge, kept conversations, resume and start-new, record-scoped context.
Overview dashboard & activityPipeline by stage, Me / Everyone toggle, per-record activity timeline, notes / calls / emails / meetings, tasks with due dates.
Agent model & providersOpenRouter, Anthropic, or any OpenAI-compatible endpoint — chosen as a setting, not a deploy; combined model catalog.
Authentication & accessGoogle sign-in, OIDC SSO as a row, the local admin door, the ALLOWED_SIGN_IN allow-list, the singleton workspace and onboarding.
Installation · ConfigurationQuick start, the required values, the one root .env, optional capabilities, deploying the three services.
Architecture & security · Security modelIntelligence never in the API, single tenant by design, egress boundaries, the deny-all sandbox, data-boundary rules.

Quick start​

You need Bun and Docker.

git clone https://github.com/Hrida-AI/crm.git && cd crm
cp .env.example .env          # fill in the required values
bun install

docker compose up -d          # Postgres on :5432
bun run db:deploy             # apply migrations
bun run db:seed               # optional: a believable pipeline to look at
bun run dev

The app is on localhost:3000, the API on localhost:3001. Full details in Installation.


License​

Zlabs Innovation Software License — proprietary, not open-source. Commercial and enterprise licensing: sales@hrida.ai.

Hrida.ai is proprietary software of Zlabs Innovation. See the license for terms. © 2026 Zlabs Innovation.