Flow Steps
Flow steps are the building blocks of your workflows. After a trigger activates your flow, steps execute in sequence to accomplish your business logic. Each step performs a specific function—from running AI agents to transforming data to making decisions.Agent-Centric Design: QuivaWorks flows are designed to be agent-first. Start with an AI agent, attach tools (connectors) to it, and add supporting steps as needed. This approach maximizes the intelligence and autonomy of your workflows.
Step Types
Agents
Run AI agents with tools and context
Condition
Branch flows with if/then/else logic
HTTP Request
Call external APIs and services
Map
Transform and iterate over data
Rules
Apply business rules and calculations
Human in the Loop
Add manual approval steps
Delay
Pause workflow execution
Eval
Execute custom JavaScript
Functions
Use utility functions
How Steps Work
Steps execute sequentially after your trigger fires. Each step:- Receives input from the trigger or previous steps
- Performs its function (run agent, make decision, transform data, etc.)
- Outputs results that subsequent steps can use
- Passes control to the next step
The Agent-Centric Approach
Start with agents, not automation. Traditional workflow tools force you to map out every step explicitly. QuivaWorks is different—you delegate work to intelligent agents and let them figure out the details.Traditional Approach (Step-by-Step)
Agent-Centric Approach
Common Step Patterns
Agent → Condition → Action
Agent → Condition → Action
Let agent make decision, branch based on outcome, take action.Use when: Agent provides intelligence, but you need explicit control over outcomes.
Map → Agent → Map
Map → Agent → Map
Transform data before agent, process with agent, format after.Use when: Agent needs clean input or output needs specific structure.
Rules → Agent
Rules → Agent
Evaluate business rules first, then let agent handle complexity.Use when: Hard requirements must be met before agent processes.
Agent → Human in Loop → Agent
Agent → Human in Loop → Agent
Agent proposes, human approves, agent executes.Use when: High-stakes decisions need human oversight.
HTTP → Map → Agent
HTTP → Map → Agent
Fetch external data, transform it, let agent process.Use when: Agent needs context from external systems.
Delay → Agent
Delay → Agent
Wait for time-based conditions, then process with agent.Use when: Time-based workflows or retry logic.
Step Best Practices
Start Simple
Begin with one agent. Add steps only when needed. The simpler your flow, the easier to maintain.
Let Agents Decide
Don’t hard-code logic that agents can figure out. Use Conditions only for business-critical branching.
Name Steps Clearly
Use descriptive names: “Analyze Customer Request” not “Agent 1”. Makes flows self-documenting.
Test as You Build
Test each step before adding the next. Catch issues early, iterate quickly.
Handle Errors
Add error handling for critical steps. Use Conditions to route failures appropriately.
Use Variables
Reference previous step outputs with variables. Keep data flowing smoothly.
When to Use Each Step
| Step Type | Use When | Don’t Use When |
|---|---|---|
| Agents | Need intelligence, decision-making, or tool usage | Simple data transformation |
| Condition | Need explicit branching you control | Agent can decide the path |
| HTTP Request | Calling external APIs directly | Agent should interpret API data |
| Map | Transforming data structure or iterating arrays | Agent can handle transformation |
| Rules | Complex business calculations or eligibility checks | Simple if/then (use Condition) |
| Human in Loop | High-stakes decisions need approval | Low-risk automated processes |
| Delay | Time-based workflows or retry logic | Immediate execution needed |
| Eval | Custom JavaScript logic not available elsewhere | Standard operations (use Functions) |
| Functions | Common utilities (date, string, array operations) | Complex logic (use Eval or Agent) |
Step Variables
Every step outputs data you can reference in subsequent steps. Use the variable syntax to access step outputs:Learn more about variable syntax in Variable Mapping