The chat window is the new Clippy
Every team shipped the same thing: a text box on top of their existing product, labeled “AI.” It demos well. It tests terribly. It’s also quietly hostile to the way real work happens: with permissions, handoffs, SLAs, audits, and reversibility.
The industry keeps pretending the interface question is solved because “people already know how to chat.” That’s like saying everyone knows how to email, so you should build your accounting system as an inbox. The UI isn’t the hard part. The hard part is turning intent into action without breaking trust, compliance, or production.
In 2026, “AI product” will stop meaning “a chatbot attached to your app” and start meaning “a verified work queue that happens to be driven by models.” The chat window becomes a side panel—useful for clarifying—but not the place work lives.
Chat is a great place to express intent. It’s a terrible place to run a business.
What changed: models started doing work, not just talking
The jump from “assistant” to “agent” wasn’t a vibe shift. It was an API shift. Once models could call tools and execute multi-step tasks, the bottleneck moved from language to orchestration.
Tool use is real now, and the stack proves it
OpenAI’s Assistants API and function calling, Anthropic’s tool use, and Google’s Gemini tool/function calling patterns all push developers toward the same architecture: a model proposes actions; software executes them; the system records what happened. On the open-source side, LangChain and LlamaIndex normalized the idea that a model is one component in a pipeline, not the product.
And then the “agent frameworks” arrived: Microsoft’s AutoGen and LangGraph popularized explicit graphs, roles, and state; they also accidentally exposed the core product problem: most agent work is long-running, stateful, and failure-prone. Chat transcripts don’t model state. Queues do.
Enterprises didn’t reject AI. They rejected ambiguity
Security and platform teams can accept model output that drafts, summarizes, or classifies. They push back hard when the model is allowed to change systems of record—Salesforce, ServiceNow, Jira, GitHub, AWS—without clear boundaries.
This is why the most credible “AI inside the enterprise” moves have been attached to governance surfaces:
- Microsoft Copilot sits inside Microsoft 365 where identity, permissions, and compliance controls already exist.
- GitHub Copilot succeeds because it’s constrained to code suggestions and integrates into developer workflows (IDE, PRs), not because it’s a good chat partner.
- ServiceNow keeps pushing “Now Assist” as workflow automation inside a system built for tickets, approvals, and audit trails.
- Atlassian Intelligence lands best where it touches Jira/Confluence workflows, not as free-form “ask me anything.”
The winning interface: a queue with receipts
If you build product software, treat “agentic” work like any other production system: jobs, state, retries, idempotency, human approvals, and logs. The interface that matches that reality is not a chat thread—it’s a work queue with receipts.
A verified work queue has a few traits that chat UIs can’t fake:
- State: every task has a lifecycle (proposed → approved → executing → done/failed).
- Authority: actions map to scopes and identities; you can answer “who approved this?”
- Reversibility: clear rollback paths, compensating actions, or at minimum a remediation playbook.
- Observability: structured logs of tool calls, inputs/outputs, and external side effects.
- Policy: rules around what can run automatically vs. what needs review.
Yes, you can bolt these onto a chat system. But you’ll end up reinventing a queue UI inside a transcript anyway. Just build the queue.
Table 1: UI patterns for “AI in product” (what scales, what breaks)
| Pattern | Where it works | What breaks first | Best fit products |
|---|---|---|---|
| Chat-only assistant | Q&A, drafting, quick support triage | Ambiguous outcomes; hard to audit; users can’t “diff” changes | Docs, lightweight support, internal knowledge search |
| Inline copilot (contextual) | Work inside an editor (IDE, doc, CRM field) | Overreach into actions; trust collapses if suggestions feel random | Code (GitHub Copilot), docs (Microsoft 365), CRM notes |
| Command palette (“do X”) | Known actions with predictable parameters | Discoverability; parameter capture gets clumsy | Admin consoles, devtools, ops dashboards |
| Verified work queue | Multi-step tasks with approvals, SLAs, and downstream impact | Needs real orchestration and policy; can’t be a thin UI layer | ITSM (ServiceNow), project work (Jira), finance ops, security ops |
| Autopilot (fully automatic) | Narrow, high-confidence, reversible actions | Edge cases; silent failures; “unknown unknowns” | Alert routing, spam/abuse handling, routine enrichment |
Receipts beat “trust me”: what to store for every agent action
Founders love saying “we’ll add audit logs later.” Later never comes. Once an agent can touch customer data or production infrastructure, auditability becomes a product feature, not a checkbox.
A “receipt” is a structured record that lets a human answer: what did the system attempt, what did it change, and why did it think it was allowed to do it?
The minimum receipt that stops arguments
Store receipts as immutable events, not as prose inside a transcript. Your future incident review depends on it.
Table 2: A practical receipt schema for agent-driven work
| Receipt field | What it captures | Why it matters |
|---|---|---|
| Actor + authority | User, service account, OAuth app; scopes/roles at execution time | Explains “who did this” and prevents permission drift excuses |
| Intent + constraints | User request, policy constraints, environment (prod/sandbox) | Separates what was asked from what was allowed |
| Tool calls (structured) | API endpoint, parameters, request IDs, timestamps | Enables replay, debugging, and forensic analysis |
| Side effects | Created/updated records, diffs, external tickets, commits | Makes impact visible; supports rollbacks and change review |
| Outcome + next step | Success/failure, error types, retry status, human handoff | Prevents silent failure; keeps work moving under partial completion |
If you’re building on top of systems like GitHub, Jira, Salesforce, or ServiceNow, you already have durable object IDs and event hooks. Use them. Receipts should link directly to the real artifact: PR URL, ticket ID, CRM record, incident timeline.
Contrarian product strategy: stop chasing “autonomy” and sell controllability
The market pitch everyone copies is “our agent runs end-to-end.” It’s the wrong hill to die on.
In real orgs, autonomy is not a feature. It’s a liability until proven otherwise. What buyers actually want is a system that can take work off humans while keeping humans in control of risk.
Key Takeaway
If you can’t explain how your agent is constrained, reviewed, and reversed, you don’t have an enterprise product. You have a stunt.
Design the approval surface like a payments product
Think about how Stripe made internet payments programmable without making them ungovernable: clear objects, explicit states, webhooks, idempotency keys, dashboards, dispute flows. Agents need the equivalent: explicit objects for “tasks,” “actions,” “policies,” and “evidence.”
Approval is not a modal dialog that says “are you sure?” Approval is a surface with context: what will change, where, under what identity, and what the rollback plan is.
“Confidence scores” won’t save you
Product teams keep trying to patch trust with a single number. Users don’t trust numbers they can’t interrogate. Replace opaque scores with concrete evidence: diffs, previews, dry runs, and references to sources.
If your agent edits a Salesforce opportunity, show the exact fields it will change. If it modifies infrastructure, show a plan view (Terraform popularized this for a reason). If it files a ticket, show the ticket before submission and what it will route to.
Policy belongs in the product, not in a PDF
By 2026, every serious buyer expects policy controls on day one. Not because of hype—because of lived pain from SaaS sprawl and accidental data exposure.
Build controls that map to the way orgs already think:
- Environment boundaries: sandbox vs. production
- Scoped permissions: read vs. write vs. admin
- Action allowlists/denylists
- Approval rules by action type
- Data handling: retention, redaction, export controls
How to ship the queue: an execution model engineers can actually operate
If you’re building this category, the core is not prompt craft. It’s an execution model that degrades gracefully.
- Model proposes a plan (structured steps, not prose).
- System validates policy (permissions, environment, action allowlist).
- System runs a dry run where possible (fetch diffs, preview changes).
- Human approves or edits the plan for high-risk actions.
- Executor runs with idempotency and retries per step.
- Receipt emitted for every step, success or failure.
- Handoff created if it can’t finish (ticket, PR, or task assigned).
Most teams miss step 3. Dry runs are the fastest way to turn “AI magic” into “operational software.” They also create the artifact you need for review.
A small, honest job object beats a giant transcript
Store jobs as JSON with explicit fields. You can keep the conversation for UX, but don’t use it as your system of record.
{
"job_id": "job_123",
"requested_by": "user_456",
"environment": "production",
"policy_version": "2026-04-12",
"steps": [
{
"step_id": "s1",
"tool": "jira.createIssue",
"params": {"projectKey": "OPS", "summary": "Rotate API key", "priority": "High"},
"requires_approval": true,
"status": "proposed"
},
{
"step_id": "s2",
"tool": "github.createPullRequest",
"params": {"repo": "org/service", "branch": "key-rotation"},
"requires_approval": true,
"status": "blocked"
}
]
}
This is boring. Good. Boring is what scales.
The product bet for 2026: “agent” becomes a feature flag, not a brand
The word “agent” is already getting worn out, the same way “blockchain” and “metaverse” did. That’s healthy. The buyers who matter—security, IT, finance ops, engineering leadership—don’t want vibes. They want controllable automation inside the tools they already run.
So here’s the bet: the standalone agent app fades, and “agentic capability” becomes a feature flag inside systems of record. Microsoft, Atlassian, ServiceNow, Salesforce, and GitHub have the advantage because they own the workflow objects and permission models. Startups can still win, but only by owning a narrow, painful queue end-to-end—then integrating deeply.
If you’re building product right now, do one concrete thing this week: pick one workflow in your app where failure is expensive, and design the receipt and rollback before you design the prompt. If you can’t write those two parts down crisply, you’re not ready to ship autonomy. You’re ready to ship a queue.
Question worth sitting with: if your agent makes a wrong change at 2 a.m., can the on-call engineer understand what happened in five minutes—without reading a chat transcript?