# How Koris works

> The processes Koris runs, where data lives, and how a message becomes a reply.

Koris is a team of AI agents for your workspace. You talk to one of them, the Chief, and it hands work to specialists, follows up, and reports back. The same agents can answer on Telegram and WhatsApp, run scheduled routines, and use the tools and connections your workspace turns on.

## Workspaces

Everything in Koris belongs to a workspace: conversations, agents, routines, memory, files, connections and koins. Each workspace's data is stored separately from every other workspace's, and people only see the workspaces they are members of.

Owners and admins manage the workspace: they invite members, choose which tools and channels are on, and handle billing. Members use the agents.

What a workspace controls and what the platform controls:

| A workspace decides | The platform decides |
| --- | --- |
| Which channels (Telegram, WhatsApp) and connected services it uses | Which AI models run, and their API keys |
| Which tools and agents are on, and what each agent may do | Which features exist at all |
| Its routines, website watches and groups | How much work runs at once |
| Its language | Email, monitoring and other platform services |

## The agents

- **The Chief** is the agent you talk to. It answers directly when it can, and otherwise delegates to a specialist and compiles what comes back.
- **Specialists** each have one job, such as research, content strategy, social media, code review, negotiation, image generation or watching websites. They work through the Chief or together in a [group](/docs/groups.md).
- **Background helpers** have no chat. They run your scheduled routines and website checks, summarize long conversations into [memory](/docs/workspace-memory.md), and learn your company website when you give one.

## How a message becomes a reply

1. **Your message is saved first.** Koris stores it before any AI work starts, so a message is never lost, even if a model is briefly unavailable.
2. **A worker picks it up.** A background worker takes the next waiting message and runs the Chief on it, with the tools your workspace allows. You see its progress (thinking, which tools it uses) live in the chat.
3. **Long answers don't block anything.** If a model takes a while, the work keeps running and the reply arrives when it's ready.
4. **The reply is saved and delivered.** In the web app it appears in the chat; on Telegram or WhatsApp it is sent to the channel. If sending fails, Koris tries again.
5. **Failures are retried.** A temporary problem is retried a few times with increasing waits. If it still fails, a trusted sender is told; outside contacts never see internal errors.

Every model call is charged in [koins](/docs/koins.md), the workspace's balance for AI work. With no koins left, no new AI work starts.

## Long conversations

When a conversation gets long, or you come back after a long break, Koris starts a fresh session and summarizes the old one in the background. You keep chatting without waiting: the summary is added to the new session as soon as it's ready, and lasting facts go to the workspace [memory](/docs/workspace-memory.md).
