Getting Started
Building workflows with the Noxus SDK is a programmatic approach to creating visual AI automations. You define nodes, configure them, and connect them together to create sophisticated data processing pipelines.Basic Workflow Structure
Every workflow starts with aWorkflowDefinition:
Adding Nodes
Nodes are the building blocks of your workflow. Each node performs a specific function:Node types are case-sensitive and must match exactly. Use
client.get_nodes()
to see all available node types.Node Configuration
Each node type has specific configuration options. Here are some common patterns:Input Nodes
AI Model Nodes
Data Processing Nodes
Connecting Nodes
Connections define how data flows between nodes. The basic pattern is:Understanding Input Types
Different nodes have different input requirements:Simple Inputs
Simple Inputs
Most nodes have a single input that accepts the previous node’s output:
Variable Inputs
Variable Inputs
Some nodes (like TextGenerationNode) accept multiple named variables:
# AI node with multiple variables ai_node =
Complete Workflow Example
Here’s a complete example that creates a document analysis workflow:Advanced Connection Patterns
Linear Chains
For simple sequential processing:Parallel Processing
Process data through multiple paths simultaneously:Conditional Logic
Create branching logic based on conditions:Validation and Testing
Validate Your Workflow
Before saving, validate your workflow structure:Test with Sample Data
Test your workflow with sample inputs:Best Practices
Node Naming
Node Naming
Use descriptive labels for your nodes:
Template Design
Template Design
Create clear, well-structured templates:
Error Handling
Error Handling
Plan for potential failures:
python # Add validation nodes validator = workflow_def.node("ConditionalNode").config( condition="not_empty", condition_type="text_validation" ) # Add fallback paths error_handler = workflow_def.node("TextGenerationNode").config( template="Unable to process input. Please provide valid text content." ) workflow_def.link(validator.output("false"), error_handler.input()) Performance Optimization
Performance Optimization
Optimize for efficiency:
Troubleshooting Common Issues
Connection Errors
Connection Errors
Problem: Nodes won’t connect or connections failSolutions:
- Check that output and input types are compatible
- Verify node labels and variable names are correct
- Ensure required node configurations are set
Template Variables
Template Variables
Problem: Template variables not being replacedSolutions:
- Use exact variable names:
((Variable Name)) - Check that input connections use the correct variable key
- Verify node labels match template variables
Node Configuration
Node Configuration
Problem: Nodes not behaving as expectedSolutions:
- Check required configuration parameters
- Verify model names and settings
- Test with minimal configurations first
Next Steps
Running Workflows
Learn how to execute workflows and handle results
Node Types Reference
Explore all available node types and their configurations
Workflow Examples
See complete workflow examples for common use cases
Advanced Patterns
Learn advanced workflow design patterns and techniques