docs

Workflows

Workflows are the brain of your trading agent. They define a sequence of steps—fetching data, making decisions, and executing trades. You build them by dragging connecting nodes on a canvas.

Start
ScheduleManual or Schedule
BTC Price
Fetch BTC/USD
Check Price
< 50,000
Alert Me
Send notification

The Editor

The workflow editor is where you build your strategies. It has three main parts:

  1. Canvas: The infinite space where you place nodes.
  2. Node Palette: The left sidebar containing all available node types (Data, Logic, Actions).
  3. Properties Panel: The right sidebar where you configure the selected node.

Building Your First Flow

Let's build a simple Bitcoin Price Alert.

1. Start with a Trigger

Every workflow begins with a Workflow Trigger. You can configure it to run on a schedule (e.g., every 5 minutes) or manually.

Start
ManualRun manually

2. Fetch Data

Click the + button on the Start node (or drag from the sidebar) to add a Price Data node. This node fetches real-time market data.

Start
ManualRun manually
Price Data
Select Asset

3. Configure the Node

Click the Price Data node to open its properties. Here you set the asset symbol (e.g., BTC/USD) and data source.

Bitcoin Data
Fetching BTC/USD

Configuration

Asset

4. Connect an Action

Finally, add an action. Let's send an email if the price is fetched successfully. Connect the Price Data output to an Email Notification node.

Bitcoin Data
Email Alert
recipient@example.com

5. Using Data from Previous Nodes

Notice the connection line? It carries data. Each edge has a label (like price_data) that you use to reference the output of the connected node.


Dynamic Fields & Expressions

Most node fields support dynamic mode — letting you reference data from upstream nodes instead of hardcoding values. This is how nodes talk to each other.

The f(x) Toggle

Every compatible field has an f(x) button. Click it to switch between:

  • Fixed mode: A static value like 0.01 or BTC/USD
  • Expression mode: A dynamic reference like {priceData.close} that resolves at runtime
Analyze
Claude Sonnet
Buy Order
Selected
Buy Order — Configuration
Click f(x) to toggle
from analysis edge
from analysis edge

Expression Syntax

Use curly braces to reference data from connected nodes:

ExpressionMeaning
{priceData}The entire output object from the "priceData" edge
{priceData.close}A specific field from that output
{priceData[0].close}First element of an array field
{analysis.signal}Nested access into another node's output

The edge label is the key. When you connect two nodes, the edge gets a label (e.g., priceData, analysis, input). That label becomes the variable name you use in expressions.

Where to Use Expressions

  • Exchange Order: Set amount, limit price, or symbol dynamically based on upstream analysis
  • LLM Prompts: Inject live data into prompts — e.g., "Analyze this price: {priceData.close}"
  • Conditional: Reference values to compare against thresholds
  • Notifications: Include dynamic data in email subjects, Slack messages, etc.

Autocomplete

In prompt fields (LLM, Function), the editor provides autocomplete as you type inside {}. It shows all available edge labels and their fields, so you don't need to guess the structure.


Running the Workflow

Once connected, click Run in the top toolbar.

  • Live Logs: A panel will slide up showing real-time execution logs.
  • Node Status: Nodes turn blue (running), green (success), or red (failed) as they execute.
  • Outputs: Click any completed node to see exactly what data it produced.

Next Steps

Now that you understand the basics: