Three hundred rows in, and no duplicates to clean up after
Batch creates, updates, deletes and true upserts on a merge key you name. The browsing that fills the blank columns happens in the same pass, one link back per value.
The base is fine. What is not fine is that 300 of its 4,000 rows have an empty Owner, four rows are the same company written three ways, and the last import created 112 duplicates because it matched on a name field with trailing whitespace.
A companion reads the base schema first, upserts on the fields you name, and fills the blank columns by going and reading the sources. Batch creates, updates, deletes and upserts are native, so are new tables and fields, and the rows it cannot verify come back flagged rather than guessed.
How do you get rows in without creating duplicates?
You name the fields that decide identity.
The upsert tool takes a merge list, company domain or an external id, and Airtable matches on those rather than on whatever the importer felt like comparing. Matching rows update in place, the rest are created. Three hundred rows arrive as three hundred rows.
Before any of that it reads the base schema. Field ids survive somebody renaming a column on a Tuesday, and the schema call is how it learns that a single-select will reject the value you are about to hand it.
The columns that are empty because filling them means browsing
Headcount, pricing tier, whether they have a careers page, who signed the contract.
Blank because filling them means opening a site, reading it, and typing one fact per row. Nobody does that four thousand times.
A companion does. Visit the source, extract the field, stage the record update with a link to where the value came from, then the next row. What it cannot verify stays blank and gets flagged, which is the right behaviour for a field other people filter on. This is data extraction pointed at a table you already maintain, and unlike in Google Sheets, Airtable’s typed fields reject a bad value on the way in.
Should an agent be allowed to change the schema?
It can create tables, add fields, rename and delete them, and create whole bases in a workspace. Deleting a field in Airtable takes the data in it, so a companion reads the base schema and confirms ids first, and destructive changes wait for your approval.
“Add a Status single-select with these five options, add a Last Contacted date, and backfill both from the notes column” is one instruction, and the intermediate steps are visible to you as they happen. That is how a rough base becomes a usable one in an afternoon.
Keeping a base current without watching it
Webhooks report what changed: a companion creates one on a base, then reads the pending payloads to see which records moved. Routines handle the outbound half, the weekly pass that re-checks the twenty accounts flagged for renewal and updates only the fields that moved.
For teams running their operations out of Airtable rather than a purpose-built system, that pair is what stops the base being a snapshot of the week somebody last had time to update it.
Experience Strawberry for free
DownloadTrusted by fast-growing companies worldwide
Frequently asked questions
Strawberry is free to download and includes AI credits to start. Paid plans begin at $20/month. See pricing. · Reviewed · Canonical facts for AI agents