
What a traditional chatbot actually is
“Chatbot” describes a conversational interface, so the term is broader than a single architecture. In this comparison, a traditional chatbot means a flow-based system whose possible next steps are mostly specified ahead of time.
A booking bot might ask for a location, retrieve available appointments, and confirm the selected slot. That is a multi-step workflow with tool access. It does not become an autonomous agent just because an API is involved.
The limitation appears when the right next step depends on circumstances the flow does not cover. If the requested service needs a different appointment length at one location, the flow must account for that condition or hand over to a person.
A retrieval-based question-answering system is another design. It finds relevant documents before producing an answer. Retrieval can also be part of a larger workflow or agent, so it is not a universal ceiling on what a chatbot can do.
What an AI agent changes
An AI agent can decide what to do next using the task, instructions, available tools, and results of earlier steps. In Anthropic's architectural distinction, workflows follow predefined code paths while agents dynamically direct their process and tool use.
The feedback loop is important. A lookup may reveal that the original plan will not work. The agent can choose another permitted step, ask for missing information, or stop. It should not continue indefinitely merely because it has tools.
The ReAct research explored interleaving reasoning and actions so observations can inform subsequent steps. Its benchmark results are evidence about those research tasks, not a promised resolution rate for a customer-support deployment.
A support example
Suppose a fictional customer says, “I need to change the delivery address, but I think the order has already shipped.”
A fixed workflow can inspect shipment status and route the request to a predefined branch. An agent may select the relevant lookup, interpret the result against the policy, and decide whether more information or human help is needed.
Both designs need the same safeguards: the right customer's order, the relevant policy, and permission for any change. If the order has shipped and the available tools cannot change the address, a reliable system explains the limit. It does not invent a successful update.
Compare the control flow, not the marketing label
| Dimension | Predefined workflow | Agent-directed workflow |
|---|---|---|
| Next step | Chosen by configured branches | Chosen from permitted options using task context and results |
| State | Can retain fields and conversation state | Can use accumulated task context within the implementation's limits |
| Tools | Can call APIs in a programmed sequence | Can select and repeat tool calls when appropriate |
| Error handling | Configured retries or fallback paths | May revise the plan, stop, or ask for help |
| Main strength | A known process that benefits from consistency | A task whose necessary steps vary |
| Main risk | Missing branches or stale assumptions | Wrong decisions or compounding errors |
| Completion evidence | Check the actual system result | Check the actual system result |
A model deciding its next step is not inherently more reliable than a well-designed fixed flow. The extra flexibility needs to justify its evaluation and operational costs.
One product can offer both
Chatling's documentation distinguishes flow-based chatbots from AI agents. That is a useful example of a vendor exposing different designs for different needs.
Do not generalize one vendor's terminology into a rule that all chatbots lack memory, actions, or handoff. Ask what the particular product does when a lookup fails, a customer changes their request, or an action needs approval.
For an existing support operation, keeping a reliable form or fixed eligibility check can make sense even when an agent handles the surrounding conversation.
Inspect an eesel agent workflow through eesel CLI
The eesel CLI provides another way to operate the same eesel teammate available in the dashboard. Commands return JSON, so a person can inspect the output directly or let Claude Code, Cursor, or Codex help with a specific setup or review task.
This is useful when you want to see more than the final chat answer. Inspect what data and actions are available, what starts the work, and whether an action actually completed. The CLI does not expose a complete proof of every internal reasoning step, and activity alone does not prove the customer was helped.
Establish the workspace and permitted scope
For an existing account, log in first. These examples require Node.js 18.17 or newer:
npx @eesel/cli login
npx @eesel/cli whoami
npx @eesel/cli agents
Replace AGENT_ID with the intended teammate's ID:
npx @eesel/cli integrations --agent AGENT_ID
npx @eesel/cli instructions --agent AGENT_ID
npx @eesel/cli automations --agent AGENT_ID
Check which helpdesk or store is connected and what the current instructions say about address changes. Review existing enabled automations before changing connections or access. A running workflow may use newly available information.
A connection is not the same as authorization for every operation. For example, eesel's Shopify documentation distinguishes a public storefront crawl from a full admin-approved connection. Even a full connection does not mean every imaginable order change is a supported action. Check the documented action list and permissions for your integration.
Test the decision before a real action
Start with a fictional case after restricting consequential actions in the dashboard:
npx @eesel/cli new --name "workflow-review" --agent AGENT_ID
npx @eesel/cli chat "For a fictional customer requesting a delivery-address change after shipment, explain what evidence and policy checks are needed. Identify when a person must take over. Do not access real customer records or perform changes." --agent AGENT_ID
CLI chat can invoke actions. The prompt describes the intended task; it is not an enforced permission boundary.
Check whether the response distinguishes an address-change request from a completed address change. It should identify missing evidence and unsupported operations rather than promise a result. This fictional test evaluates the explanation, not the actual lookup or update.
If your policy is missing, npx @eesel/cli files upload ./delivery-policy.pdf --agent AGENT_ID adds an approved local document as knowledge. Replace the path with your file. It does not grant permissions or change standing instructions.
Use npx @eesel/cli instructions --help to inspect current editing options when the saved rules need updating. Read the instructions back and retest in a fresh conversation; an answer corrected in one chat may not persist elsewhere.
Separate a proposed action from a completed one
npx @eesel/cli activity --agent AGENT_ID
npx @eesel/cli approvals --agent AGENT_ID
A proposed change, an action held for approval, and a completed action are different states. Compare the activity with the actual helpdesk or store record in a controlled test of the supported workflow. If the action failed or remains held, the reply should not say it succeeded.
A coding agent can help by following a narrow instruction: “Inspect this eesel teammate's instructions, automations, and activity for the test case. Report unsupported promises and actions awaiting approval. Do not change configuration.”
That request does not alter eesel permissions. For scripts, scope the agent explicitly, keep EESEL_API_TOKEN secret, and check that EESEL_API_URL points to the intended eesel API environment. The --dry-run option previews a server request without sending it; it does not simulate customer outcomes or validate delivery.
Resolution is not the same as no escalation
A customer who stops replying may be satisfied, distracted, or frustrated. A conversation that never reached a human is not automatically a resolved problem.
Before comparing systems, define what counts as success for the same set of cases. For an address-change request, success might be a verified permitted update or a correct explanation and useful handoff when an update is unavailable. Do not count a false promise as success merely because no human joined.
Track:
- Correct answers and completed permitted actions.
- Reopened cases and contacts through another channel.
- Human correction and review time.
- Unsupported claims and failed actions.
- Handoff quality and customer feedback.
Use a representative pilot instead of importing another vendor's resolution percentage into your forecast. An agent's performance depends on the work, knowledge, integrations, and permissions you give it.
Why confident answers still need evidence
Both a stale scripted response and a generated answer can mislead. The agent introduces another risk when it can act on a mistaken interpretation.
A general policy such as “we support all models” is not adequate evidence that a particular device is supported. Check the relevant product information, define how to handle missing data, and require a person for the cases your policy places outside automation.
Confidence is a signal, not proof of correctness. Similarly, a human-approval setting is useful only if the reviewer sees enough context to make a decision. Test the failure path as carefully as the successful one.
When a simpler chatbot is the right choice
A fixed intake form or a small set of predictable paths may be all you need. Agent-directed work becomes worth evaluating when the required steps vary and the system must use new evidence to choose its next move.
Anthropic's guidance recommends adding complexity only when it improves outcomes, recognizing the latency, cost, and error risks of agentic systems. A fixed workflow can be simpler to test; an agent can handle variation that would otherwise require many branches. Measure that tradeoff on your cases.
Neither architecture has a universal token multiplier or cost advantage. Include usage, maintenance, and remaining human work. eesel pricing lists regular support-ticket and chat-session tasks at $0.40 each on pay as you go, not $0.40 per guaranteed resolution. Pay as you go has no platform fee, monthly minimum, or per-seat fee.
Try one workflow you can verify
Choose a support task with a clear end state and a known exception. Inspect the configuration, test the explanation, then verify the supported action in the real channel with appropriate controls.
Try eesel and use eesel CLI to operate and inspect that teammate from your terminal or coding agent. Your support lead can review the same workspace in the dashboard. The useful difference is not how confidently the system talks, but whether it reaches a valid result and knows when to stop.
Frequently Asked Questions
What is the difference between an AI agent and a traditional chatbot?
Can a traditional chatbot take actions?
Does an agent loop guarantee task completion?
How can eesel CLI help evaluate an agent?
Does CLI dry-run test the customer conversation?

Article by
Alicia Kirana Utomo
Kira is a writer at eesel AI with a Computer Science background and over a year of hands-on experience evaluating AI-powered customer service tools. She focuses on breaking down how helpdesk platforms and AI agents actually work so that support teams can make better buying decisions.



