Persistent Data (Data Store)
Introduction
Section titled “Introduction”Persistent Data (formerly called Data Store) is IONFLOW’s built-in mini-database. It allows you to store, query, update, and delete data that persists between board executions. Unlike data flowing within a flow (which exists only during that execution), persistent data remains available indefinitely.
It’s ideal for saving states, counters, configurations, contact records, or any data you need to survive beyond the current execution.
Who This Section Is For
Section titled “Who This Section Is For”- Operators: Who need to save data between executions (e.g., last processed date, counters)
- Process specialists: Who design flows that query or accumulate historical data
- Administrators: Who manage their organization’s shared data
What is Persistent Data?
Section titled “What is Persistent Data?”Persistent Data is a simple database integrated into IONFLOW with these characteristics:
- Persistence: Data is maintained between executions — it’s not deleted when a flow finishes
- Shared: At the tenant (company) level, all boards in the same tenant can read and write to the same Data Store
- CRUD operations: Create, read, update, and delete records
- Filtered queries: Search for records meeting specific criteria
- Accessible from boards: Through dedicated Storage nodes
Accessing Persistent Data
Section titled “Accessing Persistent Data”- In the left sidebar, click Data Store (or Persistent Data)
- You’ll see the list of existing tables
- Click a table to view, add, or edit its records
- Use + New Table to create a new table
Creating a Table
Section titled “Creating a Table”- Click + New Table
- Define the table name (e.g.,
contacts,inventory,configuration) - Define the columns with their name and data type
- Click Create
Column Types
Section titled “Column Types”| Type | Description |
|---|---|
| Text | Alphanumeric text string |
| Number | Integer or decimal numbers |
| Boolean | True or false |
| Date | Date and time |
Data Operations
Section titled “Data Operations”From the Interface (Manual)
Section titled “From the Interface (Manual)”You can add, edit, and delete records directly from the Data Store web interface:
- Add record: Click + Add Record and fill in the fields
- Edit record: Click the edit icon next to the record
- Delete record: Click the delete icon and confirm
From Boards (Automated)
Section titled “From Boards (Automated)”Storage nodes allow you to operate with persistent data within your flows:
| Node (UI Label) | Operation | Description |
|---|---|---|
| Persistent Data Save | Create | Adds a new record to the table |
| Persistent Data Get | Read | Gets a record by its key |
| Persistent Data Update | Update | Modifies an existing record |
| Persistent Data Delete | Delete | Removes a record from the table |
| Persistent Data Check | Verify | Checks if a record exists |
| Persistent Data Search | Query | Searches for records matching filters |
| Persistent Data Count | Count | Counts records matching criteria |
| Persistent Data Delete All | Delete all | Removes all records from a table |
Example: Saving a Contact from a Board
Section titled “Example: Saving a Contact from a Board”[Webhook receives data] → [Mapper transforms data] → [Store Add saves to "contacts" table]Example: Querying and Filtering Data
Section titled “Example: Querying and Filtering Data”[Scheduled trigger] → [Store Search finds contacts without email] → [Iterator loops results] → [Send notification]Data Shared Across Boards
Section titled “Data Shared Across Boards”Data Stores exist at the tenant (company) level and are visible to all boards in the same tenant. This means:
- One board can write data that another board reads
- Persistent data serves as a central communication point between different automations
- No need to duplicate data — all automations query the same source
Example: A “Lead Capture” board saves contacts to the Data Store. An independent “Email Marketing” board queries those same contacts to send campaigns.
Common Errors
Section titled “Common Errors”| Error | Cause | Solution |
|---|---|---|
| ”Table full” | Record limit reached | Delete old records or archive data you no longer need |
| ”Record not found” | Search key doesn’t match | Verify the ID or search key is correct (case-sensitive) |
| “Incorrect data type” | Tried to save text in a numeric field | Check column types and use Mapper to convert types if necessary |
| ”Slow query” | Table with many records without filters | Add specific filters to reduce results. Use Store Count before Store Search to evaluate volumes |
Key Terms
Section titled “Key Terms”- Data Store (Persistent Data): Built-in database that maintains data between executions
- Table: Structure that organizes data in rows and columns (similar to a spreadsheet)
- Record: An individual row within a table
- Column: Field with name and data type defining the record structure
- Query: Search for records meeting specific criteria
- CRUD: Create, Read, Update, Delete — the four basic data operations
Mini FAQ
Section titled “Mini FAQ”Q: Is Data Store data shared between boards? A: Yes. Data Stores are at the tenant level — all boards in the same company can read and write to the same Data Store.
Q: Is there a record limit? A: Yes, it depends on your subscription plan. You can see your current usage in the Dashboard.
Q: Can I back up my data? A: Currently you can manually export data from the interface. An automatic backup system is planned for future versions.
Next Steps
Section titled “Next Steps”- Boards - Use Storage nodes in your automations
- Connections - Connect external data sources
- Commands - Transform data with expressions