Automations are built by connecting blocks together. Each block performs a specific function—from
taking inputs to querying data to sending notifications.
Block Categories
| Category | Blocks | 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 |
Core Blocks
The Input block 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 blocks (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 block lets you create if/then logic in your automation. Route data down different
paths based on values from previous blocks.
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 block 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 Blocks
Slack
The Slack block 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 block.
Discord
The Discord block 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 block.
Telegram
The Telegram block 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 block 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 Blocks
Queries
Query blocks execute SQL and return results for use in subsequent blocks.
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 blocks use AI to analyze, summarize, or transform data from previous blocks.
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 Blocks
Blocks are connected by dragging from output handles to input handles:
Tips:
- One output can connect to multiple inputs (fan-out)
- Use Conditional blocks to create branches
- Use Transform blocks to reshape data between incompatible blocks
Next Steps