customerSAX Docs
Guides

Resolve a case with the assistant

Drive a resolution through chat or a stepper — and why both produce the same real result.

Two ways in, one result

A rep can resolve a case two ways:

  • Free-form chat — ask the assistant, e.g. "start a return for order 100123, the customer received a damaged item."
  • A guided stepper — click through the Return / Refund stepper in the console.

Both emit the same tool calls through the same /chat endpoint. The studio reconstructs one state snapshot from the tool-call stream, so the stepper shows the same state whether chat or the stepper drove it.

A typical return

Find the order

The assistant (or the stepper's first step) looks up the order via the order(id / orderNumber) query through the BFF, and shows real order data — no placeholders.

Check eligibility

Return eligibility is derived from the real order state, not guessed. If the order can't be returned, the assistant says so honestly.

Request approval

Starting a return is a state-changing action. The assistant emits an approval card and pauses. Nothing is written yet.

Approve and execute

The rep clicks Approve. On the next turn, the write tool runs and the return is created against the real backend.

Why this matters

Because there's only one execution path:

  • What the rep sees in chat and in the stepper can never disagree.
  • The AI is bound by the same ACL and approval gate as the UI.
  • Every value shown is real — the platform's non-negotiable rule.

The same pattern holds for Create Order and Create Ticket. See Resolution Flow for the mechanics.

On this page