Skip to main content

Data Tables

Data Tables are lightweight, persistent, schema‑defined storage components built into Koodisi. They allow you to manage structured data 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

  1. Go to the Tables tab in the main navigation.
  2. Choose to either create a table from scratch or import data from a CSV.
  3. Define the schema: column names, types, and TTL in minutes.
  4. 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

FieldRequiredDescriptionExample
NameRequiredThe name of the activity. This name must be unique in a workflow.DataTableQuery
DescriptionOptionalA clear description to guide execution and collaboration.Retrieves customer data filtered by status
Data TableRequiredA predefined resource for accessing the data table.Select Data Table

Columns Tab

FieldRequiredDescriptionExample
ColumnRequiredThe name of the column in the tablename, age, id
TypeAutoData type of the columnstring, number, boolean
KeyOptionalIndicates if it's a key columnSelected/Deselected

Conditions Tab

FieldRequiredDescriptionExample
Condition GroupOptionalNamed groups of conditions (AND/OR logic)group_1, group_2
ColumnRequiredThe column to apply the condition toname, age, email
TypeAutoData type of the columnstring, integer
OperatorRequiredComparison operator=, !=
Filter ConditionRequiredThe value and logical operationAND, Select Operation

Sorting Tab

FieldRequiredDescriptionExample
Column NameOptionalThe column to sort byname, id
Sort TypeRequiredDirection of sortAscending, Descending

Aggregation Tab

FieldRequiredDescriptionExample
FunctionRequiredAggregation functionSUM, COUNT, AVG
ColumnRequiredColumn to aggregateid, age
Alias nameOptionalName for the aggregated resultDemoFunction1

Input Schema

FieldRequiredData TypeDescriptionExample
Dynamically generated based on query configurationOptionalVariousMapping fields for conditions, columns, and other parametersgroup_1.name, group_2.email

Output Schema

FieldRequiredData TypeDescriptionExample
dtQueryOutputRequiredObjectContainer for all query results
recordsRequiredArrayThe rows returned
totalCountRequiredIntegerTotal number of records matching the query156
hasMoreRecordsRequiredBooleanIndicates if more records exist beyond this pagetrue
nextOffsetOptionalIntegerOffset for retrieving the next page100
executionTimeMsRequiredIntegerQuery execution time in milliseconds350

DataTableUpsert

Description

Inserts new records or updates existing ones based on unique key(s).

Configuration

FieldRequiredDescriptionExample
NameRequiredUnique name of the activity within a workflow.DataTableUpsert
DescriptionOptionalClear description for guidance and collaboration.Updates product inventory or adds new products if absent
Data TableRequiredPredefined resource for accessing the data table.regressiontest
TTLRequiredTime‑to‑live for the stored data (in seconds).60

Columns Tab

FieldRequiredDescriptionExample
ColumnRequiredThe name of the columnname, age, id
TypeAutoData typestring, number
KeyRequiredColumn(s) used to identify recordsSelected/Deselected

Input Schema

FieldRequiredData TypeDescriptionExample
recordsRequiredArrayArray of records to be upserted
recordRequiredObjectIndividual record matching selected columns

Output Schema

FieldRequiredData TypeDescriptionExample
dtUpsertOutputRequiredObjectContainer for upsert operation results
rowsAffectedRequiredIntegerNumber of rows inserted or updated5

DataTableInsert

Description

Inserts new rows into a data table.

Configuration

FieldRequiredDescriptionExample
NameRequiredUnique name of the activity.DataTableInsert
DescriptionOptionalClear description for guidance and collaboration.Inserts new employee records
Data TableRequiredPredefined resource for accessing the data table.regressiontest
TTLRequiredTime‑to‑live for the stored data (in seconds).60

Columns Tab

FieldRequiredDescriptionExample
ColumnRequiredThe name of the columnname, age
TypeAutoData typestring, integer
KeyOptionalIndicates if it’s a key columnSelected/Deselected

Input Schema

FieldRequiredData TypeDescriptionExample
recordsRequiredArrayArray of records to be inserted
recordRequiredObjectIndividual record matching selected columns

Output Schema

Empty by default; extendable with custom fields such as:

FieldRequiredData TypeDescriptionExample
rowsAffectedOptionalIntegerNumber of rows successfully inserted5
successOptionalBooleanIndicates operation successtrue
errorsOptionalArrayDetails of any failed insertions

DataTableDelete

Description

Removes specific rows from a data table using filter conditions.

Configuration

FieldRequiredDescriptionExample
NameRequiredUnique name of the activity.DataTableDelete
DescriptionOptionalClear description for guidance and collaboration.Removes obsolete customer records
Data TableRequiredPredefined resource for accessing the data table.regressiontest

Conditions Tab

FieldRequiredDescriptionExample
Condition GroupOptionalNamed groups of conditions (AND/OR logic)group_1, group_2
ColumnRequiredThe column to apply the condition toname, id, email
TypeAutoData typestring, number
OperatorRequiredComparison operator=, !=
Filter ConditionRequiredThe value and logical operationAND, Select Operation
Add ConditionOptionalButton to add additional conditions within a group
Add Condition GroupOptionalButton to add new condition groups

Input Schema

FieldRequiredData TypeDescriptionExample
conditionsRequiredObjectContainer for all condition groups
group_1, group_2, etc.OptionalObjectNamed condition groups matching columns
name, name_1, etc.OptionalVariousValues for specified column conditions"John", 42

Output Schema

Empty by default; extendable with custom fields such as:

FieldRequiredData TypeDescriptionExample
rowsAffectedOptionalIntegerNumber of rows deleted5
successOptionalBooleanIndicates operation successtrue
errorsOptionalArrayDetails of any failed deletions

DataTableTruncate

Description

Bulk deletes all data from a table, effectively resetting it while maintaining the table structure.

Configuration

FieldRequiredDescriptionExample
NameRequiredUnique name of the activity.DataTableTruncate
DescriptionOptionalClear description for guidance and collaboration.Clears all records from staging
Data TableRequiredPredefined resource for accessing the data table.regressiontest

Output Schema

Empty by default; extendable with custom fields such as:

FieldRequiredData TypeDescriptionExample
successOptionalBooleanIndicates operation successtrue
rowsAffectedOptionalIntegerNumber of rows deleted1250
executionTimeMsOptionalIntegerTime taken to execute the operation (ms)350

Operator Mapping Table

Display LabelOperator ValueApplies ToNotes / Logic
Equal To (=)=string, number, date, booleanMost common comparison
Not Equal To (!=)!= or &lt;&gt;string, number, date, booleanBoth != and <> are valid in SQL
Greater Than (>)&gt;number, dateNot applicable for string or boolean
Less Than (<)&lt;number, date
Greater Than or Equal To (>=)&gt;=number, date
Less Than or Equal To (<=)&lt;=number, date
BetweenBETWEENnumber, dateRequires two inputs; not for string/boolean
InINstring, number, date, booleanAccepts multiple values (mapped to = ANY)
Not InNOT INstring, number, date, booleanConverted to &lt;&gt; ALL
LikeLIKEstringPattern match
Not LikeNOT LIKEstring
Is NullIS NULLall typesChecks for no value
Is Not NullIS NOT NULLall typesChecks for presence of value

UI Logic Rules (For Display)

TypeAllowed Operators
stringEqual To, Not Equal To, In, Not In, Like, Not Like, Is Null, Is Not Null
numberEqual To, Not Equal To, Greater Than, Less Than, Greater Than or Equal To, Less Than or Equal To, Between, In, Not In, Is Null, Is Not Null
dateEqual To, Not Equal To, Greater Than, Less Than, Greater Than or Equal To, Less Than or Equal To, Between, In, Not In, Is Null, Is Not Null
booleanEqual To, Not Equal To, In, Not In, Is Null, Is Not Null