Concepts
Tables
A table is a project-scoped collection of JSON rows with an optional schema. Tables give automations, agents, and humans a shared structured data surface without standing up a separate database.
Use tables for:
- Durable agent memory.
- Work queues and triage state.
- Small operational datasets.
- Lookup data used by actions or prompts.
- State that should emit row-change source events.
Shape
Each table has:
- A stable name.
- Optional description.
- Optional JSON Schema for row validation.
- Optional declared indexes.
- Access mode and owner scope.
Rows store JSON data keyed by column name. Each row has a version for
optimistic concurrency. Pass the current version on updates; a mismatch
returns 409 Conflict.
Access modes
Tables can be project-visible or private to an owner principal. Agents use private or granted tables as long-term memory. Project tables are better for shared operational data that humans and multiple automations need to inspect.
Agent table grants decide whether an agent can read, append, or write a table:
PUT /v1/projects/{project}/agents/{id}/table-grantsReading and writing rows
The API supports CRUD, query, and search:
POST /v1/projects/{project}/tables
POST /v1/projects/{project}/tables/{table_name}/rows
POST /v1/projects/{project}/tables/{table_name}/rows/query
POST /v1/projects/{project}/tables/{table_name}/rows/searchFilters can use direct equality or operators such as $eq, $ne,
$gt, $gte, $lt, $lte, $in, and $exists.
Agent memory
When an agent step or session has table grants, Mobius can surface those tables to the agent as memory. The agent sees the table names and access mode; tools enforce the actual read/write behavior.
Keep memory tables narrow:
- One table per durable concept.
- JSON Schema for important fields.
- Private owner scope when the memory belongs to one agent.
- Project scope when the data is intentionally shared.
Source events
Table row changes emit public events:
table.row.inserted
table.row.updated
table.row.deletedThese events can start automations or resume wait_for_event steps.
They include table and row metadata in the source-event envelope.
Related
- Agents can receive table grants.
- Toolkits and skills decide which table actions are visible as tools.
- Source events documents row-change events.
- Interactive reference has the row schemas and query contract.