This week’s Automata CRM update is methodological. My CRM has lived as a folder of Markdown files run by AI agents for about a year: client chats, invoices, tasks, site monitoring. But the rules for working with that database had accumulated chaotically: some in agent session memory, some in per-folder READMEs, some in my head. And it periodically hit revenue: an agent would clean up tickets and delete live ones, client cards went stale, links led nowhere.
So I took the open-source obsidian-second-brain methodology (MIT) and adopted it in one day. This post covers what changed and, most importantly, the command cheat sheet I now use myself. If you run a similar pipeline, it will save you a day.
What changed: four additions
1. Folder Map in the vault root. One file (AGENTS.md) that every agent
session reads first. It holds a table: which note type lives in which folder.
Client → 10_Clients/, decision → 30_Decisions/, invoice → 30_Invoices/.
The trick of the methodology: this table outranks the commands’ built-in
defaults, so a foreign system fits on top of your structure without moving
anything.
2. A decision log (ADR). I created 30_Decisions/: every structural or
monetary decision gets an ADR card, what was decided, context, options considered,
why this one, consequences. I backfilled the five most recent decisions: killing a
failed project, moving a client to on-demand, choosing the e-document stack.
Before, all of that lived in chat history, which means nowhere.
3. Writing rules for the agent. Now formalized instead of “somewhere in memory”: frontmatter is mandatory; card edits go in as body blocks, never by rewriting contract fields; a changed fact is not deleted but appended to a history section with a date and source; fast facts (balances, statuses) always carry an “as of” stamp. Every rule came from a real mistake, not from theory.
4. Four agent commands. Covered below, that is the cheat sheet.
The cheat sheet: using the new tools
I deliberately kept the triggers as short phrases, easy to remember and say out loud in a conversation with the agent:
| You say | Command | What happens |
|---|---|---|
| ”Save to vault” | osb-save | The agent scans the whole session and files everything worth keeping: client card updates as body blocks, tasks through the CRM pipeline, facts with date stamps, plus an entry in the operations log. Then reports what went where. |
| ”Log this decision” | osb-decide | Lightweight: a dated line in the project card. Add “ADR” or “formally” and it writes a full decision record into 30_Decisions/: context, options, rationale, consequences. |
| ”Check the vault” | osb-health | An audit: broken links, notes missing frontmatter, duplicates, stale stamps. Edits come back as a list awaiting my approval; destructive operations always require confirmation. |
| ”Where is the truth on client X” | osb-reconcile | Contradiction sweep: card against tickets, tasks, and agent memory. A clear winner updates the stale page while preserving history; a genuine tie becomes a conflict card for me to resolve. The agent never decides on my behalf. |
An example from today. We finished a session of handling client replies; I said “save to vault”. The agent found a new decision-maker in the chat, appended them to the contact card with the source linked, logged the agreed timeline in the client card, and routed the pricing decision into an ADR. All I did was skim the report.
First audit: what it found
Right after adoption I ran a health scan across the vault. The scanner is plain Python with no external keys; 1,254 notes before filtering, 596 after (chat dumps and archives excluded via config). The honest result:
- 158 broken links, wikilinks pointing to pages that do not exist;
- 76 notes without frontmatter, mostly old system files;
- 4 title duplicates and 8 empty folders.
None of these numbers surprised me, but now they do not rot silently, they land in a report I can clear in one sitting.
Why I did not have to restructure anything
That was my main concern. I run 30+ live automations: a 15-minute communication cycle, an invoice pipeline, domain monitoring, payment reconciliation. Migrating to a foreign folder layout would break all of it.
The methodology handles this natively: commands resolve folders not by hard-coded paths but through the Folder Map in the root file, and when the map exists, it wins. The repository’s default scheme (wiki folders, daily notes, kanban boards) stayed out: the message feed replaces daily notes in my CRM, the task matrix in the dashboard replaces kanban. I took the rules and tools and kept my structure.
What I did not adopt
The repository ships a research toolkit: Perplexity search, Grok, YouTube transcripts. It requires external API keys, and I deliberately keep the pipeline on my own infrastructure without external LLM services. The core set, writing rules, ADRs, audits, reconciliations, does not depend on any keys.
If you want the same
The methodology is free (MIT). If you want the whole pipeline, my CRM engine is open source on GitHub: crm.automata.sale.
And if your problem is not a vault but syncing a website with Bitrix24 CRM, catalogs, stock, orders, reach out, let’s look at your case.
Evgeny Uryadov · automata.sale · hello@automata.sale · Telegram: @automatasale
Sole proprietor (IP), working with clients across Russia, Belarus, and Kazakhstan