Core Blocks
Core blocks are the fundamental building blocks of Ziggy flows. They provide essential flow control, data processing, and execution capabilities.
Flow Control Blocks
- Receiver - Accept incoming data and requests
- Terminator - End flow execution
- Branch - Conditional flow routing
- Branch-To-Subflow - Call subflows conditionally
- Subflow - Reusable flow components
Data Processing Blocks
- Iterator - Loop through data collections
- Joiner - Combine multiple data streams
- Splitter - Divide data into multiple streams
- Merger - Merge data from multiple sources
- Collector - Gather data from multiple inputs
- Batch-End - Control batch processing
Data Management Blocks
- Variable-Set-Get - Set and retrieve variables
- Has-Data - Check if data exists
- Key-Filter - Filter data by keys
Execution Blocks
- Javascript - Execute custom JavaScript code
- Console-Message - Output debug messages
- Commander Block - Execute system commands
Utility Blocks
- Annotation - Add documentation to flows
- Test Data - Generate test data
- Sinkhole - Discard unwanted data
Block Combinations
Core blocks are designed to work together seamlessly. Common patterns include:
- Data Flow: Receiver → Processing → Output
- Conditional Logic: Branch → Different Paths → Merger
- Batch Processing: Iterator → Processing → Batch-End
- Error Handling: Try → Catch → Error Processing
Best Practices
- Use Receiver blocks as entry points
- Implement proper error handling with conditional logic
- Use Subflows for reusable functionality
- Document flows with Annotation blocks
- Test flows with Test Data blocks