Import & Export
Move data in and out of your tables — and keep the connections between records intact while you do it.
Exports include everything needed to bring your data back exactly as it was — including which records are connected to which. The one rule that matters: keep the "(id)" columns in exported files. They're what makes re-importing perfect.
Why your export has "(id)" columns
When a table connects to another table (a linked-record field), the export shows the connection twice:
Val Parent Parent (id)
10 Acme cm7xk2p4q0001
20 Beta Corp cm7xk2p4q0002The Parent column is for people — it shows the connected record's name. The Parent (id) column is for the computer — it says exactly which record is connected. Names can repeat (two customers called "Acme"), names get renamed, and names can contain commas. IDs never have any of those problems.
If you edit an exported file in Excel or Google Sheets, feel free to change the data — but don't delete the "(id)" columns. With them, re-importing reconnects every record perfectly. Without them, we fall back to matching by name, which can't tell two "Acme"s apart.
Building an import file from scratch
Column headers are your field names. For a linked-record column, you can write any of these in a cell:
| You write | What happens |
|---|---|
| Acme | Connects to the record named Acme |
| Acme, Beta Corp | Connects to both records |
| ["Acme, Inc.","Beta"] | Bracketed list — use this when a name itself contains a comma |
| cm7xk2p4q0001 | A record ID — always exact, never ambiguous |
Matching is done against the linked table's first text column — the same one shown in exports — so a file you exported always matches the way it was written.
When a connection can't be made
Imports never guess and never invent data. Three simple rules:
- The row always imports. A name we can't match only skips that one connection — never the whole row, never the whole file.
- You get a report. Every skipped connection is listed after the import — which row, which column, which value, and why (not found, or two records share that name).
- Nothing is created behind your back. A typo like "Acme Crop" is reported — it does not quietly become a brand-new (and wrong) record in your other table.
Exporting a whole base
Exporting a base takes every table, field, view, row — and every connection between records — in one file. Importing it recreates the whole thing: tables come back, rows come back, and connections are rebuilt exactly, both directions, so lookups and rollups work immediately in the imported copy. Use it for backups, moving between accounts, or duplicating a base to experiment safely.
Good to know
- Lookup and rollup columns aren't in exports — they're calculated live from your data, so they rebuild themselves.
- Long numbers (account numbers, IMEIs, external IDs) belong in a text column — number columns are exact only to about 15 digits, and the import will tell you if a value is too big rather than quietly rounding it.
- Secret fields export as blank on purpose — credentials never leave in a file.
- If two records share a name, use the ID instead — the import report will tell you exactly where that's needed.
- Files from other tools (a CRM export, a hand-made sheet) import fine too — they just match by name, since they don't know our IDs.