Codex runs through a codebase from one prompt and reports back with a diff you can reject. Your HubSpot CRM is the same shape of job, with one difference: a bulk write to records the whole company reports on cannot be undone with a git reset. So the hygiene pass you keep meaning to run, standardize the company descriptions, tighten last quarter's deal notes, never gets started.
Scratch pulls the CRM into a folder Codex can open. It cleans the records on your laptop and reports back like a code change; Scratch shows every change as a diff and writes back only the ones you approve. Workflows, lists, and Marketing assets never move, and you pick which records reach the live CRM.
How it works
- Scratch pulls your CRM into files. Contacts, companies, deals, tickets, and the rest land in a folder on your laptop, one file per record.
- Codex edits the records. Point Codex at the Scratch folder and describe the pass. It works the object the way it works a codebase, and you read the result like a pull request. Standardize every company description and tighten the deal notes from last quarter. Codex works the files, never the live CRM.
- You review every diff and publish. Scratch shows each changed field beside the original, word by word. Approve what holds up, and Scratch writes only those records back through the HubSpot CRM API.
What people use it for
The CRM hygiene that never gets prioritized because it means opening records one by one:
- Standardize company descriptions across every account.
- Tighten deal notes and next steps after a quarter of drift.
- Reconcile custom-object copy that diverged between teams.
- Normalize the formatting on a property so reports and filters behave.
- Fill the blanks on a field by reading what is already on the record.
Run it on a few hundred records to feel the loop, then turn it loose on the object.
Why not an MCP server?
A HubSpot MCP server or app wires Codex straight to your live CRM. One pass rewrites every record at once, fires the workflows watching those fields, and leaves your reps cleaning up by hand.
Scratch gives Codex the same full read and write access against a local copy instead. The write-back is lifted out and handed to you. Codex can change anything; only you can commit it. On a CRM the whole company runs on, that gap is the whole point.
What Codex edits in HubSpot
- Contacts and companies
- Deals, tickets, quotes, and line items
- Notes, tasks, calls, and meetings
- Custom objects and the associations between them
Workflows, lists, and Marketing Hub assets stay where they are, and emails are pulled for context but stay read-only. The full picture lives on Scratch for HubSpot.
Questions people ask
Is this an MCP server or a HubSpot app?
Neither. An MCP or an app hands Codex the write button. Scratch keeps it. Codex gets the same access, and writing back is a separate step you approve, one record at a time.
Will it touch my workflows or lists?
No. Workflows, lists, and Marketing Hub assets are never exposed for editing, and emails are pulled read-only. Codex edits records and the associations between them.
Will editing records fire my automations?
Edits in the local copy fire nothing. When you approve a record, Scratch writes it back like any CRM update, so a workflow watching that field can fire, the same as a hand edit would. The difference is you pick which records write back, instead of one pass tripping every workflow at once.
Can I roll a change back after it writes?
Yes. Scratch keeps the original beside the rewrite, so every written record reverts per row. You decide which version stays.
How is this different from an import or a script?
A CSV import and a script both write straight to the live CRM with no diff and no per-record approval, and a find-and-replace does only what you spelled out. Codex handles the records a rule cannot, and Scratch still holds every change for review before it lands.
Do I need to be technical?
Codex lives in the terminal, so if you run it already, you are set. If a terminal is not where you want to be, the Claude desktop app runs the same Scratch loop with a more familiar surface.
See it on your own CRM
The fastest way to trust it is to watch it run on your records. See it run on your HubSpot CRM →, or download Scratch free and take the first pass yourself.