It's Shannon. Let's move a base over. If you're here, you've already looked at the software. The part you can't judge from outside is the move. So spend a Tuesday afternoon finding out, rather than scheduling a project. Connect your Airtable account. RowFold asks for two permissions, and both of them only look. Nothing it does can change your base.
The detail behind “why RowFold.”
Two questions get asked here, by two different people. Someone picking a no-code database wants to know how RowFold differs from the workspace tools. Someone staring at a CRM or ERP quote wants to know whether they need one at all. Both tables are below, compared on how the products are built rather than on prices that move every quarter.
Where the model stops being a table and starts being a graph.
Airtable, Smartsheet, Notion and monday.com are all strong at the job they were designed for, and every one of them links two tables. The differences show up on the second and third hop — and in what happens to a hidden field once a report, a search, or an AI answer touches it.
| Capability | RowFoldRELATIONAL GRAPH | AirtableFLEXIBLE BASES | SmartsheetPROJECT SHEETS | NotionDOCS + DATABASES | monday.comBOARD-LED WORK |
|---|---|---|---|---|---|
| Relations & modelling | |||||
| Lookups and rollups that cross more than one relation | ✓ up to 5 hops | one hop | cross-sheet formulas | one hop | one hop, via mirror |
| Rollups and lookups that filter which records they include | conditions work on multi-hop routes too | single hop only | SUMIF-style formulas | filtered rollups | mirror + filter |
| A formula that reads a linked record's field directly | ✓ no Lookup field needed, even several hops | needs a Lookup field first | needs a cross-sheet reference first | needs a Rollup property first | needs a mirror column first |
| Travel a relation backwards in a derived field | ✓ forward + reverse | ✗ | ✗ | ✗ | ✗ |
| Ownership links distinct from references | ✓ per-side cardinality | field-level only | ✗ | all many-to-many | all many-to-many |
| Schema map you can drag and zoom | ✓ built in | via extension | ✗ | ✗ | ✗ |
| Reporting | |||||
| Report columns that follow a relation path | ✓ forward + reverse | ✗ | ✗ | ✗ | ✗ |
| One table, many view shapes without copying data | ✓ grid, board, gallery, calendar, tree, gantt, map, form | most shapes | most shapes | most shapes | most shapes |
| Permissions & safety | |||||
| Field-level permissions | read-only or fully hidden | higher tiers | column locking | ✗ | higher tiers |
| A hidden field stays hidden through lookups, reports, search and AI | ✓ | Varies by product and tier — verify against current vendor documentation | |||
| Isolate access without splitting the data | folders keep relations intact | separate bases | separate sheets | separate pages | separate boards |
| Soft delete with a per-workspace trash | ✓ | ✓ | recycle bin | ✓ | recycle bin |
| Approvals & posting what these actually mean | |||||
| Native multi-stage approvals with quorums (everyone, any one, N of M) | stages, quorums, conditional routing | hand-built with fields + automations | single-approver automation | ✗ | hand-built with status + automations |
| An approval status only the flow can write — hand edits, imports and API refused | ✓ "Approved" always means a real decision | ✗ | lock the column by hand | ✗ | ✗ |
| Relationship gates: can't be posted until every linked record qualifies | gates follow relation routes | ✗ | ✗ | ✗ | ✗ |
| Posting seals the record — read-only in the app, imports, automations and the API until unposted with a reason | ✓ audited unpost, delete refused while sealed | ✗ | row locking, separate from approval | page lock | column restrictions, higher tiers |
| Decide from the email itself — signed confirmation page a link scanner can't trigger | no login needed; links expire in 14 days | Varies by product and tier — verify against current vendor documentation | |||
| Period lock: post everything dated on or before a chosen day, in one action | ✓ Xero-style lock date | ✗ | ✗ | ✗ | ✗ |
| Operational depth | |||||
| A governed state machine — legal transitions, per-state required and locked fields | any table, and the state is an ordinary field value | status field + automations | status column + rules | status property | status column + automations |
| Formatted identifiers — SO-2026-0042 — with per-category sequences | ✓ several sequences per field, resets, allocate on a state change | autonumber, or a formula you assemble | prefix + date tokens, one column per sheet | prefix only, no date or padding | prefix, but renumbers when a row moves |
| Units of measure — values that convert, and refuse to convert across kinds | ✓ workspace unit library, stored canonically | ✗ | ✗ | ✗ | ✗ |
| Relationships that carry a validity period, so an ended link stops counting | ✓ dated links, overlaps refused by default | ✗ | ✗ | ✗ | ✗ |
| Automation | |||||
| Automations triggered by an inbound webhook | payload flows into steps & conditions | ✓ | ✗ | ✗ | via integration recipes |
| A cap on how many automations one table may have | none | 50 per base | varies by plan | varies by plan | action quotas |
| AI | |||||
| Builds a working schema from a description | tables, relations, views, automations | assisted | ✗ | assisted | assisted |
| Answers cite the records they came from | ✓ every answer | Varies by product and tier — verify against current vendor documentation | |||
| Numeric AI answers re-checked against live data, with an inspectable receipt | verified badge opens the replayed query | Not a documented capability of any of these products as of July 2026 — how ours works | |||
| AI changes appear in the audit log as the AI's own actor, with one-click undo | ✓ "AI · Ask", undo to Trash | Varies by product and tier — verify against current vendor documentation | |||
| AI included rather than sold as a separate tier | ✓ fair-use allowance, all plans | add-on | add-on | add-on | add-on |
And against the big systems?
Salesforce, NetSuite and HubSpot are built for companies with an implementation budget and a partner on retainer. The question worth answering is not “which is more powerful” — it is whether the operation in front of you needs that machinery, or needs a model it can change on a Tuesday afternoon.
| Capability | RowFoldRELATIONAL GRAPH | SalesforceSALES CLOUD | NetSuiteCLOUD ERP | HubSpotCRM SUITE |
|---|---|---|---|---|
| Getting to something that works | ||||
| Time to a working CRM or operations model | an afternoon | months, scoped | months, scoped | weeks |
| Implementation partner normally required | ✓ never | usually | yes | ✓ usually not |
| Trial without talking to sales | ✓ 30 days, no card | time-limited | sales call | ✓ free tier |
| Changing the model later | ||||
| Reshape the schema without a developer | ✓ | admin + code for the rest | scripting for the rest | limited objects |
| Schema map you can drag and zoom | built in | schema builder | ✗ | ✗ |
| Generate a working workspace from a description | AI builds the schema | ✗ | ✗ | ✗ |
| AI that reasons across the whole model, included | ✓ no extra cost | add-on | add-on | add-on |
| Approvals & posting | ||||
| Multi-stage record approvals with quorums and escalation | ✓ on any table, no code | approval processes | ✓ approval routing | limited surfaces |
| Posting and period locks — records sealed after approval | any table, not only ledgers | records lock during approval | ledger-grade period close | ✗ |
| Units of measure that convert, and refuse to convert across kinds | ✓ any Number field, on any table | UnitOfMeasure object, CPQ conversion rates | unit types with base conversion | ✗ |
| Record lifecycle as a governed state machine on any object | ✓ configured, not implemented — and the state is an ordinary field value | validation rules and flows | SuiteFlow states, transitions and field locks | deal and lifecycle stages |
| Where they win — honestly | ||||
| Industry clouds (financial services, health, manufacturing) | build it yourself | deep | deep | some verticals |
| Pre-built quote-to-cash and CPQ | build it yourself | native | native | quotes |
| Multi-entity statutory close | no | no | OneWorld | no |
| Regulated-sector certifications and government cloud | not yet | yes | ✓ | limited |
| Partner and consultant ecosystem | small and new | vast | large | mid-size |
| Enterprise reference customers at Fortune 500 scale | small and mid-market | most of them | deep | some |
| Getting your data back out | ||||
| CSV import and export on every plan | ✓ | via data loader | via analytics module | ✓ |
| REST API and webhooks on every plan | ✓ | tier-dependent | tier-dependent | tier-dependent |
What actually happens to your data.
Two minutes each, including the chapters on what doesn't come across — or read the steps.
- Leave Airtable without leaving your data Teams running their operations on Airtable — orders, projects, clients, inventory — who want the relational model they already like, without the seat math, the add-on line items, or a migration weekend. Read the steps
- Three sheets about one customer become one customer Teams whose operations have outgrown a sheet — jobs against sites, orders against customers, invoices against both — and who currently hold those connections together with cell links, cross-sheet references and somebody's monthly export. Read the steps
A table tells you what differs. These tell you whether it matters.
Written for the person actually doing the evaluation, including the cases where switching is the wrong move.
Looking for an Airtable alternative? Read this first
Most people searching for an Airtable alternative are hitting one of four specific walls. Identify which one, because it determines whether switching helps at all.
Read itmonday.com alternatives for relational work
monday.com is built around boards of work items. If your problem is entities that relate to each other rather than tasks moving through stages, that is the mismatch.
Read itNotion databases vs a real relational database
Notion databases are excellent at what they are for. Here is the specific line where they stop being the right tool, and how to tell if you have crossed it.
Read itSmartsheet alternatives: what to actually look for
Smartsheet is a project tool with a spreadsheet interface, not a relational database. If that mismatch is your problem, here is what to evaluate instead.
Read itThe Excel alternative for teams who outgrew tabs
You are not looking to replace Excel. You are looking to stop asking it to be a shared database. Here is where the line sits and what to move.
Read itWhen Google Sheets stops being enough
Sheets solved collaboration, which is exactly why teams push it further than they should. Here are the four ceilings, and what to do at each.
Read itYour base, moved — without a cutover weekend.
Pick a base. Every table in it arrives as a real table. Not one flat export. A linked record becomes a relation, rebuilt from both ends. Attachments are copied into RowFold's own storage. Airtable's file links stop answering after about two hours, so they're fetched while they still do. A date that carried a time still carries it.
There's one thing it can't bring. A formula, a rollup or a lookup arrives as text. The value it had worked out, kept. The formula behind it, not rebuilt. Nobody can reconstruct another product's formula language, and saying so beats you finding out. Everything else is real from the moment it lands.
You don't have to get it right first time. Run the import again and it updates what's already here. It doesn't make a second copy of everything. Airtable wins on the columns it brought, down to a cell somebody emptied. Columns you've added here, it never touches. A record you've posted and sealed is left alone, and counted. And nothing is ever deleted on a machine's say-so.
Which is what makes this a move, rather than a weekend. Turn the mirror on, hourly or daily. Keep taking orders in Airtable while your team learns this. Build the views, the reports and the automations here. Switch over on a day that suits you, and stop the mirror. If a base is too big to finish, it tells you where it stopped. An import that can't say what it missed isn't one.
Your sheets, with the links they never had.
It's Shannon. Let's bring some sheets across. Connect your Smartsheet account. RowFold asks to see your sheets, and to see who you are. There's no write permission on that list. Nothing here writes back to Smartsheet, so there's nothing to ask for. A permission you can't spend shouldn't be on the screen.
Pick a sheet. A sheet already has typed columns, and they come across typed. A checkbox becomes a real yes or no. A dropdown becomes a select, carrying its options. A date that carried a time keeps it. And the primary column becomes the first field, and the record's name. The same job it was already doing.
Some of it has no equivalent here. An auto-number comes in as text. The numbers you have are kept. The sequence doesn't carry on. Durations, predecessors and symbols land as the value underneath them. Indented rows come in flat. Every one of those is written on the import, in words, before you go looking. The ones that go wrong quietly are the ones that cost you.
So what have you actually gained? In Smartsheet, three sheets about one customer are three sheets. Here, you link them once. That customer's orders sit on the customer. Total them without pasting a formula down every row. And the cell links you kept repairing by hand are just the relation, doing its job. That's the part a sheet can't be talked into.
One honest difference from the Airtable route. That one can mirror. This one imports. There's no schedule keeping the two of them in step. So bring a sheet over when you're ready for this to be the copy that counts. And only the grid comes. Attachments, comments and cell history stay where they are. Which you'll know before you start, not after.