When to Use It
- Saving form submissions or API responses for later reference
- Looking up records to enrich data in your flow
- Maintaining a running log of events or transactions
- Building a simple database for your workflows without an external service
- Tracking state across multiple flow executions (e.g., “last synced at”)
Operations
The Table node supports several operations depending on what you need:- Insert
- Update
- Query
- Delete
Add a new record to a table.Configuration:
Example data:
Table Schemas
Tables in Zygo are schema-optional. You can insert any JSON object without defining columns first. However, defining a schema gives you:- A structured view in the data tables UI
- Column names and types visible when browsing records
- Validation when editing records manually
Output
The Table node’s output varies by operation:
Reference these in downstream nodes:
Common Patterns
Log every form submission
Log every form submission
Connect a Table node after a Web Form to persist every submission:
- Operation: Insert
- Table Name:
form_submissions - Record Key:
{{1_Form.form_data.email}} - Data:
{{1_Form.form_data}}
Deduplication check
Deduplication check
Before processing a webhook payload, check if you’ve already seen this event:
- Table node (Query) — Look up by record key (e.g., the event’s unique ID)
- Condition node — Check if
recordsis empty - True (new) → Process the event, then insert a record
- False (duplicate) → Skip
Store and retrieve configuration
Store and retrieve configuration
Use a table as a simple config store:
- Table:
config - Key:
email_settings - Data:
{ "from": "noreply@acme.com", "footer": "..." }
Running counter or state
Running counter or state
Track cumulative state across flow runs:
- Query the current counter record by key
- Python node — Increment the value
- Update the record with the new value
Data tables are scoped to your tenant. Different tenants have completely separate tables, even if the table names are the same.