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, in either direction | 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 |
| 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, scheduler, timeline, 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 | ✗ | ✗ | ✗ | ✗ |
| Documents | |||||
| A document on the record itself — headings, tables, checklists, images | a field type, so a table can carry several | rich text in a long text field, no tables or images | attachments and comments | ✓ the item's own page | ✓ a doc column |
| The document draws the record's own field values, and keeps up with them | ✓ live tokens anywhere in the text | ✗ | row data merged into a fillable PDF | properties sit above the page, not in its text | ✓ dynamic column values |
| 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 | capped per base, by plan | 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 | |||
And against the big systems?
Salesforce, NetSuite and HubSpot are much larger products than RowFold. 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 | ||||
| Set up without paid implementation or onboarding | ✓ self-serve | its own services team and partners: “most customers use both” | implementation is bought separately, and over 60% are done by partners | paid onboarding is required on some editions |
| Try it without talking to sales | ✓ 30 days, no card | ✓ 30 days, no card, and a free edition | a three-day trial, requested through a form | ✓ a free CRM, no card |
| Changing the model later | ||||
| Reshape the schema without a developer | ✓ | ✓ point-and-click, with Apex code for logic past it | ✓ point-and-click, with SuiteScript for logic past it | properties on every plan; custom objects depend on the plan |
| A visual map of the schema | drag, zoom, folders as regions | ✓ Schema Builder | a reference catalog; no diagram documented | ✓ a graph view of the data model |
| Build a working workspace from a description | tables, links, views, sample records, a report and a dashboard | objects, fields and flows by conversation, confirmed one at a time | none documented; a coding assistant for developers | a data model recommended from a prompt |
| Approvals & posting | ||||
| Multi-stage record approvals with quorums and escalation | ✓ any table: everyone, any one or N of M, with timed escalation | steps decided by everyone or by the first response; no N of M or escalation documented | approval routing, any or all of a group, delegation; no N of M documented | content, deals, quotes and exports, not any record |
| Posting and period locks — records sealed after approval | any table, not only ledgers | locked while awaiting approval; afterwards, a setting decides | period close and period locks on the ledger | edit restrictions by stage, which admins, workflows and the API bypass |
| Units of measure that convert, and refuse to convert across kinds | ✓ any Number field, on any table | a UnitOfMeasure object with a conversion factor | units types with a base unit and conversion rates | none documented |
| Record lifecycle as a governed state machine on any object | ✓ configured, not implemented — and the state is an ordinary field value | validation rules gate a stage change; Stage Management only in its industry products | SuiteFlow states, transitions, record locks and required fields | pipeline rules (no skipping, no moving back, required properties), depending on the plan |
| Where they win — honestly | ||||
| Industry-specific editions | build it yourself | 16+ industry solutions | SuiteSuccess industry editions | none in its product catalog |
| Pre-built quote-to-cash and CPQ | build it yourself | Revenue Cloud | order-to-cash in the platform; CPQ as an add-on module | ✓ HubSpot CPQ |
| Multi-entity statutory close | no | no: the ERP stays the system of record | OneWorld | none documented |
| Audited compliance programmes and a government cloud | none today | a government cloud with a FedRAMP High provisional authorization; HIPAA under a BAA | ✓ SOC 1 and 2, ISO 27001, PCI DSS | ✓ SOC 1, 2 and 3 reports, a HIPAA attestation |
| A network of implementation partners | none | thousands of consultants listed on AppExchange | solution providers and alliance partners, over 800 by its own count | ✓ a Solutions Partner Program |
| Reaching it from other systems | ||||
| REST API and outbound webhooks | ✓ every account | API access depends on the edition, as do outbound messages and platform events | REST web services once the feature is enabled; a webhook is something you script | API on every plan; sending a webhook from a workflow depends on the plan |
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.