Automations are built by connecting nodes together. Each node performs a specific function—from
taking inputs to querying data to sending notifications.
Node Categories
| Category | Nodes | Purpose |
|---|
| Core | Input, Conditional, Transform | Control flow and data manipulation |
| Notifications | Slack, Discord, Telegram, Email | Send results to channels |
| Data | Queries, Agents | Query data and process with AI |
Control Node
The Control Node is the starting point of every automation. All steps flow from this anchor point,
except for input nodes. While it’s not a building block you can add or duplicate, it provides
essential controls for running and scheduling your automation. Every automation has exactly one
Control Node.
Actions:
| Action | Description |
|---|
| Run | Execute the automation immediately with the current config |
| Edit | Modify the automation’s nodes and connections |
| Schedule | Set up recurring runs on a schedule |
Scheduling
Click Schedule to configure automated runs:
Schedule options:
| Frequency | Description |
|---|
| Every hour | 24 times per day |
| Every 6 hours | 4 times per day |
| Every day | Once daily |
| Every week | Once weekly |
You can set the specific time and timezone for when runs should occur.
Configuration
When you connect other nodes to your automation (like Input, Slack, or Email nodes), the Control
Node’s configuration panel will show fields for those connected nodes. This is where you:
- Fill in input values that the automation needs
- Configure notification destinations (Slack workspace/channel, email recipients, etc.)
- Set any required parameters from connected nodes
The configuration section dynamically updates based on which nodes are connected to your automation.
Core Nodes
The Input Node is typically the starting point of your automation. It defines what data users must
provide when triggering the workflow.
Use cases:
- Accept a wallet address to analyze
- Take a date range for reporting
- Receive a list of tokens to track
Configuration: | Field | Description | |-------|-------------| | Name | Variable name to
reference in other nodes (e.g., wallet_address) | | Type | Data type: Text, Number, Date,
Boolean, or Array | | Description | Help text shown when running the automation | | Default
| Optional default value | | Required | Whether the input must be provided |
Example:
Conditional
The Conditional Node lets you create if/then logic in your automation. Route data down different
paths based on values from previous nodes.
Use cases:
- Only send alerts if a threshold is exceeded
- Skip email if query returns no results
- Route to different agents based on input type
Configuration: | Field | Description | |-------|-------------| | Condition | Expression that
evaluates to true/false | | Then | Path to follow if condition is true | | Else | Path to
follow if condition is false |
Example:
The Transform Node manipulates data as it flows through your automation. Use it to format outputs,
extract fields, or combine results from multiple sources.
Use cases:
- Format numbers as currency
- Extract specific columns from query results
- Combine data from multiple queries
- Convert data types
Configuration: | Field | Description | |-------|-------------| | Input | Data to transform |
| Operation | Type of transformation | | Output | Resulting data structure |
Example:
Notification Nodes
Slack
The Slack Node delivers automation results to your Slack workspace.
Use cases:
- Daily metrics summaries to a channel
- Alert notifications to specific users
- Formatted reports with charts
Configuration: | Field | Description | |-------|-------------| | Channel | Slack channel or
user to message | | Message | Content to send (supports markdown and variables) | |
Attachments | Optional rich formatting, charts, or files |
Example:
Connect your Slack workspace in Flipspace settings before using this node.
Discord
The Discord Node posts automation results to your Discord server.
Use cases:
- Community alerts and updates
- Bot notifications
- Automated reports to private channels
Configuration: | Field | Description | |-------|-------------| | Webhook URL | Discord
webhook for the target channel | | Message | Content to send (supports Discord markdown) | |
Embeds | Optional rich embeds with formatted data |
Example:
Create a webhook in your Discord server settings and add the URL to the node.
Telegram
The Telegram Node sends automation results via Telegram bot.
Use cases:
- Personal alerts and notifications
- Group updates
- Channel broadcasts
Configuration: | Field | Description | |-------|-------------| | Bot Token | Your Telegram
bot’s API token | | Chat ID | Target chat, group, or channel ID | | Message | Content to
send (supports Telegram markdown) |
Example:
Create a Telegram bot via @BotFather and add it to your target chat.
Email
The Email Node delivers automation results via email.
Use cases:
- Scheduled reports to stakeholders
- Alert notifications
- Data exports and summaries
Configuration: | Field | Description | |-------|-------------| | To | Recipient email
addresses | | Subject | Email subject line (supports variables) | | Body | Email content
(supports HTML and variables) | | Attachments | Optional file attachments (CSV exports, etc.) |
Example:
Data Nodes
Queries
Query Nodes execute SQL and return results for use in subsequent nodes.
Use cases:
- Fetch blockchain data for analysis
- Calculate metrics and aggregations
- Pull data for reports and alerts
Configuration: | Field | Description | |-------|-------------| | Query | SQL query to
execute (can reference variables) | | Timeout | Maximum execution time | | Cache | Whether
to cache results |
Example:
Using variables in queries:
SELECT *
FROM ethereum.core.ez_token_transfers
WHERE from_address = '{{wallet_address}}'
AND block_timestamp >= current_date - {{days_back}}
Output:
rows: Array of result rows
row_count: Number of rows returned
columns: Column metadata
Agents
Agent Nodes use AI to analyze, summarize, or transform data from previous nodes.
Use cases:
- Summarize query results in natural language
- Generate insights from data patterns
- Format data for human-readable reports
- Answer questions about the data
Configuration: | Field | Description | |-------|-------------| | Agent | Which agent to use
| | Prompt | Instructions for what the agent should do | | Input | Data to pass to the agent
|
Example prompt:
Analyze this wallet's transaction history and provide:
1. A summary of activity patterns
2. Notable large transactions
3. Most frequently interacted protocols
Keep the response under 300 words.
The sidebar shows available agents. Select one based on your use case—different agents have
different skills and expertise.
Connecting Nodes
Nodes are connected by dragging from output handles to input handles:
Tips:
- One output can connect to multiple inputs (fan-out)
- Use Conditional Nodes to create branches
- Use Transform Nodes to reshape data between incompatible nodes
Next Steps