Skip to main content
The set node stores a value in the execution context. Use it to save computed values, store intermediate results, or create variables for use in subsequent nodes.

Configuration

{
  "id": "store_user",
  "type": "set",
  "config": {
    "key": "current_user",
    "value": "{{fetch_user.output.body}}"
  }
}

Config Fields

FieldTypeRequiredDescription
keystringYesContext key to store the value (supports nested paths)
valueanyYesValue to store (supports templates)

Output

{
  "key": "current_user",
  "value": { ... }
}
The stored value is also accessible via the key path in subsequent nodes.

Key Paths

Simple Keys

{
  "key": "user_id",
  "value": "{{request.body.id}}"
}
Access: {{user_id}}

Nested Keys

{
  "key": "user.profile.name",
  "value": "{{fetch_user.output.body.name}}"
}
Access: {{user.profile.name}}

Array Index

{
  "key": "items[0]",
  "value": "{{first_item}}"
}
Access: {{items[0]}}

Value Types

String Values

{
  "key": "status",
  "value": "active"
}

Template Values

{
  "key": "user_email",
  "value": "{{fetch_user.output.body.email}}"
}

Object Values

{
  "key": "user_data",
  "value": {
    "id": "{{request.body.id}}",
    "name": "{{request.body.name}}",
    "created_at": "{{now}}"
  }
}

Array Values

{
  "key": "selected_ids",
  "value": ["{{id1}}", "{{id2}}", "{{id3}}"]
}

Computed Values with Pipes

{
  "key": "filtered_items",
  "value": "{{items | filter:status=active | slice:10}}"
}

Examples

Store API Response

{
  "id": "save_user",
  "type": "set",
  "config": {
    "key": "user",
    "value": "{{fetch_user.output.body | pick:id:name:email}}"
  }
}

Store Computed Value

{
  "id": "calculate_total",
  "type": "set",
  "config": {
    "key": "order_total",
    "value": "{{items | sum:price}}"
  }
}

Store Timestamp

{
  "id": "set_timestamp",
  "type": "set",
  "config": {
    "key": "processed_at",
    "value": "{{now}}"
  }
}

Store Complex Object

{
  "id": "build_context",
  "type": "set",
  "config": {
    "key": "context",
    "value": {
      "user": "{{fetch_user.output.body}}",
      "permissions": "{{fetch_permissions.output.body}}",
      "settings": {
        "theme": "{{request.query.theme | default:light}}",
        "language": "{{request.headers.Accept-Language | default:en}}"
      }
    }
  }
}

Store Conditional Value

Use with a preceding condition node or pipes:
{
  "id": "set_tier",
  "type": "set",
  "config": {
    "key": "user_tier",
    "value": "{{user.subscription | default:free}}"
  }
}

Store Loop Item

Inside a loop, store the current item for later reference:
{
  "id": "store_current",
  "type": "set",
  "config": {
    "key": "last_processed",
    "value": {
      "id": "{{item.id}}",
      "index": "{{index}}"
    }
  }
}

Initialize State

Set initial values at the start of a flow:
[
  {
    "id": "init_counter",
    "type": "set",
    "config": { "key": "counter", "value": 0 }
  },
  {
    "id": "init_items",
    "type": "set",
    "config": { "key": "collected_items", "value": [] }
  }
]

Accessing Stored Values

After setting a value, access it in subsequent nodes: Set node config:
{
  "key": "user_data",
  "value": { "name": "John", "id": 123 }
}
Access in later nodes:
{{user_data.name}}     -> "John"
{{user_data.id}}       -> 123
{{user_data}}          -> { "name": "John", "id": 123 }

vs Transform Node

SetTransform
Stores a single valueCreates multiple output fields
Simple key-value storageComplex data reshaping
key + value configoutput object config
Use set for simple storage. Use transform when reshaping multiple values.