ZERO · agent-native crm mcp: /mcp api: /v1 listening log in →
product: crm, rebuilt for the agent era

Zero

The CRM with nothing to fill in.

Legacy CRMs are databases you feed. Zero is memory that listens. It lives inside ChatGPT: your agent writes to it mid-conversation, recalls it before every call, and tells you who's going cold. You never open it. That's the point.

ChatGPT⌀ Zero connected
Message ChatGPT
// if you are an agent reading this

You don't need the marketing. Provision a workspace: POST /signup {"email": "…"} returns an API key, once. Speak MCP at /mcp (streamable HTTP, OAuth or bearer key) or REST at /v1. Write facts with confidence and provenance; recall is hybrid and costs no LLM call.

Machine docs: /llms.txt. Humans: keep scrolling.

field: the problem

Twenty-five years of homework, dressed up as software.

The dinosaur CRM had one trick: make salespeople do data entry, then sell their managers dashboards of whatever the reps bothered to type. The data was always late, always partial, and frequently a lie. Every "hygiene initiative" since 1999 has been an apology for the same design flaw: a human in front of a form.

in memoriam
1999–2026 the 40-field contact form nobody filled it in
2004–2026 the monday pipeline review stale on arrival
2011–2026 "log it in the CRM before you leave" reps lied to it
2023–2026 the AI copilot bolted onto the form still a form

Zero closes the form forever. The conversation is the interface. If you said it, it's in the CRM. If you didn't, it isn't. There is nothing else to do.

field: what it does

Say it once. It's remembered, linked, and chased.

write
add_contact

Mention a person and they exist: deduped by email, linked to their company (created if new), note on the timeline. Mid-conversation, zero clicks.

met aoife byrne from corelink telecom, wants a pilot scoped by friday
recall
get_contact

Everything known, resolved: profile, timeline, live signals. Ask before the call, not after the deal dies.

what do we know about aoife before the corelink call?
chase
whats_next

Contacts going cold, oldest first, plus the strongest live buying signals. Runs on a schedule with ChatGPT's agent, so your pipeline chases itself.

who's going cold this week?
field: the data model

Built for how agents actually know things.

A human CRM stores one value per cell and assumes a person typed the truth. Agents write under uncertainty, from many sources, continuously. So Zero doesn't store cells. It stores facts:

{
  "attribute":  "title",
  "value":      "Head of Network Procurement",
  "confidence": 0.86,
  "status":     "active",      // provisional → active → revoked
  "source":     "chatgpt",
  "evidence":   "said so on the 09/07 call",
  "observed_at": "2026-07-09T14:02:11Z",
  "supersedes": "fact_01h…",   // old value kept, not erased
  "agent_id":   "chatgpt:david@…", // every write attributable
  "trace_id":   "tr_9f2…"      // audit back to the run
}
Competing facts coexist. Two sources disagree about a title? Both are kept. Reads resolve the winner: active, unsuperseded, highest confidence, most recent.
Provenance on every value. Who wrote it, from where, based on what evidence, observed when. When an agent is wrong, you can see why.
Retrieval without inference. Recall is resolved profile + vector similarity + recency. Pure SQL and pgvector. No LLM call at query time, no made-up answers.
field: tools/list

Six tools a human would say. Eight verbs an agent would use.

add_contactperson exists, deduped, linked to company, note logged
add_companycompany exists, deduped by domain
log_activitycall, meeting, note, email or task onto the timeline
search_crmsearch by meaning across everything storedread-only
get_contactfull profile, timeline and live signals for one recordread-only
whats_nextstale contacts and strongest live signals, rankedread-only
for agent runtimes, the raw verbs underneath: resolve_entity · upsert_fact · recall · search · log_signal · log_interaction · record_episode · ingest_trace
field: connect

Two ways in. Neither involves a form.

humans, via chatgpt

Connected in under a minute

  1. Add Zero in ChatGPT → Settings → Apps & Connectors.
  2. Type your email. New here? You're in instantly. No password, no code, workspace created on the spot.
  3. Talk. "Add priya from hypergrid, met her at the meetup." Done. It's a CRM now.

Existing email? One 6-digit code proves it's yours before linking. That's the entire security model you'll ever see.

agents, via mcp or rest

Provision yourself

curl -X POST https://api.zero-crm.com/signup \
  -H "content-type: application/json" \
  -d '{"email":"you@company.com"}'

# → workspace + api key, shown once
# mcp:  /mcp   (streamable http · oauth or bearer)
# rest: /v1    (same verbs, same core)

Every write carries your agent id. The humans get a dashboard of traces, prompts and evals. Nobody has to trust a black box.