Workflows
Workflows let you build complex data pipelines visually by connecting nodes on a canvas. Chain together database queries, AI calls, code execution, and data transformations.
Creating a Workflow
Section titled “Creating a Workflow”- Navigate to Workflows from the sidebar menu
- Click New Workflow
- Give your workflow a name
The Workflow Canvas
Section titled “The Workflow Canvas”The canvas is a drag-and-drop interface for building pipelines:
- Nodes - Individual processing steps
- Edges - Connections between nodes showing data flow
- Mini-map - Overview for navigating large workflows
Navigation
Section titled “Navigation”- Pan - Click and drag the canvas
- Zoom - Scroll wheel or pinch gesture
- Select - Click a node to select it
- Multi-select - Shift+click or drag a selection box
Node Types
Section titled “Node Types”Database Query Node
Section titled “Database Query Node”Execute SQL queries against your connected data sources.
Configuration:
- Select a data source
- Write your SQL query
- Define input parameters
- Output: Query results as a table
Python Code Node
Section titled “Python Code Node”Run Python code in an isolated environment.
Configuration:
- Write Python code in the Monaco editor
- Access inputs from previous nodes
- Use pandas, numpy, matplotlib
- Output: Code execution results
Template Node
Section titled “Template Node”Process text templates with Jinja2.
Configuration:
- Write your template
- Map inputs to template variables
- Output: Rendered text
AI Model Node
Section titled “AI Model Node”Send prompts to an AI model and get responses.
Configuration:
- Select a model
- Configure temperature and other settings
- Define the prompt (can include outputs from previous nodes)
- Output: AI response
Connecting Nodes
Section titled “Connecting Nodes”- Hover over a node to see connection handles
- Drag from an output handle to an input handle
- The connection shows data will flow between nodes
Data Flow
Section titled “Data Flow”- Data flows from left to right (or top to bottom)
- Each node receives inputs from connected upstream nodes
- Outputs are passed to connected downstream nodes
Properties Panel
Section titled “Properties Panel”Click a node to open its properties in the side panel:
- Node settings - Configure the node’s behavior
- Code editor - Edit SQL or Python code
- Input mapping - Connect inputs from other nodes
- Output preview - See sample output data
Running Workflows
Section titled “Running Workflows”Execute All
Section titled “Execute All”Click Run to execute the entire workflow from start to finish.
Execute Node
Section titled “Execute Node”Right-click a node and select Execute to run just that node (and its dependencies).
Execution Order
Section titled “Execution Order”Nodes execute based on their connections:
- Nodes with no inputs run first
- Then nodes whose inputs are satisfied
- Continues until all nodes complete
Saving and Loading
Section titled “Saving and Loading”- Workflows auto-save as you work
- Use Export to download a workflow definition
- Use Import to load a saved workflow
Best Practices
Section titled “Best Practices”- Start simple - Build and test small pieces first
- Name nodes clearly - Use descriptive names for easy understanding
- Test incrementally - Execute nodes individually as you build
- Handle errors - Add error handling in code nodes
- Document - Add comments in code nodes explaining logic
Example: Sales Report Workflow
Section titled “Example: Sales Report Workflow”A typical workflow might look like:
[Database Query] → [Python Transform] → [AI Summary] → [Template Output] ↓ ↓ ↓ ↓ Fetch sales Calculate KPIs Generate insights Format report- Database Query - Fetch raw sales data
- Python Transform - Calculate metrics and trends
- AI Summary - Have AI analyze the data
- Template Output - Format everything into a report
Troubleshooting
Section titled “Troubleshooting”Node Won’t Execute
Section titled “Node Won’t Execute”- Check all required inputs are connected
- Verify upstream nodes completed successfully
- Check for errors in node configuration
Data Not Passing Through
Section titled “Data Not Passing Through”- Verify connection handles are properly linked
- Check data types match between nodes
- Look at node output preview for issues
Code Errors
Section titled “Code Errors”- Check Python syntax
- Verify imported libraries are available
- Look at error messages in execution results