Sim

Variables

The Variables block updates workflow variables during execution. Variables must first be initialized in your workflow's Variables section, then you can use this block to update their values as your workflow runs.

Variables Block

Access variables anywhere in your workflow using <variable.variableName> syntax.

Overview

The Variables block enables you to:

Update workflow variables: Change variable values during execution

Store dynamic data: Capture block outputs into variables

Maintain state: Track counters, flags, and intermediate results

How to Use Variables

1. Initialize in Workflow Variables

First, create your variables in the workflow's Variables section (accessible from the workflow settings):

customerEmail = ""
retryCount = 0
currentStatus = "pending"

2. Update with Variables Block

Use the Variables block to update these values during execution:

customerEmail = <api.email>
retryCount = <variable.retryCount> + 1
currentStatus = "processing"

3. Access Anywhere

Reference variables in any block:

Agent prompt: "Send email to <variable.customerEmail>"
Condition: <variable.retryCount> < 5
API body: {"status": "<variable.currentStatus>"}

Example Use Cases

Loop Counter and State

Scenario: Track progress through loop iterations

  1. Initialize in workflow: itemsProcessed = 0, lastResult = ""
  2. Loop iterates over items
  3. Inside loop: Agent processes current item
  4. Inside loop: Variables updates itemsProcessed = <variable.itemsProcessed> + 1
  5. Inside loop: Variables updates lastResult = <agent.content>
  6. Next iteration: Access <variable.lastResult> to compare with current result

Retry Logic

Scenario: Track API retry attempts

  1. Initialize in workflow: retryCount = 0
  2. API block attempts request
  3. If failed, Variables increments: retryCount = <variable.retryCount> + 1
  4. Condition checks if <variable.retryCount> < 3 to retry or fail

Dynamic Configuration

Scenario: Store user context for workflow

  1. Initialize in workflow: userId = "", userTier = ""
  2. API fetches user profile
  3. Variables stores: userId = <api.id>, userTier = <api.tier>
  4. Agent personalizes response using <variable.userTier>
  5. API uses <variable.userId> for logging

Outputs

  • <variables.assignments>: JSON object with all variable assignments from this block

Best Practices

  • Initialize in workflow settings: Always create variables in the workflow Variables section before using them
  • Update dynamically: Use Variables blocks to update values based on block outputs or calculations
  • Use in loops: Perfect for tracking state across iterations
  • Name descriptively: Use clear names like currentIndex, totalProcessed, or lastError