メインコンテンツまでスキップ

Datastore node

A Datastore node lets you store, retrieve, and update structured data within your flows using a managed data store. Use it to persist data across flow executions, build lookup tables, or track state over time — without connecting to an external database.

Each customer has an isolated data store. Tables you create are only accessible to flows within your organization.

Create and manage tables

Before using a Datastore node in a flow, create one or more tables to store your data. Tables are managed from the Datastore tab on the CloudFlow landing page.

Create a table

  1. On the CloudFlow landing page, select the Datastore tab.

  2. Select Create table.

  3. Configure the table:

    • Table name: A unique name for the table. The table name cannot be changed after creation.

    • Description (optional): A brief description of what the table stores.

    • Columns: Define one or more columns, each with a name and data type. You can also mark a column as unique to enforce that no two records can have the same value in that column, which is useful when the column is used as an upsert key.

  4. Select Save.

Edit a table

You can update a table's description and add or remove columns. The table name cannot be changed after creation, and existing columns cannot be renamed or have their data type changed.

  1. Open the table from the Datastore browser.

  2. Select Edit table.

  3. Make your changes and select Save.

Browse and manage records

Open a table to view its records. From the table detail view, you can:

  • Add a record: Select Add row and fill in the column values.

  • Edit a record: Select a row to update its values.

  • Delete records: Select one or more rows and delete them.

Records are paginated and sortable by any column.

Delete a table

To delete a table, select the delete action from the Datastore browser. Deleting a table permanently removes all of its records.

Actions

When configuring a Datastore node in a flow, select one of the following actions:

Get records

Retrieves records from a table. You can control which records are returned and what data is included:

  • Table: The table to query.

  • Columns (optional): Select specific columns to include in the result. If no columns are selected, all columns are returned.

  • Filters (optional): Define conditions to narrow down the results. Conditions within a filter group are combined with AND logic. Multiple filter groups are combined with OR logic.

    The following filter operators are available:

    OperatorDescription
    ==Equal to
    !=Not equal to
    >Greater than
    >=Greater than or equal to
    <Less than
    <=Less than or equal to

    Filter values can reference output from previous nodes in the flow.

  • Limit (optional): The maximum number of records to return.

The output of the Get records action is an array of matching records, which subsequent nodes in the flow can reference.

Insert records

Inserts one or more records into a table.

  • Table: The table to insert records into.

  • Column mappings: Map each column to a value. Values can be static or reference output from previous nodes.

    When a previous node's output contains multiple items (for example, a list of EC2 instances), the Datastore node automatically creates one record per item.

Records are inserted in batches of up to 1,000 rows. The insertion is atomic per batch — if any record in a batch fails validation, none of the records in that batch are inserted.

The output includes the IDs of the inserted records and a count of the total rows inserted.

Upsert records

Inserts new records or updates existing ones based on a unique key column. This is useful when you want to keep a table in sync with an external data source without creating duplicates.

  • Table: The table to upsert records into.

  • Upsert key: The column used to determine whether a record already exists. If a record with the same key value exists, it is updated; otherwise, a new record is inserted. The upsert key column should be marked as unique when creating the table.

  • Column mappings: Map each column to a value, the same as with Insert records.

The output includes counts and IDs for both inserted and updated records.

Supported column types

When creating a table in the Datastore, the following column types are available:

TypeDescriptionExample
TextVariable-length stringus-east-1
IntegerWhole number42
NumericDecimal number3.14
BooleanTrue or falsetrue
DateCalendar date (yyyy-MM-dd)2026-01-15
TimestampDate and time with timezone2026-01-15T10:30:00Z
JSONStructured JSON data{"key": "value"}

Example: Track EC2 instance state changes

A common use case for the Datastore node is to maintain a lookup table that tracks cloud resource state over time. For example, you could build a flow that:

  1. Uses an AWS node to list EC2 instances.
  2. Uses an Upsert action on the Datastore node to update a table with the current state of each instance, using the instance ID as the upsert key.
  3. Uses a Get records action on a second Datastore node to query the table for instances that have been stopped for more than 7 days.
  4. Sends a Notification to the relevant team with the list of long-stopped instances.

Since the upsert action updates existing records instead of creating duplicates, the table always reflects the latest state of each instance.