Yes, an AI chatbot can process refunds and change orders directly, but doing so safely requires giving the model a defined set of callable tools with explicit business rules rather than letting it reason freely about what action to take. In practice this means the chatbot calls a refund or order-modification API that itself enforces eligibility rules, such as return windows and item conditions, so the AI's job is to gather the right information and decide whether to call the tool, not to independently judge policy compliance. Setting hard limits, such as an auto-approval cap on refund amount with anything above it routed to a human, and full audit logging of every action taken, keeps risk bounded even as the bot handles more transaction types. Many teams roll this out in stages, starting with low-risk actions like address changes or order status updates, then adding refunds once the audit logs show consistent, correct behavior. Customer confirmation before executing an irreversible action, shown clearly in the conversation, reduces both errors and disputes. Nanobase AI builds these transactional workflows with policy enforcement in the backend tool rather than trusting the model's judgment alone.
The model decides whether to act; the backend decides if the action is allowed
A common design mistake in transactional chatbots is asking the language model to also enforce business rules, checking eligibility windows, verifying spending caps, deciding if a request looks legitimate, when the model's actual job should be narrower: gathering the right information and deciding which tool to call. Business rule enforcement belongs in the backend tool the model calls, not in the model's reasoning, because a backend check cannot be talked out of its constraints the way a prompt instruction sometimes can under unusual phrasing.
Tiering actions by risk
| Risk tier | Example action | Control |
|---|---|---|
| Low | Order status lookup, address change on an unshipped order | Auto-approved, logged |
| Medium | Refund under a set dollar cap, return label issuance | Auto-approved with hard cap enforced by the tool |
| High | Refund above the cap, subscription cancellation | Routed to a human, AI pre-fills the request |
| Critical | Contract changes, enterprise account actions | Human only, AI provides context and drafts nothing binding |
Starting with only the low and medium tiers live, and routing everything above to a human, is how most teams safely expand a chatbot's action-taking capability without a single high-risk mistake undermining trust in the whole system.
What a well-designed tool definition looks like
A tool the model calls should expose only the parameters it needs and enforce its own limits regardless of what the model requests. A simplified example for a refund tool:
tool: process_refund
parameters:
order_id: string
amount: number
reason: string
enforced_by_backend:
- amount <= order.eligible_refund_amount
- amount <= auto_approval_cap
- order.return_window_open == true
- not already_refunded(order_id)
on_limit_exceeded: route_to_human_queue
The model's role is populating order_id, amount and reason correctly based on the conversation; every constraint that determines whether the refund actually happens is checked by the backend, which means even a model that misjudges a situation cannot push a refund through that violates policy.
Building trust incrementally through audit data
Full audit logging of every tool call, its inputs, the backend's decision, and the outcome, is what lets a team expand from low-risk to medium-risk actions with confidence rather than guessing. Reviewing a sample of logged actions weekly during the first months after enabling a new action type catches both model mistakes, calling the right tool with wrong parameters, and rule gaps, a policy edge case the backend enforcement did not anticipate, before either becomes a pattern. Requiring explicit customer confirmation before executing an irreversible action, shown clearly in the conversation rather than assumed from context, further reduces both errors and later disputes.
Frequently asked questions
Can the model be trusted to know when a request looks fraudulent?
Not reliably on its own; fraud signals are better handled by existing fraud detection systems your backend already uses, with the chatbot's tool simply respecting whatever the fraud system flags rather than the model trying to judge legitimacy itself.
Should every transactional action require customer confirmation?
Irreversible or higher-value actions should, shown as a clear summary before execution, while low-risk, easily reversible actions like an address update can proceed without an extra confirmation step to keep the conversation efficient.
How do we decide the auto-approval cap for refunds?
Base it on historical refund data, the amount that covers a defined share of typical requests at acceptable risk, and revisit it after a few months of audit log data rather than setting it once and leaving it fixed.
What happens if the tool call fails partway through?
The tool should be designed to fail safely and atomically, either completing fully or not at all, with the failure logged and the conversation informing the customer honestly rather than claiming success when the backend action did not actually complete.
How Nanobase AI helps
Nanobase AI builds these transactional workflows with policy enforcement in the backend tool rather than trusting the model's judgment alone, including the risk tiering, audit logging and human routing for anything above the auto-approval threshold. This tool design work is a core part of the broader chatbot versus AI agent decision and connects to MCP-based tool integration for exposing backend systems safely to an LLM.
Ready to discuss your project? Contact Nanobase AI or email hello@bumu.tech.