We shipped an agent that backs up your entire Attio workspace every night
Here is a question worth sitting with. Someone on your team runs a bad bulk edit in Attio tomorrow, or deletes the wrong list of records. How do you get them back?
The honest answer for most teams is: you do not. Attio has no user-facing record restore. Once a record is deleted or overwritten, it is gone unless you are holding your own export of the workspace. Almost nobody is.
We built an Attio backup agent that fixes this. Every night it exports the entire workspace to your own cloud storage as CSV, with the relationships between records preserved, keeps a rolling five weeks of history, and posts a summary to Slack. It is read-only by design and it costs cents a month to run.
This post is what it backs up, the design choice that makes it nearly free, how it runs, and how to put it on your workspace.
Why Attio needs its own backup
Attio is a good system of record. It is not a time machine.
There is no button that restores a record to what it was yesterday, and no undo for a bulk operation that touched a thousand rows. The moment a mistake is committed, the only path back is a copy you made beforehand. That copy has to be complete, it has to keep the links between records so you can actually re-import it, and it has to be recent, which means it has to run on a schedule and not depend on anyone remembering.
That is the whole job of this agent: to be the export you will be glad you had.
What it backs up
Every run exports the full workspace, one CSV per thing, with cross-reference columns so a person or an importer can rebuild the relationships later:
- Every object's records. Companies, people, and every custom object in your workspace. Reference cells are written as
object:record_idso links survive a re-import. - Every list's entries, each as its own CSV, carrying the per-list stage and status so that context is not lost.
- Notes, tasks, meetings, and workspace members, one CSV each.
- Call recordings and transcripts. Recording metadata to a CSV, and each completed call's transcript text to a permanent folder that is never pruned. A transcript never changes and is irreplaceable if the recording is deleted, so it is saved once and kept forever.
The agent does not hard-code your object and list names. It asks Attio what exists on every run, so a new object you added last week is never silently left out of the backup.
The design choice that makes it cost cents
The obvious way to build this would be to have the model read the records and write them out. That would be a disaster. Pulling a large workspace through the model would run over a thousand dollars a month and gain nothing.
So it does not do that. The agent orchestrates a streamed export: the Attio API sends records straight to CSV files on disk and up to your cloud storage, and the model only ever sees counts, file sizes, and integrity checks. The record data never enters the model's context. That is what drops the cost from a thousand dollars to a few cents a month.
In a live test against a real workspace, one run exported over 137,000 records, about 81 MB of CSV, with none of that data ever passing through the model.
Read-only, and safe when things go wrong
Two rules keep the backup trustworthy.
It never writes to the live workspace. The agent uses a read-only API key. It cannot create, edit, or delete a live record even if something asks it to. A backup that could touch production is not a backup.
It is always safe to keep, always dangerous to prune. Every item is verified after export: the count Attio reported has to match the count written, and the upload has to have succeeded, before anything is trusted. Old files are deleted only after a fully successful run, and never inside the retention window. If any part of a run fails, it keeps the older backups, posts what failed to Slack, and tries again next time. When in doubt, it keeps the extra copy.
How it runs
The backup agent ships as a Claude Code routine that runs on Anthropic-managed cloud infrastructure, so it fires every night whether or not anyone's laptop is open.
- The skill is a single markdown file we install as a routine on your Claude Code. No Python runner to maintain and no server to host.
- The storage is yours. It exports to your own cloud storage: OneDrive, S3, or Google Drive work identically. The backups live on your infrastructure, not ours.
- The secrets are yours. The read-only Attio key and your storage credentials live as environment variables on the routine, never in a prompt, a note, or a committed file.
- The schedule is
/scheduleinside Claude Code. Daily full export, a rolling 35 days kept, older files pruned automatically. A short Slack summary is the run log.
Your Claude Code subscription is the entire runtime. We do not host the agent, we do not hold your data, and we never see it. If we disappear tomorrow, the backup keeps running to your own storage.
What it costs
Build. A one-time setup: the routine wired to your workspace and your cloud storage, the read-only key issued, the retention and schedule set, and the Slack summary connected.
Run. The export itself costs cents a month in Claude Code consumption, by design, because the data never touches the model. An optional monthly retainer if you want us watching the run logs and handling any restore.
Claude Code consumption. It runs on your existing Claude Code subscription. No separate Anthropic API key, no usage-based bill from us.
Pricing is on the pricing page.
Want to set up AI agents in your Attio?
Start here, because you only regret this once
Nobody thinks about backups until the day they need one, and on that day it is already too late to start. The bad bulk edit has run. The records are gone.
A workspace export is the cheapest insurance you will ever buy. It runs itself, it costs cents, it never touches your live data, and the copy lives on your own storage. If you run Attio and you could not restore a deleted record right now, this is the agent to ship first.
Need help with your Attio setup?
We migrate teams, build data models, wire automations, and train Claude agents inside your workspace. Discovery call is free.
Book a free discovery callReady when you are.
Two ways in. Pick the friction that fits.