Skip to content

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.

Text
/patentpad try Offer.publish offer=offer_provisional

The 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: chat 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.