What an example has to show to be worth copying
A page of AI agent examples for business usually runs one line per department. A support agent that answers tickets. A sales agent that follows up. The reader gets the verb and never the object, so there is nothing to check against a real week of work.
Three questions turn an example into something a team can copy on a Monday. What file, table or message comes back? Where was the agent allowed to write? Who signed off before that write left the building? A page that answers all three can be tested by a reader who has never installed an agent.
Kortix is the open-source AI Operating System, and in its projects those answers are files. The manifest is governance only: which connectors, secrets, permissions and skills an agent gets, and the path to the agent's own .md. The schema is deny-by-default. An omitted connectors, secrets, kortix_permissions or skills grant resolves to "none", so a specialist agent can start with reach over one queue and nothing else in the account.
Work that changes the repo goes out for review. Session work reaches main through a change request. Merge is default-deny for agents. A person reads the diff and decides.
Each of the four examples ends in a small artifact and a named approval. The names, order numbers and totals are invented to show the shape of the deliverable. None is a result from a Kortix deployment, and none belongs to a customer.
Support reply held for approval
An agent reads the ticket, finds the order, and writes the reply a person would have written. The draft is a file in the session's workspace, next to the order record it cites. One isolated sandbox per session. Each session has its own isolated machine and branch, so the draft and the notes behind it stay together while the work is in progress.
The send is the part to design. On the helpdesk connector, the send action is set to Ask, so the call pauses and resumes once a person has read the draft. A bad draft costs a minute of review. A bad send reaches a customer.
The Support reply card draws the reply as a diff: the body, the line that sourced it, and the approval still open at the bottom.
Inbox triage table
Overnight, an agent reads the shared inbox and writes a table: sender, subject, the queue it belongs in, and the phrase from the message that decided the route. Nothing leaves the account, so the table is the entire output and a reader can audit it a row at a time. Connectors do the reading. 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP.
The approval moves one step earlier. Before the routing rules run unattended, the inbox owner reads a week of rows against their own sorting. Corrections go back into the rule, and the schedule starts only after a person trusts what the table says.
Sales follow-up with a source line
A follow-up is worth reading when each claim in it can be traced. The agent drafts one per account, and every paragraph carries the record it came from: a call note, a support thread, an invoice line. That source line is what makes a draft reviewable in ten seconds instead of twenty minutes.
The send and the CRM stage change both sit behind Ask. A rep approves the message and the stage together, or edits the draft and sends it themselves. Nothing in the customer record moves without that click.
Month-end finance summary
The ledger and the bank feed go in, and a summary comes out with variance by cost center and the entries that did not match flagged by row. The agent can prepare it from the two exports and cannot post a journal entry, because the finance lead keeps that. The summary arrives with two unmatched lines and the question attached, and the reconciliation happens in the ledger.
Every one of these keeps the same order: the file first, then the name of the person whose approval let it leave. Ask any vendor for both before a pilot, and ask to see the setting that holds the write. A demo without them shows vocabulary, and vocabulary is the part you can already write yourself.