BuildConcepts
Agent · Workflow · Chatflow
Three primitives, when to use each, and what not to do
Evose offers three building primitives. Their capabilities overlap, but choosing the wrong one will make your build over-complex or hard to maintain.
One-line Distinction
| Primitive | Form | Mental model |
|---|---|---|
| Agent | Conversation | "I talk to a role and it responds." |
| Workflow | Process | "I provide input, the system runs predefined steps to produce output." |
| Chatflow | Conversation + orchestration | "I talk to a conversation flow that has node-based orchestration." |
Chatflow is the "advanced form" of Agent — when a conversation needs multi-node decisions, upgrade a prompt-only Agent to a Chatflow Agent.
Decision Tree
Detailed Comparison
| Dimension | Prompt Agent | Chatflow Agent | Workflow |
|---|---|---|---|
| Form | Single prompt + tools | Visual node canvas + chat | Visual node canvas + I/O |
| Trigger | User chat | User chat | Manual / scheduled / API / webhook / conditional |
| State | Single- or multi-turn context | Multi-turn + node state | Single execution or scheduled |
| Nodes | None (only LLM + tools) | 9 groups, 19 nodes (incl. interaction) | 8 groups, 17 nodes (no interaction) |
| Typical scenarios | Customer service / assistant / translation | Multi-turn form intake / complex CS / guided dialog | Article generation / data ETL / report automation |
| Learning curve | 5 minutes | 30 minutes | 30 minutes |
Chatflow's 9 Node Groups
| Group | Typical nodes | Purpose |
|---|---|---|
| AI | LLM · Knowledge retrieval | Call models, do RAG |
| Logic | Condition · Batch · Loop · Intent | Branching and looping |
| Data | Code · Template · Variable · Document extraction · Parameter extraction | Process structured data |
| Network | HTTP | Call external APIs |
| App | Agent · Workflow | Call other apps |
| Tool | MCP · Plugin · Marketplace tool | Plug in external capabilities |
| Interaction (Chatflow only) | Direct reply · Form input | Interact with the user |
| End | End | Terminate |
Workflow has the same node structure but no Interaction group (it doesn't talk to a user in real time).
"Apps Calling Apps" Is Allowed
- A Workflow can call an Agent for a single reasoning step
- A Chatflow can trigger a Workflow as a background task
- A Workflow can orchestrate multiple Agents in series
This lets you layer abstractions: each base primitive owns one responsibility, while the upper-layer flow does orchestration.
When to Upgrade or Split
| Symptom | Signal | Suggestion |
|---|---|---|
| Prompt grows too long (> 500 chars) | Complexity overflow | Upgrade to Chatflow, split decisions into nodes |
| One Workflow has > 20 nodes | Hard to maintain | Split into sub-Workflows, orchestrate from a parent |
| The same prompt is reused in many places | Duplication | Extract into a Skill |
| The same external API is called in many places | Duplication | Extract into an organization-level Tool |
Don't Do This
- Agent doing heavy data processing — stuffing "process a giant CSV" into an Agent. That's a Workflow scenario.
- Workflow doing dialog — back-and-forth user interaction shouldn't be forced into a fixed flow.
- Chatflow for trivial prompts — don't draw a 10-node diagram for something a single prompt solves.
- Cross-app loops nested deeply — Workflow → Agent → Workflow → Agent will make Traces unreadable and costs hard to attribute.
Next Steps
- Picked Agent → Create an Agent
- Picked Workflow → Create a Workflow
- Want real-world scenarios → Customer service bot · Marketing automation