Database
Every environment includes a managed database. Store data in named collections, query with expressive filters, and browse your data in the dashboard. No migrations, no schema setup, no external hosting required.
Group documents into named collections. Names must start with a letter and use only lowercase letters, digits, and underscores (max 50 chars).
Collections are created on-demand the first time you insert a document. No setup or configuration required before your agents start writing data.
Filter with $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $and, $or, $not, $exists, $contains, $regex. Sort, paginate, project fields, or enumerate distinct values.
Queries are indexed and optimized for fast lookups across large collections. All filter values are parameterized - never string-interpolated.
Data model
Each document is free-form. You define the fields - there is no fixed schema. Every document automatically gets three system-managed fields:
_id- auto-generated UUID, unique within the collection_created_at- ISO 8601 timestamp set on insert_updated_at- ISO 8601 timestamp updated on every write
# Every document has these system fields alongside your own data:
{
"order_id": "ORD-001",
"status": "pending",
"amount": 99.50,
"_id": "550e8400-e29b-41d4-a716-446655440000", # auto-generated UUID
"_created_at": "2026-01-15T10:30:00Z",
"_updated_at": "2026-01-15T10:30:00Z",
}Auto-creation
You never need to create a collection explicitly. The first call to db_insert creates the collection automatically.
# No setup needed - the collection "orders" is created automatically
# the first time db_insert runs
result = await db_insert("orders", {
"order_id": "ORD-001",
"customer": "alice@example.com",
"amount": 99.50,
"status": "pending",
})You can also create collections manually from the Storage → Database tab in the dashboard.
Dashboard
The Storage → Database tab in the project dashboard lets you:
- View all collections with document counts and storage sizes
- Browse documents with filter and sort controls
- Insert documents manually
- View the inferred schema: field names, types, and fill rates
- Create and delete collections
Database tools reference
Full reference for db_find, db_insert, db_update, db_delete, db_count, and db_list_collections.
Knowledge base
Semantic search and long-term memory backed by vector embeddings.
Environments
How environments are isolated and how the database is scoped per environment.
Observability
See database tool calls in run traces and monitor usage.