As Tables permitem criar e gerenciar tabelas de dados personalizadas diretamente no Zoen. Armazene, consulte e manipule dados estruturados nos seus fluxos de trabalho sem precisar de integrações externas de banco de dados.
Por que usar Tables?
Sem configuração externa : Crie tabelas na hora, sem configurar bancos externos
Nativas ao fluxo de trabalho : Os dados persistem entre execuções e ficam acessíveis de qualquer fluxo de trabalho no workspace
Schema flexível : Defina colunas com tipos (string, number, boolean, date, json) e restrições (required, unique)
Consultas poderosas : Filtre, ordene e pagine dados com operadores no estilo MongoDB
Amigáveis a agentes : As Tables podem ser usadas como ferramentas por agentes de IA para armazenamento e recuperação dinâmica de dados
Principais recursos:
Criar tabelas com schemas personalizados
Inserir, atualizar, fazer upsert e excluir linhas
Consultar com filtros e ordenação
Operações em lote para inserts em massa
Updates e deletes em massa por filtro
Até 10.000 linhas por tabela, 100 tabelas por workspace
As Tables são criadas na seção Tables da barra lateral. Cada tabela exige:
Name : Alfanumérico com underscores (ex.: customer_leads)
Description : Descrição opcional do propósito da tabela
Schema : Defina colunas com nome, tipo e restrições opcionais
Type Description Example Values stringDados de texto "John Doe", "active"numberDados numéricos 42, 99.99booleanValores verdadeiro/falso true, falsedateValores de data/hora "2024-01-15T10:30:00Z"jsonDados aninhados complexos {"address": {"city": "NYC"}}
Required : A coluna deve ter um valor (não pode ser null)
Unique : Os valores devem ser únicos em todas as linhas (habilita o matching no upsert)
Create and manage custom data tables. Store, query, and manipulate structured data within workflows.
Insert a new row into a table. IMPORTANT: You must use the "data" parameter (not "values", "row", "fields", or other variations) to specify the row contents.
Parameter Type Required Description tableIdstring Yes Table ID dataobject Yes Row data as JSON object
Parameter Type Description successboolean Whether row was inserted rowjson Inserted row data messagestring Status message
Insert multiple rows into a table at once (up to ${TABLE_LIMITS.MAX_BATCH_INSERT_SIZE} rows)
Parameter Type Required Description tableIdstring Yes Table ID rowsarray Yes Array of row data objects (max ${TABLE_LIMITS.MAX_BATCH_INSERT_SIZE} rows)
Parameter Type Description successboolean Whether rows were inserted rowsarray Inserted rows data insertedCountnumber Number of rows inserted messagestring Status message
Insert or update a row based on unique column constraints. If a row with matching unique field exists, update it; otherwise insert a new row. IMPORTANT: You must use the "data" parameter (not "values", "row", "fields", or other variations) to specify the row contents.
Parameter Type Required Description tableIdstring Yes Table ID dataobject Yes Row data to insert or update conflictTargetstring No Unique column to match on. Required only when the table has more than one unique column.
Parameter Type Description successboolean Whether row was upserted rowjson Upserted row data operationstring Operation performed: insert or update messagestring Status message
Update an existing row in a table. Supports partial updates - only include the fields you want to change. IMPORTANT: You must use the "data" parameter (not "values", "row", "fields", or other variations) to specify the fields to update.
Parameter Type Required Description tableIdstring Yes Table ID rowIdstring Yes Row ID to update dataobject Yes Updated row data
Parameter Type Description successboolean Whether row was updated rowjson Updated row data messagestring Status message
Update multiple rows that match filter criteria. Data is merged with existing row data.
Parameter Type Required Description tableIdstring Yes Table ID filterobject Yes Filter criteria using operators like $eq, $ne, $gt, $lt, $contains, $ncontains, $startsWith, $endsWith, $in, $nin, $empty, etc. dataobject Yes Fields to update (merged with existing data) limitnumber No Maximum number of rows to update (default: no limit, max: ${TABLE_LIMITS.MAX_BULK_OPERATION_SIZE})
Parameter Type Description successboolean Whether rows were updated updatedCountnumber Number of rows updated updatedRowIdsarray IDs of updated rows messagestring Status message
Delete a row from a table
Parameter Type Required Description tableIdstring Yes Table ID rowIdstring Yes Row ID to delete
Parameter Type Description successboolean Whether row was deleted deletedCountnumber Number of rows deleted messagestring Status message
Delete multiple rows that match filter criteria. Use with caution - supports optional limit for safety.
Parameter Type Required Description tableIdstring Yes Table ID filterobject Yes Filter criteria using operators like $eq, $ne, $gt, $lt, $contains, $ncontains, $startsWith, $endsWith, $in, $nin, $empty, etc. limitnumber No Maximum number of rows to delete (default: no limit, max: ${TABLE_LIMITS.MAX_BULK_OPERATION_SIZE})
Parameter Type Description successboolean Whether rows were deleted deletedCountnumber Number of rows deleted deletedRowIdsarray IDs of deleted rows messagestring Status message
Query rows from a table with filtering, sorting, and pagination
Parameter Type Required Description tableIdstring Yes Table ID filterobject No Filter conditions (MongoDB-style operators: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $contains, $ncontains, $startsWith, $endsWith, $empty) sortobject No Sort order as {field: "asc"|"desc"} limitnumber No Maximum rows to return (default: ${TABLE_LIMITS.DEFAULT_QUERY_LIMIT}, max: ${TABLE_LIMITS.MAX_QUERY_LIMIT}) offsetnumber No Number of rows to skip (default: 0)
Parameter Type Description successboolean Whether query succeeded rowsarray Query result rows rowCountnumber Number of rows returned totalCountnumber Total rows matching filter limitnumber Limit used in query offsetnumber Offset used in query
Get a single row by ID
Parameter Type Required Description tableIdstring Yes Table ID rowIdstring Yes Row ID to retrieve
Parameter Type Description successboolean Whether row was retrieved rowjson Row data messagestring Status message
Get the schema configuration of a table
Parameter Type Required Description tableIdstring Yes Table ID
Parameter Type Description successboolean Whether schema was retrieved namestring Table name columnsarray Column definitions (each includes its stable id) columnCountnumber Number of columns rowCountnumber Number of rows in the table maxRowsnumber Max rows per table for the workspace's plan messagestring Status message
Filters use MongoDB-style operators for flexible querying:
Operator Description Example $eqEquals {"status": {"$eq": "active"}} or {"status": "active"}$neNot equals {"status": {"$ne": "deleted"}}$gtGreater than {"age": {"$gt": 18}}$gteGreater than or equal {"score": {"$gte": 80}}$ltLess than {"price": {"$lt": 100}}$lteLess than or equal {"quantity": {"$lte": 10}}$inIn array {"status": {"$in": ["active", "pending"]}}$ninNot in array {"type": {"$nin": ["spam", "blocked"]}}$containsString contains (case-insensitive) {"email": {"$contains": "@gmail.com"}}$ncontainsDoes not contain (case-insensitive; matches empty cells) {"email": {"$ncontains": "@spam.com"}}$startsWithStarts with (case-insensitive) {"name": {"$startsWith": "Dr."}}$endsWithEnds with (case-insensitive) {"file": {"$endsWith": ".pdf"}}$emptyCell is empty (true) or non-empty (false) {"phone": {"$empty": true}}
Multiple field conditions are combined with AND logic:
{
"status" : "active" ,
"age" : { "$gte" : 18 }
}
Use $or for OR logic:
{
"$or" : [
{ "status" : "active" },
{ "status" : "pending" }
]
}
Specify sort order with column names and direction:
Multi-column sorting:
{
"priority" : "desc" ,
"name" : "asc"
}
Every row automatically includes:
Column Type Description idstring Unique row identifier createdAtdate When the row was created updatedAtdate When the row was last modified
These can be used in filters and sorting.
Resource Limit Tables per workspace 100 Rows per table 10,000 Columns per table 50 Max row size 100KB String value length 10,000 characters Query limit 1,000 rows Batch insert size 1,000 rows Bulk update/delete 1,000 rows
Category: blocks
Type: table
Tables are scoped to workspaces and accessible from any workflow within that workspace
Data persists across workflow executions
Use unique constraints to enable upsert functionality
The visual filter/sort builder provides an easy way to construct queries without writing JSON