← All guides

Knowledge & actions · Explore this field ↗ · Implementation · 2 min read

Design transactions for reversal

A conversational action needs the same rigor as a form—plus protection from ambiguity and duplicate turns.

See the source / a related case

Two characters at a neon-lit counter in the expanded Kairos demonstration
Official demo still · NVIDIA / Convai · Original source ↗Local visual review · not cleared for production
The moment dialogue touches the world. · Read the case file ↗
01

Conversation does not remove the form

The fields still exist even when they are collected through natural language. Define required values, validation, defaults, dependencies, and error messages in a transaction schema. Show a structured review surface before submission. Let users edit one field without restarting. For regulated consent, preserve the exact language and version presented.

02

Separate proposal from execution

The system should be able to draft a change without making it. Use explicit states such as collecting, ready for review, confirmed, submitted, succeeded, failed, and unknown. Bind confirmation to a snapshot. If the price or availability changes after confirmation, return to review instead of silently substituting.

03

Make duplicate safety visible

Messages are retried; users resend when the interface stalls; networks fail after the server commits. Every write call needs an idempotency strategy. Receipts and case IDs should come from the system of record. A bot-generated sentence is not evidence that a refund or reservation exists.

04

Failure mode

The most dangerous transaction bot is not one that fails loudly. It is one that speaks as if it succeeded while downstream status is unknown. Instrument unknown outcomes, reconciliation delay, manual corrections, and duplicate prevention.

05

A cancellation example

A subscription cancellation conversation should first retrieve the plan and effective terms, then present the end date, retained access, refund consequence, and items that will be lost. The user edits any incorrect assumption before confirming that exact snapshot. The application sends one idempotent cancellation request and displays the billing-system receipt. If the response times out, the bot checks status before offering retry. Reversal rules are shown immediately. This may feel more formal than casual chat, but consequential service should become more structured as commitment approaches.

Primary reading

Sources and limits

These links support the architecture, policy, or product behavior discussed above. Vendor documentation describes vendor features; it is not independent proof of performance. Current details should be rechecked before a production decision.

  1. Microsoft — Generative orchestration
  2. NIST — Secure Software Development Framework

Find your next good decision.

Start typing to explore the guides.

76 sourced guides · Escape to close