Agent CRM: Headless CRM for Claude and Codex

enrique_goudet1 pts0 comments

GitHub - cluster-software/agent-crm: The headless CRM for Claude · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

cluster-software

agent-crm

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star<br>47

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>223 Commits<br>223 Commits

.changeset

.changeset

.github/workflows

.github/workflows

assets

assets

docs

docs

packages

packages

.gitignore

.gitignore

CLAUDE.md

CLAUDE.md

README.md

README.md

package-lock.json

package-lock.json

package.json

package.json

View all files

Repository files navigation

Let Claude run sales for you. Claude needs a source of truth but existing CRMs are too hard for Claude to work with. Their MCPs torch your context window, every action is a network round-trip, and you blow through your usage limits.

Solution: Agent CRM. Headless, scriptable, with a CLI for Claude to interact with.

┌──────────────┐<br>│ Custom UIs │<br>└──────┬───────┘<br>┌────────────┐ ┌──────▼──────┐ ┌───────────────┐<br>│ AI Agents ├─────►│ .acrm │◄─────┤ CLI / Scripts │<br>└────────────┘ └─────────────┘ └───────────────┘

What's in a .acrm file?

A .acrm file is a SQLite database with a change-history layer on top. That means:

No proprietary format. Open it with any lix client and your data is right there in standard tables.

Every write is a versioned checkpoint. Like git for your CRM — branch to run an experiment, diff to see what changed, revert if Claude mangles a row.

It's just a file. Copy it, email it, commit it, sync it through Google Drive. No server, no account, no migration tool needed if you ever walk away.

If you can read SQLite, you can read your CRM. That's the whole guarantee.

Quickstart

Install the CLI:

npm install -g @agent-crm/cli

Create your first .acrm file and let Claude rip on it:

claude --dangerously-skip-permissions

Create an .acrm file

! acrm init pipeline.acrm

Then import your CSVs

! acrm import csv ./leads.csv

Why Agent CRM

🧩 Headless: Ships as a CLI.

⚒️ Skills based: Claude writes skills against the CLI (transcript ingestion, stale-deal sweeps, weekly reports) as .md files.

🧱 Modeled: uses Attio's data model out of the box — people, companies, deals, posts, transcripts. Typed, related, queryable with plain SQL. Fixed schema = predictable agent edits.

🔀 Version controlled: every change is a checkpoint on a branch. Diff, merge, revert, time-travel.

🔌 Pluggable transcript providers: transcripts are vendor-agnostic. Drop a transcript-provider- skill into ~/.claude/skills/ to plug in Granola, Otter, Fireflies, Fathom, Zoom, manual paste, or anything else.

Use cases

A grab-bag of jobs Agent CRM handles today. Each is a skill or a CLI command — bring your own, or use the ones we ship.

Prep for a sales call. /prep-call pulls the person's full history from your .acrm, fetches their LinkedIn profile (cached, 14-day TTL), and hands you a one-pager with discovery questions tied to what they've actually been talking about.

Pull call transcripts from Granola. /post-call fetches the transcript from your connected provider, resolves participants by email, and imports it as a transcripts record linked to the attendees. Local, queryable, and easy to spot patterns across calls.

Draft follow-ups in your voice. /follow-up finds leads with stale activity, reads the prior thread plus any past-call transcripts, and drafts the next message. You review and send.

Import a scraped list. acrm import csv ./leads.csv ingests a CSV with auto-derived attributes. New columns become typed attributes on the right object — no schema setup.

Sweep stale deals. Ask Claude to query your .acrm for deals untouched in N days and surface them. It's just SQL underneath, so any filter you can describe, Claude can run.

Import X / LinkedIn posts. You're scrolling and see a post worth following up on. Paste the URL into Claude Code — acrm import post upserts the post and adds the author as a contact.

Import X / LinkedIn profiles. Come across someone you want to chat to. Paste the profile URL into Claude...

claude acrm agent import file search

Related Articles