Skip to content

Data Storage

Using the Data Storage component, you can easily manage and operate on lists and objects by setting or retrieving any desired data. This process employs a key-value store mechanism, where the key represents the field’s name and the value corresponds to the particular data’s actual value.

Categories: helpers

Type: dataStorage/v1


Actions

Append Value to List

Name: appendValueToList

Append value to the end of a list. If the list does not exist, it will be created.

Properties

NameLabelTypeControl TypeDescriptionRequired
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace for appending a value.true
keyKeySTRINGTEXTThe identifier of a list must be unique within the chosen scope, or a new value will overwrite the existing one.true
typeTypeSTRING
Options ARRAY, BOOLEAN, DATE, DATE_TIME, INTEGER, NULL, NUMBER, OBJECT, STRING, TIME
SELECTThe value type.null
valueValueARRAY
Items []
ARRAY_BUILDERThe value to set under given key.true
valueValueBOOLEAN
Options true, false
SELECTThe value to set under given key.true
valueValueDATEDATEThe value to set under given key.true
valueValueDATE_TIMEDATE_TIMEThe value to set under given key.true
valueValueINTEGERINTEGERThe value to set under given key.true
valueValueNULLNULLThe value to set under given key.true
valueValueNUMBERNUMBERThe value to set under given key.true
valueValueOBJECT
Properties {}
OBJECT_BUILDERThe value to set under given key.true
valueValueSTRINGTEXTThe value to set under given key.true
valueValueTIMETIMEThe value to set under given key.true
appendListAsSingleItemAppend a List as a Single ItemBOOLEAN
Options true, false
SELECTWhen set to true, and the value is a list, it will be added as a single value rather than concatenating the lists.null

JSON Example

{
"label" : "Append Value to List",
"name" : "appendValueToList",
"parameters" : {
"scope" : "",
"key" : "",
"type" : "",
"value" : "00:00:00",
"appendListAsSingleItem" : false
},
"type" : "dataStorage/v1/appendValueToList"
}

Atomic Increment

Name: atomicIncrement

The numeric value can be incremented atomically, and the action can be used concurrently from multiple executions.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a value to increment.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to obtain a value from.true
valueToAddValue to AddINTEGERINTEGERThe value that can be added to the existing numeric value, which may have a negative value.null

Output

Type: INTEGER

JSON Example

{
"label" : "Atomic Increment",
"name" : "atomicIncrement",
"parameters" : {
"key" : "",
"scope" : "",
"valueToAdd" : 1
},
"type" : "dataStorage/v1/atomicIncrement"
}

Await Get Value

Name: awaitGetValue

Wait for a value under a specified key, until it’s available.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a value to wait for.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to obtain a value from.true
typeTypeSTRING
Options ARRAY, BOOLEAN, DATE, DATE_TIME, INTEGER, NULL, NUMBER, OBJECT, STRING, TIME
SELECTThe value type.null
defaultValueDefault ValueARRAY
Items []
ARRAY_BUILDERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueBOOLEAN
Options true, false
SELECTThe default value to return if no value exists under the given key.true
defaultValueDefault ValueDATEDATEThe default value to return if no value exists under the given key.true
defaultValueDefault ValueDATE_TIMEDATE_TIMEThe default value to return if no value exists under the given key.true
defaultValueDefault ValueINTEGERINTEGERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueNULLNULLThe default value to return if no value exists under the given key.true
defaultValueDefault ValueNUMBERNUMBERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueOBJECT
Properties {}
OBJECT_BUILDERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueSTRINGTEXTThe default value to return if no value exists under the given key.true
defaultValueDefault ValueTIMETIMEThe default value to return if no value exists under the given key.true
timeoutTimeoutINTEGERINTEGERIf a value is not found within the specified time, the action returns a null value. Therefore, the maximum wait time should be set accordingly.true

JSON Example

{
"label" : "Await Get Value",
"name" : "awaitGetValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"defaultValue" : "00:00:00",
"timeout" : 1
},
"type" : "dataStorage/v1/awaitGetValue"
}

Delete Value

Name: deleteValue

Remove a value associated with a key in the specified scope.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a value to delete, stored earlier in the selected scope.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to delete a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has.true

JSON Example

{
"label" : "Delete Value",
"name" : "deleteValue",
"parameters" : {
"key" : "",
"scope" : ""
},
"type" : "dataStorage/v1/deleteValue"
}

Delete Value from List

Name: deleteValueFromlist

Delete a value from the given index in a list.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a list to delete value from, stored earlier in the selected scope.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to delete a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has.true
indexIndexINTEGERINTEGERThe specified index in the list will be removed, and if it doesn’t exist, the list will remain unaltered.true

JSON Example

{
"label" : "Delete Value from List",
"name" : "deleteValueFromlist",
"parameters" : {
"key" : "",
"scope" : "",
"index" : 1
},
"type" : "dataStorage/v1/deleteValueFromlist"
}

Get All Entries(Keys and Values)

Name: getAllEntries

Retrieve all the currently existing keys from storage, along with their values within the provided scope.

Properties

NameLabelTypeControl TypeDescriptionRequired
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to get keys from.true

Output

Type: ARRAY

Properties

NameTypeControl Type
OBJECT
Properties {}
OBJECT_BUILDER

JSON Example

{
"label" : "Get All Entries(Keys and Values)",
"name" : "getAllEntries",
"parameters" : {
"scope" : ""
},
"type" : "dataStorage/v1/getAllEntries"
}

Get Value

Name: getValue

Retrieve a previously assigned value within the specified scope using its corresponding key.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a value to get, stored earlier in the selected scope.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to get a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has.true
typeTypeSTRING
Options ARRAY, BOOLEAN, DATE, DATE_TIME, INTEGER, NULL, NUMBER, OBJECT, STRING, TIME
SELECTThe value type.null
defaultValueDefault ValueARRAY
Items []
ARRAY_BUILDERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueBOOLEAN
Options true, false
SELECTThe default value to return if no value exists under the given key.true
defaultValueDefault ValueDATEDATEThe default value to return if no value exists under the given key.true
defaultValueDefault ValueDATE_TIMEDATE_TIMEThe default value to return if no value exists under the given key.true
defaultValueDefault ValueINTEGERINTEGERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueNULLNULLThe default value to return if no value exists under the given key.true
defaultValueDefault ValueNUMBERNUMBERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueOBJECT
Properties {}
OBJECT_BUILDERThe default value to return if no value exists under the given key.true
defaultValueDefault ValueSTRINGTEXTThe default value to return if no value exists under the given key.true
defaultValueDefault ValueTIMETIMEThe default value to return if no value exists under the given key.true

JSON Example

{
"label" : "Get Value",
"name" : "getValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"defaultValue" : "00:00:00"
},
"type" : "dataStorage/v1/getValue"
}

Set Value

Name: setValue

Set a value under a key, in the specified scope.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a value. Must be unique across all keys within the chosen scope to prevent overwriting the existing value with a new one. Also, it must be less than 1024 bytes in length.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to set a value in. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has.true
typeTypeSTRING
Options ARRAY, BOOLEAN, DATE, DATE_TIME, INTEGER, NULL, NUMBER, OBJECT, STRING, TIME
SELECTThe value type.null
valueValueARRAY
Items []
ARRAY_BUILDERThe value to set under the specified key.true
valueValueBOOLEAN
Options true, false
SELECTThe value to set under the specified key.true
valueValueDATEDATEThe value to set under the specified key.true
valueValueDATE_TIMEDATE_TIMEThe value to set under the specified key.true
valueValueINTEGERINTEGERThe value to set under the specified key.true
valueValueNULLNULLThe value to set under the specified key.true
valueValueNUMBERNUMBERThe value to set under the specified key.true
valueValueOBJECT
Properties {}
OBJECT_BUILDERThe value to set under the specified key.true
valueValueSTRINGTEXTThe value to set under the specified key.true
valueValueTIMETIMEThe value to set under the specified key.true

JSON Example

{
"label" : "Set Value",
"name" : "setValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"value" : "00:00:00"
},
"type" : "dataStorage/v1/setValue"
}

Set Value in List

Name: setValueInList

Set value under a specified index in a list.

Properties

NameLabelTypeControl TypeDescriptionRequired
keyKeySTRINGTEXTThe identifier of a list. Must be unique across all keys within the chosen scope to prevent overwriting the existing value with a new one. Also, it must be less than 1024 bytes in length.true
scopeScopeSTRING
Options CURRENT_EXECUTION, WORKFLOW, ACCOUNT
SELECTThe namespace to set a value in. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has.true
indexIndexINTEGERINTEGERThe index in a list to set a value under. The previous value will be overridden.true
typeTypeSTRING
Options ARRAY, BOOLEAN, DATE, DATE_TIME, INTEGER, NULL, NUMBER, OBJECT, STRING, TIME
SELECTThe value type.null
valueValueARRAY
Items []
ARRAY_BUILDERThe value to set under the specified list’s key.true
valueValueBOOLEAN
Options true, false
SELECTThe value to set under the specified list’s key.true
valueValueDATEDATEThe value to set under the specified list’s key.true
valueValueDATE_TIMEDATE_TIMEThe value to set under the specified list’s key.true
valueValueINTEGERINTEGERThe value to set under the specified key.true
valueValueNULLNULLThe value to set under the specified key.true
valueValueNUMBERNUMBERThe value to set under the specified list’s key.true
valueValueOBJECT
Properties {}
OBJECT_BUILDERThe value to set under the specified list’s key.true
valueValueSTRINGTEXTThe value to set under the specified list’s key.true
valueValueTIMETIMEThe value to set under the specified list’s key.true

JSON Example

{
"label" : "Set Value in List",
"name" : "setValueInList",
"parameters" : {
"key" : "",
"scope" : "",
"index" : 1,
"type" : "",
"value" : "00:00:00"
},
"type" : "dataStorage/v1/setValueInList"
}