Skip to main content

Datasets

A dataset is a named block of structured data — JSON, CSV, XML, key-value properties, or plain text — stored in one place and reusable across any job in Qinfinite. Where a global variable holds a single value, a dataset holds an entire data structure: a lookup table, a configuration block, a routing map, or a reference list.

Datasets also support versioning. Every time you need to update the content, you can create a new version rather than overwriting the existing one. Previous versions are preserved and can be reactivated if needed.

How It Works​

Create v1
Save your first version of the data — it becomes active immediately
Create v2
When the data changes, create a new version — v2 activates, v1 is preserved
Switch Anytime
Activate any previous version if you need to roll back
Only one version is active at a time — jobs always use the active version.

Datasets vs. Global Variables​

Both store reusable values, but they serve different needs:

NeedBest choice
One email addressGlobal Variable
A list of department email addressesDataset
One approval limitGlobal Variable
Approval rules for every department, stored as JSONDataset
One API base URLGlobal Variable
A lookup table of system names and their URLsDataset
A sensitive token or passwordGlobal Variable (with encryption)
A multi-line configuration fileDataset
A value that needs versioningDataset

Use a global variable for a single, self-contained value. Use a dataset when the reusable content is a structured block of data that may grow, change over time, or need a version history.

Dataset Types​

When you create a dataset you choose a type. The type describes the format of the data you're storing. The built-in Monaco editor accepts any text, but choosing the right type allows Qinfinite to apply format-specific validation and beautification.

TypeWhat it's forTypical example
JSONStructured objects and arraysApproval rules, configuration maps, lookup tables
CSVTabular data in comma-separated rowsEmployee lists, routing tables, product codes
XMLHierarchical markup dataIntegration payloads, legacy system exports
PropertiesKey-value pairs in key=value formatApplication configuration, environment settings
TextAny plain text contentFree-form notes, email templates, multi-line scripts

Creating a Dataset​

  1. Open Global Configurator and go to the Datasets tab.
  2. Click Add Dataset.
  3. Fill in the form:
FieldRulesNotes
Name4–30 characters, letters, numbers, underscore, or hyphenMust be unique — checked as you type
DescriptionOptionalHelps teammates understand what this data is for
TagsOptional, chip-style inputUseful for filtering and searching
TypeRequiredJSON, CSV, XML, Properties, or Text
ValueRequiredEntered in the Monaco code editor
  1. The value editor is a full Monaco editor — the same editor used in VS Code. You can resize it by dragging the bottom edge. The default height is 300 px.
  2. Use the Beautify button to auto-format your content (especially useful for JSON and XML).
  3. Use the Validate button to check whether your content is well-formed for the selected type.
  4. Click Create to save.

The first saved version is automatically labelled v1, set as the active version, and the total version count is set to 1.

Monaco editor shortcuts

The editor supports standard keyboard shortcuts: Ctrl+Z to undo, Ctrl+/ to toggle comments (for JSON-style content), and Ctrl+F to find within the editor. You can also drag the editor's bottom edge to make it taller when working with large data blocks.

Versioning​

Versioning lets you update a dataset without losing the history of what it contained before.

Creating a New Version​

In the dataset table, locate the row for an active version and click the Create Version action (shown as a git-merge icon). This:

  1. Deactivates the current active version (it stays in the list but is no longer active).
  2. Creates a new record with the next version number — for example v2 after v1.
  3. Opens the edit form pre-filled with the previous version's content so you only need to change what's different.
  4. Sets the new version as active on save.

Viewing Version History​

Datasets with more than one version show a chevron (expand arrow) in the table row. Click it to expand the row and see all versions. Inactive versions are listed in descending version order. Each version shows its version label, who created it, and when.

Name is locked after versioning

Once a dataset has more than one version, the Name field is disabled in the edit form. The name cannot be changed after versioning begins because all versions share the same identity.

Activating an Older Version​

To roll back to a previous version:

  1. Expand the dataset row to view its version history.
  2. Find the version you want to restore.
  3. Click Activate on that version row.

The platform immediately deactivates all other versions for this dataset and marks the selected version as active. Any job that references this dataset will use the newly activated version at its next run.

One active version at a time

Only one version can be active at a time. Activating an older version deactivates the current one. Jobs always read the active version — there is no way to pin a job to a specific version number.

Referencing a Dataset in a Workflow​

Once saved, a dataset can be referenced inside any job step that accepts dynamic expressions. The reference syntax is:

{{ds.datasetName}}

For example, if your dataset is named Dept_Approval_Rules, use:

{{ds.Dept_Approval_Rules}}

The platform substitutes the full content of the active version at runtime. Only active, non-deleted datasets are returned when a job looks up a dataset reference.

To copy the reference format quickly, click the copy icon next to the dataset name in the table.

Validation and Beautify​

The editor footer provides two utility actions:

ButtonWhat it does
BeautifyAuto-formats and indents the content based on the selected type. Particularly useful for minified JSON or XML.
ValidateChecks whether the content is valid for the selected type — for example, whether JSON parses correctly or whether XML is well-formed. Errors are shown inline.

Use Validate before saving if you're pasting in content from an external source. An invalid dataset saves successfully but may cause runtime errors when a job tries to parse the content.

The Dataset Table​

The main table shows all datasets with these columns:

ColumnNotes
NameChevron shown if multiple versions exist — click to expand
TypeJSON, CSV, XML, Properties, or Text
ValueTruncated preview of the active version's content
VersionCurrent active version label (v1, v2, etc.)
TagsAll tags for the dataset
CreatedDate the first version was created
Last ModifiedDate of the most recent change
ActionsCreate Version (active rows only), Edit, Delete

Deleting a Dataset​

Datasets use soft-delete — a deleted dataset is hidden from the table and excluded from search results, but its data is retained in the database. If a job references a deleted dataset, the reference will not resolve and the job step will fail.

Check references before deleting

Search for the dataset name across your jobs before deleting it. A deleted dataset cannot be referenced, and there is no automated warning sent to job owners.