Key Takeaways
- Find duplicate groups first without changing anything, then match in bulk instead of reviewing set by set.
- Standardise text first so fuzzy matching groups variants that exact checks miss.
- Preview the write back and confirm only reviewed rows in batches of ten.
- Undo restores prior values captured during the read, including empty fields.
Where Airtable duplicates come from
Form submissions, CSV imports and CRM syncs each add records in their own format, so the same person or company lands in a base two or three times with different spacing, casing or suffixes. The base then reports inflated counts and filtered views hide the overlap. The consolidation habit in user list consolidation applies here: keep one master row per entity, note the source beside it and archive the review.
Where the built in extension slows down
The built in Dedupe extension finds duplicate sets inside the base and merges them one set at a time. That suits a small tidy table. On a large or messy base the review turns into repeated manual passes with no bulk preview and no undo beyond the merge step. A local pass inverts the order: match everything at once, review the borderline band once and write back only confirmed rows with an undo held locally.
Find the groups before changing anything
Run Find duplicates first. It reports the groups and changes nothing, which makes it the only Match and Dedupe action that cannot damage your data. It tells you how big the problem is before you commit to a threshold. Take a surprising pair and run Explain on it: it shows the nearest matches with the score for each, so you can see why a threshold behaves the way it does rather than guessing. Lower the threshold until the expected pairs appear, then raise it back toward 0.90 when false positives creep in. That loop takes minutes and it is what keeps a bulk run precise.
Pull the base into a local table
Paste a personal access token, the base id which begins with
app
and the table name or id into the Airtable source. List tables shows the tables in a base when the token carries the schema read scope. Pages hold up to 100 records and are fetched in turn, paced to stay inside the rate limit, so a large table arrives as one working table. Airtable omits empty fields from its responses, so those cells arrive empty rather than as placeholders. The pull remembers its base and table and refills them on return, so a write back does not need them typed a second time. The control list is in
Import from a Source
.
Tokens are written to your Windows user profile beside the rest of the app data and never leave the machine. Disconnect removes the stored sign-in. Reading needs the records read scope, and writing needs the records write scope on the same token, so choose both scopes before the first pull when a write back is planned.
Match in bulk and review once
Standardise text before matching so variants group together, then match with exact, normalised, phonetic and fuzzy measures across one column or a whole table. Start at 0.85 for names as in fuzzy matching in Google Sheets , raise the threshold toward 0.90 when false positives appear and lower it toward 0.80 when expected pairs are missed. Review the borderline band by hand and save the reviewed table to a file as the audit trail before anything writes.
When the groups look right, run Golden records. It picks the best record from each group and shows you the choice without writing it yet, so the survivor rule stays visible before anything changes. Merge and purge then writes the master values onto the data range and removes the rows that were merged away, inside the workbook. That local merge is what the write back sends: the surviving values, matched row by row to the remote records.
Write back in batches with an undo
Write back sends cleaned values to the source again in batches of ten records per call. It updates records that already exist and nothing else: no record is created and none is deleted. Name the column that identifies a record, usually an id or an email address, and tick the columns to write. Only rows that match a remote record are written.
The first press is always Preview write back. It reports how many rows matched and how many were skipped and shows the first ten changes without sending anything. Apply is only live after a preview and the button then reads Confirm write back. Every write is recorded on the activity list in My Account. A write counts only the records the service confirmed: rejected records are named in the result and left out of the undo record, because they never changed. Undo keeps the real previous values captured during the read, restores an empty field as empty and drops an applied undo from the list so the same write cannot be rolled back twice.
Write back cannot merge or delete records in the base. Collapsing groups happens in the workbook, and the values that reach Airtable are the survivors. When duplicate rows remain in the base after the write, remove them there from the reviewed list, now that every survivor holds the complete values. Because the reviewed table was saved to a file first, the list of removed rows stays on record whatever happens next.
Sheets add-on or desktop
Flookup Data Wrangler exists in both places. The Google Sheets add-on cleans where the data already sits, which suits teams whose workflow lives in Sheets. The desktop pulls from Sheets, Salesforce or Airtable into a local workbook, handles Excel scale files offline and writes reviewed values back to the source. One licence covers both, so start where the data sits and move to desktop when the job needs a pull, a write back or an undo.
Start from the desktop page at Desktop when the Airtable round trip is the goal. The installer is signed and the page lists the current version and file size for verification.
Frequently Asked Questions
How is this different from the Airtable Dedupe extension?
The extension reviews duplicate sets one by one inside the base and slows on large tables. The desktop pulls the table locally, matches in bulk with exact, normalised, phonetic and fuzzy measures and writes reviewed values back in batches of ten with an undo.
Which token scopes are needed?
Reading needs the records read scope and listing tables needs the schema read scope. Writing needs the records write scope on the same token. Paste the base id, the table name and the token into the Airtable source.
What does Preview write back do?
Preview plans the change and writes nothing. It reports how many rows matched and how many were skipped and shows the first ten changes. Apply is only live after a preview and the button then reads Confirm write back.
What happens to rejected records?
A write counts only the records the service confirmed. Rejected records are named in the result and left out of the undo record, because they never changed. A partial write still records an undo for the records that did change.
Does write back merge or delete duplicate records?
No. Merging happens in the local workbook through Merge and purge or Remove duplicates. Write back updates the surviving values on matched records. Extra rows are removed in Airtable itself, after the write has confirmed.