Blocks
The building components of your AI workflows
Blocks are the building components you connect together to create AI workflows. Think of them as specialized modules that each handle a specific task—from chatting with AI models to making API calls or processing data.
Core Block Types
Visual Workflow AI provides seven core block types that handle the essential functions of AI workflows:
Processing Blocks
- Agent - Chat with AI models (OpenAI, Anthropic, Google, local models)
- Function - Run custom JavaScript/TypeScript code
- API - Connect to external services via HTTP requests
Logic Blocks
- Condition - Branch workflow paths based on boolean expressions
- Router - Use AI to intelligently route requests to different paths
- Evaluator - Score and assess content quality using AI
Output Blocks
- Response - Format and return final results from your workflow
Create powerful AI agents using any LLM provider with customizable system prompts and tool integrations.
Connect to any external API with support for all standard HTTP methods and customizable request parameters.
Add a condition to the workflow to branch the execution path based on a boolean expression.
Execute custom JavaScript or TypeScript code within your workflow to transform data or implement complex logic.
Intelligently direct workflow execution to different paths based on input analysis.
Assess content using customizable evaluation metrics and scoring criteria across multiple dimensions.
Send a response back to the caller with customizable data, status, and headers.
How Blocks Work
Each block has three main components:
Inputs: Data coming into the block from other blocks or user input Configuration: Settings that control how the block behaves Outputs: Data the block produces for other blocks to use
Receive Input: Block receives data from connected blocks or user input
Process: Block processes the input according to its configuration
Output Results: Block produces output data for the next blocks in the workflow
Connecting Blocks
You create workflows by connecting blocks together. The output of one block becomes the input of another:
- Drag to connect: Drag from an output port to an input port
- Multiple connections: One output can connect to multiple inputs
- Branching paths: Some blocks can route to different paths based on conditions
Common Patterns
Sequential Processing
Connect blocks in a chain where each block processes the output of the previous one:
User Input → Agent → Function → Response
Conditional Branching
Use Condition or Router blocks to create different paths:
User Input → Router → Agent A (for questions)
→ Agent B (for commands)
Quality Control
Use Evaluator blocks to assess and filter outputs:
Agent → Evaluator → Condition → Response (if good)
→ Agent (retry if bad)
Block Configuration
Each block type has specific configuration options:
All Blocks:
- Input/output connections
- Error handling behavior
- Execution timeout settings
AI Blocks (Agent, Router, Evaluator):
- Model selection (OpenAI, Anthropic, Google, local)
- API keys and authentication
- Temperature and other model parameters
- System prompts and instructions
Logic Blocks (Condition, Function):
- Custom expressions or code
- Variable references
- Execution environment settings
Integration Blocks (API, Response):
- Endpoint configuration
- Headers and authentication
- Request/response formatting