Affinity is the relationship graph your deal team runs on. Companies, people, notes, opportunities, and the lists that tie them together. Over time it drifts: duplicate companies, stale notes, lists that no longer reflect where a relationship actually stands. An AI could read the whole graph and tell you what needs grooming, but pointing one straight at Affinity means handing a model live API access to your CRM, and even then it reads a few records at a time, never the full picture of a relationship.
Scratch takes the other path. It pulls your Affinity records down to files on your computer, and your AI reads and reasons over all of them there. It audits relationships, drafts list-grooming proposals, and writes summary reports as files you read alongside the originals. Affinity is read-only today, so nothing the AI does touches your live CRM. It proposes, you review. Publish-back is on the roadmap. Scratch is the companion app to Whalesync: Whalesync keeps your tools in sync, and Scratch is where you audit and plan the cleanup first.
What Scratch pulls from Affinity
- Companies and people
- Notes and entity files
- Opportunities and lists
How it works
- Scratch pulls your Affinity records into local files. Companies, people, notes, entity files, opportunities, and the lists they live in all come down to a folder on your computer, one file per record. This is read-only. Nothing touches your live Affinity CRM.
- Your AI reviews and proposes cleanup over the files. Open the folder in the agent you already use. It reads every record, audits the relationship data, and writes cleanup proposals, audits, and summary reports.
- You read the AI's output as files alongside the originals. Each proposal sits next to the record it came from, so you can read what the AI found and decide what to do with it. Publish-back to Affinity is on the roadmap. Today this is the read side of the loop.
What teams use it for
- Run relationship audits across every company and person at once.
- Draft list-grooming proposals, so the lists your team works from reflect where deals actually stand.
- Surface duplicate or stale companies and people before they skew the pipeline.
- Review opportunities and the notes attached to them for gaps before a partner meeting.
- Summarize the activity on a relationship from its notes and entity files.
- Feed CRM context into AI workflows without giving the AI direct API access.
Why pull it into files at all?
Because it gives the AI full context over every record without handing it direct API access to your CRM. The AI reads all of your companies, people, notes, and opportunities at once, not a sample it paged through over an API, so it can reason across the whole relationship graph instead of a handful of records. The analysis runs against local files, so it is fast, about 10x faster than the same AI working over an API. And your live Affinity CRM is never touched. The AI reasons over a copy. Your source of truth stays exactly as it was.
What's safe
Nothing writes back. Affinity is read-only today, so the AI never touches your live CRM. You bring your own AI: Scratch holds no AI credentials and runs no model, so you sign into Claude, Claude Code, Codex, Cursor, Copilot, Cline, or Windsurf the way you already do. The whole workspace is git-backed, so every pull and every proposal is tracked. Publish-back to Affinity is coming. Scratch is SOC 2 compliant.
Questions Affinity users ask
Can Scratch change my Affinity data?
No. Affinity is read-only today. Scratch pulls your records down to local files, and your AI reads and proposes cleanup over those files. Nothing writes back to your live Affinity CRM. Publish-back is on the roadmap, but today this is the read side of the loop.
How is this different from giving an AI direct Affinity API access?
Direct API access hands a model live access to your CRM and still only lets it read a few records at a time. Scratch pulls everything into files first, so the AI reasons over the whole relationship graph at once, faster, and without ever touching the live system.
Which AI does it use?
Whichever one you already use. Scratch holds no AI credentials and runs no model. You bring Claude, Claude Code, Codex, Cursor, Copilot, Cline, or Windsurf, and it reads the local files.
Is my CRM data safe?
Yes. The files live on your computer, the workspace is git-backed, and Scratch is SOC 2 compliant. Because nothing writes back today, the AI can never alter your live Affinity CRM.
See it on your own Affinity
Pull your Affinity records into files and let your AI audit them, then read the proposals alongside the originals.