Chat app
A Chat app reaches a Product inside a chat workspace, with the Product's Verbs as commands, its Approvals and Questions as cards, and its Agent in threads.
A Chat app is the Interface that reaches a Product inside a chat workspace, such as Slack or Discord. It compiles from the Product's Verbs, like the API, and ships through the workspace's own app directory.
Two audiences, one generator
Every Startup gets a Chat app for its own team: the Humans and Agents seated in its Roles. Every Product can also ship one to its Customers, under the Startup's Brand and inside its Publication. A Customer installs the Product's app, never a platform app.
Both come from one generator over the registry. Add a Verb to a Product, and its command appears in the app on the next release.
Verbs are commands
Every Verb the caller's Role may call is a command. A command resolves to the same Action, under the same Permissions and Limits, as the API.
/patentpad try Offer.publish offer= offer_provisionalThe Mode decides the reply. try returns a preview card with a Run button and stores nothing, and Run executes exactly what the card showed. send returns a card for the pending Action that updates in place when it settles.
A message shortcut passes the message as input, such as filing it as an Issue. Each Verb is also a step in the workspace's own workflow builder, so a team composes Processes in chat with no new screen.
Mentions hand work to an Agent
Mentioning a Role's Agent hands it the request as a Task. The Agent replies in the thread with its progress and its result.
A Customer of an Agent Product hires it the same way. A mention in their workspace starts work under the Customer's Subscription, metered like any API call, and the Agent answers in the workspace's assistant threads.
Cards for Approvals and Questions
An Approval posts to its Thread as a card with Approve and Refuse. A press counts only from a chat account linked to a Human who may answer it, and the first valid answer wins for everyone. A Question from ask and answer posts as a card whose buttons are its choices.
Each press runs as an Action via: that records the chat message it came from.
Who is acting
Every chat account links to a Worker or a Contact. An unlinked account can read and reply, but it cannot call a Verb or answer an Approval.
An Agent posts under its own name, labeled as an Agent. It posts as a Human only under that Human's Mandate, and the Human's stream shows every post sent in their name.
What the workspace keeps
The app imports only what becomes a record: Messages addressed to a Worker, mentions, Approval answers and Conversation turns. It never backfills channel history, and nothing it reads trains a model.
A Customer-facing app ships through the workspace's app directory, such as the Slack Marketplace, and passes that directory's review before Live. Chat delivery specifies the delivery contract underneath.