Tables
A table is a set of records your workspace keeps for its AI clients: a lead list, a content calendar, a job log, a list of quotes waiting on an answer. Your AI creates it, writes to it and reads from it through the FloConnector connector. It stays put between chats, and you can see and edit every row in the dashboard under Tables.
Connectors let your AI act in your tools. Skills tell it how you want the job done. Tables give it somewhere to keep what it finds.
It works and is safe to use. It is an early release, so how tables are structured may still change as we learn from real workspaces.
Fields
Every table has a list of fields, and every field has a type:
| Type | Holds |
|---|---|
text | Up to 2,000 characters |
long_text | Up to 50,000 characters |
number | A number. 1,234.50 is fine; 1,5 is refused, use 1.5 |
checkbox | True or false |
date | A calendar day, 2026-10-23 |
datetime | A moment in time, with its timezone: 2026-10-23T09:30:00+10:00 |
single_select | One of a list of options |
multi_select | Any of a list of options |
email | An email address |
url | A web address with a domain, like acme.com |
phone | A phone number |
A value that does not fit its field is refused with the reason, never guessed at. A table holds up to 100 fields, and one record holds up to 64 KB.
Field names are lower case with underscores (company_name); the dashboard shows
them as "Company name".
Records are numbered
Records are numbered 1, 2, 3 in the order they were added, and a number is never reused. Delete record 12 and the next new record is still 13, not 12. A "row 12" written into a note or a chat keeps pointing at the same record, or at nothing, but never at a different one.
The key
You can name one field as the table's key: the thing that makes a record
unique, like an email address or an invoice number. Two records can never share
a key value, and matching ignores case, so Ann@Acme.io and ann@acme.io are
the same record.
The key is what lets your AI upsert: send a list of records, update the ones that already exist and add the rest. Ask it to "add these leads" twice and you still have one record per lead.
Set or change the key with Make unique key on a column's menu. It is refused if two records already share a value, and the message names them, so you can fix them first.
How writes work
Your AI writes in batches of up to 500 records, and every batch is all or nothing. Every record is checked first. If any one is wrong, nothing is saved and the error lists each bad record and why, so the AI can fix them and send the batch again without creating duplicates.
Every record also carries a version number that goes up each time it changes. Your AI can ask for a write to be refused if someone changed the record since it last read it, which stops two chats overwriting each other.
Changing a table's fields
You can rename fields, add them, remove them, reorder them and change their type, from the dashboard or by asking your AI.
Records are never rewritten to fit a change. If you turn a text field into a number, a record holding "12 units" keeps it, and the change reports how many records no longer fit. They stay as they are until someone edits them.
Two changes are worth knowing about before you make them:
- Removing a field deletes its values from every record, and that cannot be undone. Your AI has to ask you before it does it.
- Making a field required applies to every existing record. Any record without a value for it can only be edited if the edit fills it in. The change tells you how many records that is.
Archiving and deleting
Archive a table to stop it changing: its records stay, and you and your AI can still read them, but nothing can be added or changed until you restore it. Your AI can archive and restore tables.
Deleting a table removes it and every record in it, permanently. That only happens in the dashboard, behind a confirmation. Your AI cannot delete a table, though it can delete records you ask it to.
Totals and joins
For a quick answer your AI reads records directly: filter, sort, search and count. For anything bigger, like a total by month or a table joined against invoices from your accounting connector, it can load the whole table into a temporary, in-memory analytics workspace and query it with SQL. That workspace lives only in memory and is discarded about ten minutes after the chat stops using it.
Limits
Limits are per workspace, counted across all its tables. Archived tables count until they are deleted.
| Plan | Tables | Records |
|---|---|---|
| Solo | 1 | 1,000 |
| Pro | 25 | 50,000 |
| Scale | 100 | 250,000 |
A write that would go over a limit is refused, and the message says how many records would still fit.
If a workspace ends up over a limit, for example after moving to a smaller plan, nothing is deleted. Its tables become read-only until it is back under: you can still view, export and delete records, and delete tables in the dashboard, but nothing can be added or changed. Archiving does not help, because archived tables still count.
Who can use tables
By default only owners and admins can see or change tables. Members get no access, not even to read, because a table can hold sensitive data and a new teammate joins as a member. To give members access, use a custom role or adjust their permissions; see Permissions.
When your AI uses a table it acts as you, with your permissions. Someone who can read tables but not write to them gets the same through their AI.
What it costs
Nothing per call. Table tools work on FloConnector's own data rather than a vendor's API, so they are included, like the rest of FloConnector's own tools.
Next
- Create a table, from the dashboard or by asking your AI.
- Every table exports to CSV from the dashboard with Export CSV.
