Skip to content

DataStore

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) 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.

Parameters vary depending on the selected action. Available variants are:

ParameterTypeRequiredDescription
groupdataStoreGroupYesGroup where to store the record.
keytextYesField to use as unique identifier. Supports {{variable}}.
rowtextYesData to store. Use {{data}} for the complete input.
tagsdataStoreGroupTagsNoGroup tags to assign to the record.
ParameterTypeRequiredDescription
groupdataStoreGroupYesGroup where to store the records.
keytextYesField of each object to use as unique key.
dataKeytextYesArray of objects to store. Use {{data}} if the input is the array.
tagsdataStoreGroupTagsNoTags to apply to all records.
ParameterTypeRequiredDescription
groupdataStoreGroupNoFilter by group (empty = all).
keytextNoFilter by specific key.
tagsdataStoreGroupTagsNoFilter by tags.
tagModeselectNoFilter mode: any (OR), all (AND), exclude. Default: any.
ParameterTypeRequiredDescription
groupdataStoreGroupYesGroup to search in.
keytextYesRecord key to search for.
fieldtextYesField name to get from the record.
ParameterTypeRequiredDescription
groupdataStoreGroupYesGroup to search in.
keytextYesKey to search for.
tagsdataStoreGroupTagsNoAlso filter by tags (optional).
tagModeselectNoFilter mode: any (OR), all (AND).
ParameterTypeRequiredDescription
idtextNoSpecific record ID to delete.
groupdataStoreGroupNoRecord group (if no ID is specified).
keytextNoRecord key to delete (used with group).

DataStore Modify Tags (action: modifyTags)

Section titled “DataStore Modify Tags (action: modifyTags)”
ParameterTypeRequiredDescription
idstextNoRecord IDs separated by comma.
groupdataStoreGroupNoGroup to filter records (if no IDs).
tagsdataStoreGroupTagsNoFilter tags to find records.
adddataStoreGroupTagsNoTags to add to records.
removedataStoreGroupTagsNoTags to remove from records.
ParameterTypeRequiredDescription
groupdataStoreGroupYesGroup to search in.
keystextYesArray of keys to map. Supports {{data.ids}}.
fieldtextYesField to extract from each record.
transformselectNoTransformation: uppercase, lowercase, trim, or none.

Varies by action:

{ "nextModule": "siguiente", "data": { "success": true, "key": "clave_registro" } }
{ "nextModule": "siguiente", "data": [{ "id": 1, "group_name": "clientes", "record_key": "juan", "row_data": {}, "tags": [] }] }
{ "nextModule": "siguiente", "data": { "isFound": true, "message": "Found", "row": { "datos": "del_registro" } } }
{ "nextModule": "siguiente", "data": { "success": true, "deletedCount": 1 } }
{
"label": "DataStore Add",
"action": "add",
"group": "clientes",
"key": "{{data.email}}",
"row": "{{data}}",
"tags": ["nuevo"]
}
  • Supports dynamic variables {{variable}} in key, row, dataKey and tags fields.
  • 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.
  • Each variant has its own parentNode dataStore and its own icon/color for easy visual identification.
  • DataStoreTrigger (trigger activated by DataStore changes)
  • dataframe (legacy version, obsolete)
  • decision (to evaluate query results)
  • iterator (to iterate over filtered results)