Blocks
Blocks are the units of execution in a workflow. Each block does one job, then passes output to the next block.
Core Block Categories
Input and Output
- Input: Defines runtime payload fields
- Text / JSON: Shapes output or intermediate data
- HTTP: Calls external APIs
AI Processing
- LLM / Reasoning: Generate and analyze text
- Web Search / Scrape: Gather live external context
- JavaScript: Custom logic when block config is not enough
If logic must be decided dynamically by an agent at runtime, use Agent Code Execution instead of a predefined workflow block.
Control Flow
- Conditional / Continue If / Stop If: Branch workflow logic
- Delay: Time-based pauses
- Reduce: Iterate and aggregate across lists
Data and Integrations
- Query Collection Table: Retrieve internal knowledge
- Save Document to Table: Persist workflow output
- Slack / Discord / Twilio / CRM blocks: Push actions into tools
Choosing the Right Block
Use this quick rule:
- Need data in, data out with predictable logic: standard blocks
- Need judgment or generation: LLM or Reasoning block
- Need side effects in external tools: integration blocks
- Need custom edge-case logic: JavaScript block
Block Design Rules
- Keep each block focused on one responsibility
- Name blocks by intent, not by tool
- Avoid long implicit chains, keep transformations explicit
- Add guard conditions before expensive or irreversible actions
Next Steps
- Logic and State: Connect outputs safely across blocks
- Jinja Templates: Build dynamic block inputs
- Console: Inspect each block run in real time
Built with ❤️ by Scout OS
Last updated on