The DataStore module is the workflow’s main structured data storage system. It supports multiple actions: add records (add), bulk add (bulk), filter (filter), get a specific field (getField), check existence (exists), delete (delete), modify tags (modifyTags), replace tags (replaceTags), batch tag operations (batchTags) and map keys to values (map). Records are organized in groups, each with a unique key and optional tags. Tags allow categorizing and filtering records with OR, AND or exclusion modes. Supports dynamic variables {{variable}} in fields like key, row and tags.
Filter mode: any (OR), all (AND), exclude. Default: any.
limit
number
No
Maximum records returned, newest first. Default 50; raise it (up to 5000) if you need the full history of a group.
The filter output is the list of records (each with its row_data already parsed into an object). The node needs action: filter; if you write it by hand in a template, do not forget it.
So you don’t have to remember or type names by hand, the key and field fields include an assistant: a magnifier button next to the {} variables button. Clicking it opens a list of what already exists in the selected group.
Field
Nodes
What it lists
key
Add, Filter, Get Field, Exists, Delete
The group’s keys (up to 50), with a preview of the record. With more records, type in the search box to filter.
field
Get Field, Map
The fields found in the group’s latest records, with their type and an example.
How to use it:
Choose the group first. Without a group, the assistant reminds you.
Click the magnifier on the key or field field.
Search if needed and click a value: it is written into the field.
Good to know:
It is a help, not a requirement. You can still type the value by hand or use a variable such as {{data.order}}.
If the group is a variable (for example {{data.group}}), the assistant cannot know what is inside: type the value by hand.
Fields are inferred from real records. Only top-level fields are offered, which is what these nodes read. If the group has no records yet, there are no fields to show.
Permissions. You need permission to view the DataStore; otherwise the assistant shows a notice instead of the list.
Loaded on demand. Data is requested when you open the assistant, not when you open the node.
Supports dynamic variables {{variable}} in key, row, dataKey and tags fields.
The key and field fields have an assistant to pick existing values: see Assignment assistant.
If the action is add and a record with the same key already exists in the group, it is updated.
For bulk, the input can be an array or an object that is converted to an array.
The exists action returns isFound: true/false with the record data if it exists.
The delete action can delete by direct ID or by group + key combination.
The modifyTags action allows adding and removing tags simultaneously on multiple records.
The map action allows getting a specific field from multiple records at once, with optional transformations.
The replaceTags action searches for a specific tag on each record and replaces it with another. If the record doesn’t have the tag, you can configure it to assign the new tag anyway (ifNotFound: assign) or do nothing (ifNotFound: skip).
The batchTags action first filters records by tag match and then applies a bulk operation: add tags, remove tags, or replace one tag with another.
Each variant has its own parentNode dataStore and its own icon/color for easy visual identification.