“Let’s hire AI bots and make support cheaper.” What could go wrong?

Practice · AI support · LLM · workflow · customer experience

AI can lower support costs and improve first-response time. But when the model is not backed by reliable state, entity and ownership management, customers get an instant reply instead of a resolution. A real-world case shows how a simple operation took about five hours—and how to design the system differently.

AI support architecture: conversation, structured state, workflow and a verified customer outcome
The model can understand the request, while the backend must own case state, routing and completion criteria.

In short: chat history is not task state, an account-created event is not a customer outcome, and a fast first response is not a fast resolution.

A simple operation that took five hours

A customer accidentally signed up for the wrong product from the same provider. The account contained no websites, domains, mail or databases. The task was simply to transfer the available balance from a shared-hosting account to a new Cloud account so the customer could buy a server.

At first, we tried to understand why the customer could not sign in. Support checked account blocks, country restrictions and the IP address. The actual reason emerged separately: hosting and Cloud used different authentication systems. A customer could reasonably believe they had registered with one provider while actually entering a different product and control panel.

Once that was clear, the request was precise: transfer the entire balance between two products. The conversation nevertheless repeated the same loop:

  1. The customer explains the task

    They identify the source, destination and expected outcome.

  2. The agent asks for known context

    The customer repeats information already present in the conversation.

  3. The case is handed to a colleague

    The next participant reconstructs the meaning of the thread from scratch.

  4. The loop starts again

    Replies arrive quickly, but the operation does not move closer to completion.

The root cause was not necessarily a weak model or an individual operator. It was an architectural gap: the case had no reliable shared state and no single owner accountable for the outcome.

Chat history is not task state

Giving the next model the last 50 messages is useful, but insufficient. The model still has to infer:

  • ParticipantsWho contacted support, who owns the accounts and on whose behalf the operation is performed.
  • EntitiesThe contact account, source Hosting account, destination Cloud account and owner email.
  • Known factsWhat is verified, what is only assumed and which statements conflict.
  • ActionsCompleted checks, successful changes, failures and pending confirmations.
  • Expected outcomeThe observable result the customer needs—not merely an internal event.
  • Next ownerThe AI, specialist queue or human operator with the required permissions.

Every handoff becomes another classification problem. Even if an agent reconstructs state correctly 95% of the time, ten independent reconstructions leave only about a 60% chance of completing the whole chain without an error. This illustrates compounding risk; it is not a measurement of the provider in this case.

What the backend should store

After the first few messages, the system could already have built structured case state. All identifiers in this example are intentionally redacted.

{
  "intent": "transfer_full_balance",
  "source": {
    "account_id": "hosting_account_redacted",
    "product": "virtual_hosting",
    "owner_verified": true
  },
  "destination": {
    "account_id": "cloud_account_pending",
    "product": "cloud",
    "owner_verified": false
  },
  "assets": {
    "balance": "all_available",
    "sites": 0,
    "domains": 0,
    "mailboxes": 0,
    "databases": 0
  },
  "status": "identity_verification_required",
  "next_action": "verify_owner",
  "completion": [
    "balance_visible_in_cloud",
    "customer_can_sign_in",
    "server_purchase_available"
  ]
}

The next agent should start from a machine-readable handoff contract: the reason for transfer, known and verified facts, completed and failed actions, missing information and the next required step.

A correct fact attached to the wrong entity

During the conversation, support quoted an exact account balance. A later check showed that the amount belonged to a different account. This was not merely an inaccurate reply; it was an entity resolution failure.

The case simultaneously involved the account used to contact support, the customer's account, Hosting and Cloud products and the owner's email. Without an explicit “fact → entity → source → verification time” relationship, a dangerous combination appears:

Correct fact + wrong entity = wrong answer.

The specificity makes such an answer unusually convincing. Critical facts therefore cannot live only inside a model-generated summary. They need stable entity identifiers, provenance and verification status.

A technical event is not a customer outcome

Support eventually reported that the Cloud account had been created. The customer still could not sign in. The internal workflow may have ended at a technical event:

cloud_account_created = true

The business outcome was different:

customer_can_access_cloud = true
balance_is_visible = true
server_purchase_is_available = true

Until that entire sequence is verified, the case is not resolved. Support is responsible for the observable customer outcome, not merely a successful internal API call.

Seven types of state an AI support system needs

01 · CONVERSATION

What the customer has said

Intent, constraints, clarifications and communication preferences.

02 · ENTITIES

Which objects are involved

People, accounts, products, payments, orders and their relationships.

03 · WORKFLOW

Where the operation stands

Current status, valid transitions, blockers and timeouts.

04 · EVIDENCE

Where each critical fact came from

A customer message, API response, operator note or verification result, including who confirmed it and when.

05 · OWNERSHIP

Who is responsible for the next step

A named agent, operator or queue with the right permissions and SLA.

06 · NEXT ACTION

What must happen next

One executable step with inputs, expected output and error handling.

07 · COMPLETION

How resolution is verified

An observable customer outcome—not an emitted command or created database row.

How to place an LLM inside a support orchestrator

An LLM is valuable here, but it should not be the only place where the business process exists. Its job is to understand unstructured language and help choose the next step.

  1. Extract

    After every message, return intent, entities, facts and requested_action against a strict schema.

  2. Validate and persist

    The backend validates types, links facts to entities, records provenance and saves the state change.

  3. Resolve conflicts

    A new value must not silently overwrite a verified fact. Create a conflict and require another check.

  4. Select a workflow

    Rules choose the allowed action: request data, call an API, route to a specialist or stop a risky operation.

  5. Create a handoff contract

    The recipient sees structured context, the transfer reason and the next action—not only a long chat transcript.

  6. Verify the outcome

    Close the case only after completion criteria pass or the customer explicitly confirms the result.

Every case needs an owner

An agent → agent → agent chain cannot continue indefinitely. If the current participant cannot perform the action, the case must move to a named operator or queue with the required permissions. Accountability and a deadline for the next step move with it.

Apparent speed versus a managed process
Weak implementation Working implementation
Every agent rereads the entire chat The agent receives state plus the relevant recent messages
Facts exist only inside prose Facts are linked to entities and evidence
A generic “colleague” handoff Routing to a queue with the required permissions
An internal action completed The customer outcome was achieved and verified
First Response Time is optimized Time to Resolution and first-contact resolution are optimized

What to measure beyond first-response time

  • Time to ResolutionTime to a real solution, not the first message.
  • First Contact ResolutionCases resolved without another contact or queue.
  • Handoffs per CaseNumber of transfers and the share that were actually necessary.
  • Context RepetitionHow often customers repeat facts already supplied.
  • Entity Error RateHow often correct data is attached to the wrong account, order or customer.
  • Outcome VerificationShare of closed cases with an automated or customer-confirmed result.

A three-second First Response Time can look excellent on a dashboard. The customer will remember the five-hour resolution.

Frequently asked questions about AI support

Can the LLM receive the entire chat history?

Yes, as supporting context. Critical facts, entities, workflow status, completed actions and completion criteria still need structured backend storage. Otherwise every agent has to reinterpret the conversation.

Which support tasks are a good fit for AI?

Request classification, parameter extraction, knowledge-base search, response drafting, conversation summaries and workflow selection. Risky operations and changes to verified data require explicit rules, validation and permission controls.

When should a case be handed to a person?

When the operation requires permissions the AI does not have, verified data conflicts, the action is irreversible or risk exceeds a defined threshold. The case should go to a specific owner or specialist queue with a structured handoff contract.

When is a support case truly resolved?

When predefined customer-outcome criteria pass. Creating an account or receiving a successful API response is insufficient if the customer still cannot sign in, see the balance or complete the intended action.

Design AI support around the outcome

Start with the processDefine entities, state, transitions, permissions, handoffs and completion criteria before connecting a model.
AI agent and RAG developmentOrchestration, structured output, integrations, audit trails, fallback routing and quality control.

The core problem with AI support bots is not that modern models are “too stupid.” It appears when no engineering system exists around the model. Without state, entity resolution, provenance, workflow, ownership and a verifiable outcome, the result is a very modern support operation: everybody replies instantly, but nobody owns the resolution.

AI Support · LLM · State Management · Workflow · Entity Resolution · Customer Experience