Data Tables
Data Tables
Description
Data Tables are lightweight, persistent, schema‑defined storage components built into PlatformNX. They allow you to manage structured data such as ID maps, configuration, sync checkpoints, and reference lists—without the need for external databases.
The new Tables menu combines both Lookups and Data Tables under a unified interface with separate tabs.
Benefits
Reusable data logic: Centralize your ID mappings, sync checkpoints, and configuration records.
High performance: Optimized for quick access with optional TTL (Time to Live) caching.
Declarative querying: Visual tools to filter, sort, group, and aggregate data without code.
No external DB required: Eliminates infrastructure burden for transient or reference data.
Seamless integration: Fully compatible with workflow activities.
Scoped & secure: Bound by environment and role‑based access controls.
How It Works
Creating Tables
Go to the Tables tab in the main navigation.
Choose to either create a table from scratch or import data from a CSV.
Define the schema: column names, types, and TTL in minutes.
Save the table for immediate use across workflows.
Using Tables in Workflows
You can use purpose‑built activities to interact with your Data Tables:
DataTableQuery – Retrieve data using filters, sorting, aggregation, and pagination.
DataTableInsert – Insert new rows.
DataTableUpdate – Update existing records based on matching conditions.
DataTableUpsert – Insert or update data based on unique key(s).
DataTableDelete – Remove specific rows using filter conditions.
DataTableTruncate – Bulk delete entire tables or filtered subsets.
DataTableQuery
Description
Retrieves data from tables using filters, sorting, aggregation, and pagination options.
Configuration
Name
Yes
The name of the activity. This name must be unique in a workflow.
DataTableQuery
Description
No
A clear description to guide execution and collaboration.
Retrieves customer data by status
Data Table
Yes
A predefined resource for accessing the data table.
CustomerConfig
Columns Tab
Column
Yes
The name of the column in the table
name
, age
Type
Auto
Data type of the column
string
, number
Key
No
Indicates if it's a key column
Selected/Deselected
Conditions Tab
Condition Group
No
Named groups of conditions (AND/OR logic)
group_1
Column
Yes
The column to apply the condition to
status
Type
Auto
Data type of the column
string
Operator
Yes
Comparison operator
=
Filter Value
Yes
The value to compare against
active
Sorting Tab
Column Name
No
The column to sort by
createdAt
Sort Type
Yes
Direction of sort
Ascending
Aggregation Tab
Function
Yes
Aggregation function
COUNT
Column
Yes
Column to aggregate
id
Alias Name
No
Name for the aggregated result
totalCount
Input Schema
parameters
No
Object
Mapping fields for columns/conditions/pagination
{ \"limit\": 10 }
Output Schema
dtQueryOutput
Yes
Object
Container for all query results
–
records
Yes
Array
The rows returned
–
totalCount
Yes
Integer
Total number of records matching the query
156
hasMore
Yes
Boolean
Indicates if more records exist beyond this page
true
nextOffset
No
Integer
Offset for retrieving the next page
100
executionMs
Yes
Integer
Query execution time in milliseconds
350
DataTableUpsert
Description
Inserts new records or updates existing ones based on unique key(s).
Configuration
Name
Yes
Unique name of the activity within a workflow.
DataTableUpsert
Description
No
Clear description for guidance and collaboration.
Sync product inventory
Data Table
Yes
Predefined resource for accessing the data table.
Inventory
TTL
Yes
Time‑to‑live for the stored data (seconds).
3600
Columns Tab
Column
Yes
The name of the column
sku
, quantity
Type
Auto
Data type
string
, integer
Key
Yes
Column(s) used to identify records
Selected
Input Schema
records
Yes
Array
Array of records to be upserted
[ { "sku": "A1", "quantity": 5 } ]
Output Schema
dtUpsertOut
Yes
Object
Container for upsert operation results
–
rowsAffected
Yes
Integer
Number of rows inserted or updated
5
DataTableInsert
Description
Inserts new rows into a data table.
Configuration
Name
Yes
Unique name of the activity.
DataTableInsert
Description
No
Clear description for guidance
Batch import employees
Data Table
Yes
Predefined resource for accessing the data table.
Employees
TTL
Yes
Time‑to‑live for the stored data (seconds).
1800
Columns Tab
Column
Yes
The name of the column
firstName
, email
Type
Auto
Data type
string
Key
No
Indicates if it’s a key column
Deselected
Input Schema
records
Yes
Array
Array of records to inserting
[ { "firstName": "Jane" } ]
Output Schema (extendable)
rowsAffected
No
Integer
Number of rows successfully inserted
10
success
No
Boolean
Indicates operation success
true
errors
No
Array
Error details if insertions failed
–
DataTableDelete
Description
Removes specific rows from a data table using filter conditions.
Configuration
Name
Yes
Unique name of the activity.
DataTableDelete
Description
No
Clear description for guidance
Remove inactive customers
Data Table
Yes
Predefined resource for accessing the data table.
Customers
Conditions Tab
ConditionGroup
No
Named group of conditions (AND/OR logic)
expiryCheck
Column
Yes
The column to apply the condition
status
Type
Auto
Data type
string
Operator
Yes
Comparison operator
=
Filter Value
Yes
The value to compare
inactive
AddCondition
No
Button to add additional conditions within a group
–
AddConditionGrp
No
Button to add new condition groups
–
Input Schema
conditions
Yes
Object
Container for all condition groups
–
Output Schema (extendable)
rowsAffected
No
Integer
Number of rows successfully deleted
5
success
No
Boolean
Indicates operation success
true
errors
No
Array
Error details if deletions failed
–
DataTableTruncate
Description
Bulk deletes all data from a table while maintaining its structure.
Configuration
Name
Yes
Unique name of the activity.
DataTableTruncate
Description
No
Clear description for guidance
Reset staging data
Data Table
Yes
Predefined resource for accessing the data table.
StagingRecords
Output Schema (extendable)
success
No
Boolean
Indicates operation success
true
rowsAffected
No
Integer
Number of rows deleted
1250
executionTimeMs
No
Integer
Time taken to execute the operation (ms)
350
TTL and Temporary Storage
All Data Tables are temporary storage governed by the TTL you configure (in minutes). Once the TTL period expires:
Records are automatically deleted and will not be returned by any query or activity.
In the event of any infrastructure failure (e.g. disk outage, service restart), data within the TTL window may be unrecoverable. Integrations relying on that data must be designed to recreate or re-fetch it as needed.
When to Use Lookups vs. Data Tables
Data Tables: Ideal for execution data—transient data created and accessed during the runtime of an integration (e.g., sync checkpoints, temporary buffers, session states).
Lookup Tables: Designed for persisted reference data or secure storage, such as credentials, mapping definitions, or metadata. Use vault-backed lookups only when you need encryption or strict access control; otherwise, non-vault lookup tables offer better performance.
Operator Mapping Table
Equal To (=)
=
all types
Not Equal To (!=)
!=, <>
all types
Greater Than (>)
>
number, date
Less Than (<)
<
number, date
Greater Than or Equal To (>=)
>=
number, date
Less Than or Equal To (<=)
<=
number, date
Between
BETWEEN
number, date
In
IN
multiple types
Not In
NOT IN
multiple types
Like
LIKE
string
Not Like
NOT LIKE
string
Is Null
IS NULL
all types
Is Not Null
IS NOT NULL
all types
Last updated
Was this helpful?