# Agents and the company

## Agents and the company

### Agents
The org chart and every agent. An agent's page (from 2.13.0) has its profile on the left (status, role, who it reports
to, open work, last run, and **Background work**: each routine with a switch), **Try it** (a real chat with it in a
side panel), and these tabs:

| Tab | What is there |
|---|---|
| Overview | The canvas: what feeds it (routines, what wakes it, channels, memory and library) and what it uses (tools by group, skills, its team), joined to its card; each card opens its details and where they change |
| Activity | Its runs: running, needs you, done; each opens into its steps |
| Skills | The skills it uses |
| Calendar | Its next seven days: its routines' runs and the appointments it booked |
| Identity | Its instructions, versioned with history and restore |
| Files | Its reference files (always available to it) |
| Memory | What it remembers |
| Voice | Its voice and speaking style, and its **call lessons** (switch each off or on, undo, remove, add) |
| Settings | Name, title, icon, manager, runs per day, its Claude **model** and **effort** (or the company default), secrets it may use, **Can propose new agents**, **Can use the office browser**, pause, remove |

**Add agent** creates one from a preset or from scratch. A coordinator can also propose one; it waits for your approval in the Inbox.

**Model and effort (from 2.14.0).** Every agent runs on Claude. Settings → Runners → **The agents' Claude** sets the model
(Opus, Sonnet, Haiku, Fable, or another id) and the effort (Low, Medium, High, Extra high) for every agent; an agent's
own Settings tab can choose differently (owners and admins choose; members see them). Higher effort thinks longer and
uses more of the company's Claude plan; a fast, frequent job (a daily report) does well on Haiku or Low. Changes apply
from the agent's next run.

### What Lumate knows about itself (from 2.6.0)
Lumate knows the version it runs and what the last releases added, and answers how-to questions from this guide
(its `product_help` tool, in chat and by voice): "how do I link WhatsApp?", "what is new?". After an update owners and
admins get one Inbox notice, and Help → What's new lists every version's changes.

### Knowledge
What the team remembers. Each memory shows its source (a message, a file, a run), who made it, and its status. Choose
one to read it in full on the right with all its versions (from 2.13.0); **Ask the library** starts a chat with the
Librarian (Lumate when there is none) with your question.
- **Correct:** tell an agent, or supersede the memory here.
- **Disputed:** a memory something contradicted is marked disputed until you decide.

### Skills
The built-in catalog by category, the company's skills, and imports from GitHub or skills.sh: pinned, previewed, instructions only. **Try** runs a skill on an agent. Catalog updates show as new revisions you can apply.

### Integrations
On top (from 2.13.0), the connections and their state: WhatsApp, OpenAI, Claude, the office browser, phone, email and
endpoints, each leading to where it is set up. Below, endpoints outside systems call. For example, a Bitrix24 automation rule posts a new lead.
- **Each call:** becomes a task for an agent, with the data marked as outside information.
- **Turning one on:** an admin turns the endpoint on, gets its address and token once, and can test it.
- **Activity:** every call is listed.

### Activity
**Runs** (from 2.13.0): every run of every agent, counted as **Running**, **Needs you** and **Done** (each a filter);
a run opens into its steps with how long each took, and one whose work waits for you offers **Review**. A run's own
page leads with its steps as a timeline. **Log** keeps everything that happened, newest first:
- agent tool calls;
- settings changes;
- browser changes;
- WhatsApp links;
- pairing.

### The Server page (from 2.16.0)

For the person who installed Lumate on a server (the instance admin): **Server**, in the company menu, or the address
`/server`. It belongs to no company, so someone who only runs the server sees the companies by name, and in System
status whether each one's parts work; Lumate shows nothing inside them (the server's backups do hold everything: keep
them safe).

| Part | What it does |
|---|---|
| **Companies** | Their names. **Add a company** while the licence allows another. |
| **Company set-up link** | The link handed to a manager ("Someone else" at the first setup): who it is for, until when, **New link**, **Revoke**; once used, who took it and which company they made. A manager who took it has a week to set the company up; until then **Take it back** still revokes it. Once their company is made, the form is there again for the next company. Lumate must be activated first: a manager could do nothing on a paused install. |
| **System status** | Every part, for the server and each company (see below). |
| **Send diagnostics to OXS** | See below. |
| **Updates**, **Backups**, **Licence** | The server's own (on the server edition they are here, not in a company's settings). |

### Status and diagnostics (from 2.16.0)

**System status** shows one row per part, with its state in words and what to do: the server and its database, the
licence, updates, backups; and for each company Claude's runner (red after an hour unseen), WhatsApp, the desk phone
line (and the linked PC carrying it), the office browser and the OpenAI key. The person who installed Lumate sees it
on the Server page; a company's owners and admins see their own in **Settings → Status**.

**Send diagnostics to OXS** is for when something does not work and OXS should look:

1. Write a note if you like ("the call list stopped at 10:20").
2. **Preview** shows every word that would go: the version, each part's state (companies by number, never by name),
   the week's errors counted by kind and place in the code, and your note as you wrote it. Never a name, a phone
   number, a message, a transcript or a file; never an error's own text.
3. **Send to OXS** sends exactly what the preview showed, once, on the install's licence (a preview is kept a quarter
   of an hour; then look again). Each place sends at most five a day: the Server page, and each company's Settings →
   Status. An install that does not talk to OXS Cloud, or a moment OXS cannot take it, says so: **Download file** saves
   the same thing to send any other way.

### Settings
The pages are grouped on the left; on a phone, choose one from the list at the top.

| Group | Page | For |
|---|---|---|
| Company | General | Company name, prefix, time zone |
| | Sector | The company's sector and country (the owner changes them, with a preview) |
| | Members | Invites, roles, removing people |
| | Your account | Your display name, password, your email and which notifications go there, the phone for notifications, and **My desk phone** (your own extension; from 2.15.0) |
| Voice & phone | Voice | Voice models and languages; **Coach analyses every rehearsal** |
| | Desk phone | An IP phone on the company network that talks to an agent, and where the connection runs (below) |
| | Phone | OpenAI project, numbers, inbound scenario, transfer, reviews, outbound trunk, do-not-call list (not on Lumate Local) |
| | Call center | The AI dialer, **Who calls**, and **Broker access** |
| Channels | WhatsApp | Link a number (QR or pairing code), its state, unlink, **Write out voice notes**, **Personal chats** |
| | Email | The company's mailbox that sends Lumate's email: Microsoft 365, Google Workspace or another server, the sender, limits and a test (see [Email](/docs/email)) |
| | Browser | The office browser: install (or **On a linked PC** → **Use this PC**), state, allowed sites (agents can also ask from a chat), pause, disconnect, **Reconnect**; what LinkedIn allows, and sites where agents stopped at a security check |
| Team | Runners | Runner keys, which runners are online, **The agents' Claude** (the model and effort every agent runs on unless it has its own; from 2.14.0), Claude Code's updates; on the server edition **Claude for the runners** (the company's Anthropic API key or Claude sign-in token, set by owners and admins, never shown back) |
| | Secrets | Company secrets: write-only, encrypted, with which hosts each may be sent to |
| | Team package | Save the team as a file, or bring one in (below) |
| | Usage | Agent runs per day over twelve weeks as a heat map, with a table (owners and admins; from 2.13.0) |
| | Apps | Every app, archived ones too: open, bring back or delete (owners and admins; from 2.14.0) |
| System | Board | Board rules, daily report time, default appointment owner |
| | Backups | The server edition: a backup every day, before every update and when asked, each downloadable, and a copy to a bucket (see [The server edition](/docs/install-server#backups)) |
| | Updates | The channel, automatic installs in the maintenance window, new versions, **Update now** and **Go back**; Lumate Local's update folder, the server edition's offline bundle (see [Lumate Local](/docs/install-windows#updates-and-backups) and [The server edition](/docs/install-server#updates)) |
| | Linked PCs | The server edition: office PCs running Lumate that admins linked with a code; whether each is online, what it does (office browser, desk phone), rename, unlink (from 2.15.0; see [Connecting to a Lumate server](/docs/install-windows#connecting-to-a-lumate-server)) |

#### Desk phone

A desk phone (an IP phone on the company network) can talk to an agent. Pick it up and call the agent, or let the agent ring you.

**Connecting the line**
- **Company PBX:** IT creates an extension for Lumate and gives you the PBX address, the extension and its password. Lumate registers as that extension. You call it from your desk phone and the agent answers; the agent can also ring your extension.
- **Phone directly:** without a PBX, enter the phone's address. The agent can ring the phone, but the phone cannot call the agent.

Lumate connects over UDP (port 5060 by default).

**Putting callers through** (from 2.17.0). Every transfer on the line is attended: Lumate keeps the caller, rings the
colleague's extension itself, and asks the PBX to join the two calls once the colleague answers (SIP REFER with
Replaces, which 3CX and Asterisk support). A PBX that refuses it still works: Lumate then carries the audio between
the two calls itself, and the line stays busy until they hang up. IT lets Lumate's extension call the other
extensions; it needs no right to outside lines for this.

**Setting up the call**
- **The agent** who answers.
- **The mode:**
  - **Talk:** you talk with the agent, as with the Talk button in a chat. The transcript lands in a new chat. On a call you start from the app (**Desk phone**), the agent can pass your requests to its working side. On a call you make to the agent from the desk phone, it only talks and answers from what the team shared for callers, because a caller's number alone does not prove who is speaking.
  - **Rehearsal:** the agent runs a call scenario and you play the customer. The call lands in the Playground history.
- **Who may call:** extensions or numbers. Nobody else is answered.
- **Call me at:** your extension (or, in direct mode, your phone's address).

**Switching it on and off**
- **Test line** checks the connection and says what is wrong in plain words.
- The **switch** turns the line on, and only after Test line passed. Changing the connection turns it off again.
- Switching it off lets a call in progress finish first.

**Calling from the app.** While the line is on, a **Desk phone** button appears next to Talk in an agent's chat, and **On the desk phone** appears on the Playground. They ring your desk phone with that agent, or with that agent and scenario.

**Your own desk phone** (from 2.15.0). Everyone writes the extension of the phone on their desk in Settings → **Your
account** → **My desk phone**. Then:
- **Call me**, **Hand over** and **Take over** ring the phone of the person who pressed them. People who wrote none get
  the line's **Call me at** number.
- From your own phone you can call the agent, without being added to **Who may call**. (Who may call stays for phones
  that belong to nobody, such as a meeting room.)

**Where the connection runs** (from 2.15.0, the server edition). Lumate talks to the PBX from the machine it runs on.
When the server is not in the office (for example on the internet), it cannot reach the office's PBX. Then a **linked
PC** in the office carries the line (see [Connecting to a Lumate server](/docs/install-windows#connecting-to-a-lumate-server)):
1. Settings → Desk phone → **Connection runs on**: choose the linked PC.
2. Press **Test line** (the PC registers with the PBX), then switch the line on.
3. Keep that PC on. When it is off, the line shows **The bridge PC is offline**, and Call me and the call center wait.
   A call in progress ends within a few seconds if the PC goes away.

Everything else works as on a server in the office: the agent answers, rings people, hands calls over and takes
messages. The voice and the agent's work stay on the server; the PC only carries the sound.

#### Team package

A team package moves a team between Lumate installs, for example from a manager's PC to the people who set up your system, or from a demo to a new company. Only admins can use it.

**Export** saves one `.agentx-team` file.
- **What it holds:** the chosen agents' profiles, instructions, voices, skills and call scenarios, and the **names** of the secrets they use.
- **What it never holds:**
  - customers, chats, tasks, calls, listings or appointments;
  - a secret's value.
- **Optional extras:** the agents' files and memories go in only if you tick them, because they may hold company or customer information.
- **The company name:** it becomes a placeholder.
- **Preview** lists everything that will be saved, and every place where your company's name was replaced.

**Import** shows a preview before anything changes.
- **Each agent** is listed as new, changed (with its instruction changes) or the same.
- **New agents** are added unless you skip them.
- **For an agent you already have**, you choose:
  - **Keep ours**;
  - **Update ours:** the instructions become a new version, the old one stays in its history, and its permissions stay as they are;
  - **Add as a separate agent**.
- **Secrets the company lacks** are created by name and wait for a value.
  - Enter the values right after the import, or later in Settings → Secrets, where they show **Value needed**.
  - Admins also get an Inbox item about them.

## Keyboard shortcuts

| Keys | Action |
|---|---|
| `⌘ K` or `/` | Search and jump |
| `c` | New task |
| `[` / `]` | Toggle the sidebar / the properties panel |
| `g` then `d`, `i`, `t`, `c`, `a` | Dashboard, Inbox, Tasks, Chats, Agents |
| `Enter` / `Shift Enter` | Send / new line |
| `?` | Show shortcuts |
