← Bionic Forms

What your export button actually carries

Checked against vendor documentation on 19 August 2026

Every no-code database has an Export button, and it mostly does what you expect — until you look for two things: your files, and the links between your records. This page collects what each vendor documents about that, in their own words, with a link to the page each sentence appears on.

Nobody is hiding any of this. Every quote below comes from the vendor’s own help centre or API reference, and most sit in a note placed exactly where it bites. That is worth saying plainly, because a page like this can easily read as an exposé of documentation nobody concealed. It is not one.

The short version

A CSV or an Excel workbook is a grid of text. It has nowhere to put a file, and nowhere to put the identity of a row in another table. So in every product below, the export button gives you a faithful copy of what you can see, and the route that preserves what your data actually is — the files and the relationships — is a different mechanism: an API and a script you write, a paid backup tier, an automation you build, or an enterprise-only endpoint.

That is the real cost, and it is not the one people expect. Assembling that second route lands on you, usually at the exact moment you are trying to leave, and in one case on a clock measured in hours.

Two things this page deliberately does not claim. It does not say any of these tools “loses your attachments” — several of them document a route that hands you your files, and those are listed below. And it does not say relationships are unrecoverable: the identity exists inside every one of these products, and several APIs will hand it to you. What cannot carry it is the flat file you get from the export button.

Relationships: the half that actually breaks

Notion states the problem more clearly than we could, on its own page about relations and rollups:

“When you export a relational database as a CSV file, the relation properties will export as plain text URLs. For now, you can’t re-import that CSV back into Notion to re-establish the relations with other databases.” Notion, Relations & rollups

Read that twice. The export is not merely lossy for someone moving to a competitor; Notion documents that its own CSV cannot rebuild the relations in Notion. The import page says the same from the other side: “A new CSV import can’t create new relations.” (Import data into Notion)

monday.com documents the same shape in its API reference. A mirror column holds nothing of its own — “Mirror column values cannot be updated or cleared directly — they reflect the source column’s value on the connected board” — and its only flat form is “the mirrored content as a comma-separated text string”. For a connect-boards column, “the text and value fields always return null”, and the flattened version is “the names of the linked items, separated by commas”. (mirror, connect boards)

But the identity is there if you go and get it. monday’s API also returns “linked_item_ids — the unique identifiers of linked items”. Airtable’s field model documents that linked record fields come back as record IDs: “Array of either linked record IDs or objects with id… Most APIs will return record IDs by default” (Airtable field model). Coda reserves the word lossless for its rich value format, which encodes a lookup with a rowId, a tableId and a URL — while the default format returns “array values (like multiselects)… as comma-delimited strings” (Coda’s public API spec, now branded Superhuman Docs).

So the honest summary is not “they destroy your relationships”. It is that the button gives you names where the database holds identities, and getting the identities means writing code against an API.

Files: recoverable, but rarely through the export button

Airtable is the sharpest case, and it documents it prominently. In a CSV export an attachment becomes a filename and a link, and the link is on a timer:

“Attachment fields will be included in the CSV file as a filename and URL. As of November 8th, 2022, attachment URLs obtained via the CSV export functionality will expire after a few hours.” Airtable, exporting views

Its attachment-URL page commits to a floor — “we will ensure that download URLs stay active for at least 2 hours after receiving them” — and advises “downloading any attachments from the links in the exported CSV file before those links expire” (attachment URL behavior). Export a base on a Friday afternoon, open it on Monday, and you have a spreadsheet of dead links.

Two more things worth knowing before planning an Airtable exit: “exporting a full base as a single file is not supported. Each table in a base will need to be downloaded as its own CSV”, and the export is of a view — so a filtered view exports fewer records than the table holds.

Quickbase says it in one line: “Note: File attachments are not exported. Learn how to export file attachments using pipelines.” (Export data from tables) The pipelines route is real — it is also an automation you have to build.

Smartsheet lists what an export leaves behind and points you at a different feature: “The following items are excluded from exports: Groupings, Summary rows, Attachments (alternatively, create a backup of the sheet instead)” (Exporting sheets & reports). Formulas are not preserved either; the documented workaround is to strip the equals sign so they survive as text.

Credit where it is due

Several of these vendors document a route that really does hand you your files, and leaving that out would make this page dishonest:

None of that is nothing. The point of this page is narrower and, we think, more useful: in none of these products is the faithful path the one labelled Export.

What to do about it

  1. Get the files first, before anything expires. On Airtable that is a matter of hours, and it is the only step here with a deadline.
  2. Export each table separately and keep the key columns. Whatever the linked column flattens to — a name, a title, a comma-separated list — keep it. It is what a destination has to match on.
  3. Expect to rebuild the links, and expect matching to be exact. Airtable documents that pasting text to create links matches on the other table’s primary field, and that “linking by primary field value requires an exact match”. Near-misses do not link, and a name containing a comma has to be quoted or it is read as two records.
  4. Check what your destination does with an unmatched value. This is the step people skip, and it is where records quietly go missing.

Why we wrote this

We build Bionic Forms, so we are not neutral. What we can offer instead of neutrality is that our own import was built around exactly this problem. Bring in several CSVs and the relationships between them are recovered rather than flattened; the order you load the files in does not matter; and anything ambiguous — a date that could be March or April, a column that maps onto two fields, a value outside a dropdown’s options — stops the import and asks, instead of guessing and leaving you to find out later. If any row fails, nothing is written at all.

Being straight about where we are: Bionic Forms is pre-launch. There is no Windows desktop app yet and no iOS or Android app; the macOS and Linux desktop builds and the web app are what exist today, and we have no external customers to point at. The import behaviour described above is covered by our test suite, not by a case study.

Try it against your own data: open the live demo database in one click — no account, no email.

Or if you are staring at an export you would rather not reassemble by hand: tell us what your current system does and we will build a working version and show you. No fee and no card — what we build fits the free plan, and we ask you to pay only once it is genuinely running your business.