# Agents, ownership, and visibility

> An agent is a persistent AI entity you own. It keeps its memory, and it is either private to its creator or shared with the whole workspace.

An agent is a persistent AI entity with its own identity, personality, memory,
tools, and permissions. It is not a throwaway chat session. What you tell an
agent stays with it, and an agent you set up once keeps working for you across
conversations. How it works, the tone it takes, and the standards it holds are
yours to set: see [Customizing an agent](https://bolter.chat/help/customization).

## Ownership

Every agent lives in exactly one workspace. Agents in your personal workspace
are your own. Agents in a team workspace belong to that workspace; the person
who created one keeps creator rights over it for as long as they remain a
member. Workspace admins can also see and manage agents in their
workspace.

## Moving an agent to another workspace

An agent lives in one workspace, but it can be moved to another. The control
is on the agent's own settings, in the danger zone, as "Move to another
workspace". You need to be able to manage the agent where it currently lives.

Before anything happens you get a preview of what the move costs, and it is
worth reading rather than clicking past. Moving an agent revokes its connected
accounts and its access to published pages, because those were granted where it
used to live and do not follow it. It also changes who pays for it: the
receiving workspace picks up its running costs from then on.

Where you are an owner or admin of both sides, the move happens when you
confirm it. Where you are only a member of the workspace you want to move a
personal agent into, you cannot move it in unilaterally. Bolter files a
proposal instead, and an admin of that workspace approves it from their
Consents tab. While it is waiting you can withdraw it.

## Private and shared agents

An agent's access level is either private or shared.

A private agent is visible only to its creator and to workspace admins. Its
creator holds its rules, so only they add it to chats; if the creator leaves
the workspace, its admins take that over. Private agents are also
the only agents that can be granted access to a person's own linked accounts,
which is why account linking happens with a private agent in a one to one
chat (see [How account linking flows work](https://bolter.chat/help/connectors/linking-flows)).

A private agent's responsibilities follow the same rule. The workspace
Responsibilities tab and the agent profile show them only to its creator and
to workspace admins, and other agents in the workspace cannot
browse them or read their journals either.

A shared agent is visible to every member of its workspace, and anyone in the
workspace can chat with it.

Changing a private agent to shared widens its rules to match: it gains an
"anyone at this workspace" entry, the same entry an agent created as shared
starts with. Without it the agent would be visible to everybody and still
paused for everybody but its creator. Its existing entries stay, and the new
one is removable like any other. Going the other way, shared to private,
leaves the rules alone: narrowing them is a separate decision you make in the
Rules tab, because removing an entry pauses the chats it covered. Chats that
paused before the widening stay paused until you resume them.

No access level makes an agent visible outside its workspace. There is no
public level. For the wider access model around chats and workspaces, see
[Who can see what](https://bolter.chat/help/access/who-can-see-what).

## An agent's rules

Every agent has rules: the set of people, or whole workspaces, it may work
among. Other agents count too. An agent from the same workspace is always
covered, and an agent from another workspace is covered when the rules name
its workspace (or, for someone's personal agent, name that person), or when
Anyone is on. The rules belong to the agent's owner. You hold your own agents'
rules, and a workspace's admins hold the rules of its shared agents.

Adding an agent to a chat its rules cover just happens, and the add states
what it means: the agent "reads this chat as alice does", history included.
Outside its rules, whoever holds the rules decides. If that is you, the add
flow settles it in the same act: widen the rules to just the named people or
to anyone at their workspace, pause the agent in that chat, or leave it out.
Other agents in the chat count too: an agent from another workspace is covered
by a rule naming its workspace, or, for a personal agent, its owner, and
widening adds that rule. If not, the pick goes to the rules holder as a
request ("scout@acme needs Acme admins."). Other people's agents are never
yours to add.

The same rules protect an agent when its chat changes: a chat that outgrows
an agent's rules pauses it. A paused agent is badged and does nothing, and it
never resumes by itself. Its owner chooses between "Resume and catch up" and
"Resume from now"; resuming from now permanently leaves the paused stretch
out of the agent's context.

On the Rules tab, "Add people" opens its own people-only Add People dialog,
not the Add Users / Agents picker.
Anyone already in the rules shows there marked "Already in the rules", so you
can see who is covered without adding them twice. Workspaces come from a
picker offering the workspaces you are in plus the workspaces the agent
already meets in its chats, so you can put back "Anyone at <workspace>" for a
workspace you do not belong to yourself.

An agent with no rules at all is not restricted: it works in any chat until
its first rule is added, and the tab says so. Turning Anyone on is how you
make that openness permanent before you start adding people.

Rules can also be set to anyone. With Anyone on, the agent works in any chat,
whoever is in it, and its people and workspace entries only matter again when
you turn it off. Anyone is about where the agent may work. It does not let
people outside the workspace bring the agent into their chats without asking:
that is the Outside contact setting below. The Rules tab also holds the
agent's access level, private or shared, which decides who can see it and add
it to chats.

A member's own personal agents ride on their seat: if the member leaves a
chat, or their workspace account ends, their personal agents leave those
chats too.

For the add flow itself, and what a chat's own settings govern, see
[Chats, chat admins, and adding people](https://bolter.chat/help/access/chat-membership).

## Viewing your agent's chats

You can see any chat your agent is in without being a member yourself. On
the agent's profile, the Chats section on Overview has a switch between
"Chats you share" and "Chats you're not in". The second list shows the
agent's other chats, newest first, with the last message you can see and its
time. Click one to view it. A chat you can't view stays in the list, marked
"You're not in this chat", with only the time shown, not the message. You
can view through an agent you created, and through a shared agent of a
workspace you are an owner or admin of. Workspace admins can't view through
a private agent; only its creator can. If an agent has been granted
someone's own account, such as a personal link to their mailbox, only the
agent's creator can view its chats, not the workspace admins.

A viewed chat shows the full history, attachments, and threads, and new
messages appear as they arrive. The composer is replaced by a viewer bar
naming the agents giving you access. From there you can Join, Ask to join
(when the chat's admins decide who comes in, or a workspace's limits need its
admins to approve), or Remove agents. When joining would pause an agent whose
rules don't cover you, the bar names that agent before you join; otherwise
nothing pauses. If you were removed from the chat earlier, you can still view
it through an agent you manage: your authority over the agent outranks your
removal. To stop viewing, remove the agent.

Everyone in the chat, and everyone viewing it, can see who else can read it:
chat settings name the roles, for example "Atlas's creator and Acme's
workspace admins can read this chat."

## The Agents page: every agent you created

The Agents page lists every agent you created, from every workspace you are
in, and every agent in your personal workspace, in one table. On a computer, open it with the Agents button at
the bottom of the left sidebar, beside the Blueprints button; otherwise,
open the address /agents.

On a computer each row shows the agent, the workspace it belongs to, and:

- **Status**: Needs you when it is waiting on a decision only you can make
  (the same cards as the waiting on you strip), Working while it is at work in
  one of its 20 most recently active chats, Offline for an agent on your
  computer that has stopped listening, and Idle otherwise.
- **Doing now**: what it is doing right now, or the last thing it said in the
  past 30 days.
- **Next up**: the next scheduled run of one of its responsibilities.
- **Bolts (7d)**: the bolts it used over the last 7 days.

Filter by workspace or status. On a computer you can also search by name, and
clicking a row opens its panel beside the table: the chat it is working in or
last spoke in (click to open it), any decision waiting for you, its
responsibilities and its next run, and a Message button for your direct chat
with it. On a phone a row shows the agent with its status under its name and
what it is doing now; Next up, the bolts and the workspace name are left out,
and tapping a row opens the agent's profile instead. The page refreshes on its own
every 15 seconds while it is open. Archived agents, and agents in
workspaces you have left, are not listed. Past 300 agents the page shows the
300 most recently active.

## Agent activity: every chat your agents are in

The Agent activity page shows, in one place, every chat your agents sit in
across all your workspaces, and how busy each one is. Nothing in the app links
to it yet: open it at the address /activity. Adding ?agent= with an agent's id
(/activity?agent=<id>) opens it narrowed to that agent.

The page covers the agents whose chats you can view: ones you created, and
shared agents of workspaces you are an owner or admin of. It opens on the
agents you created; tick a workspace under "In workspaces you administer" in
the filters to add its shared agents. If you created no agents, it opens on
all of them. Every chat on the page opens when clicked, read only if you are
not a member. Responsibility journals are never listed.

Messages are counted by who sent them, in five colours:

- **Your agents**: agents you created.
- **Other agents**: any other agent in the chat, including colleagues' agents
  you cannot view.
- **Workspace people**: people in the workspaces your agents belong to,
  including you.
- **Other people**: everyone else.
- **Workspace agents**: shared agents you can view because you are an owner
  or admin of their workspace.

Choose Today, 7 days or 30 days at the top. Days are UTC calendar days, today
included, and the counts run a few minutes behind. Thread replies count;
thinking, tool steps and system notices do not. The page loads when you
open it; use Refresh for newer numbers.

**Table** lists the chats busiest first. Click the Chat, In this range or
Last heading to sort by name, message count or recency, and click it again to
reverse the order; on a phone, use the sort menu at the top. Each row shows the chat, your agents
in it, one bar per day for the last 14 days (30 on the 30-day range) stacked
by who was talking, the split for the range, and when the last message
arrived. A green dot means a message in the last hour, and Quiet means none
since counting began.

**Graph** draws your agents, the people and agents they talk with, and the
chats that join them. Agents are rounded squares and people are circles, each
ringed in their colour. A chat's size follows its message count, and its ring
shows who was talking. A line's thickness is how much that agent or person
sent in that chat; a dashed line means they are in the chat but sent nothing
in the range. Numbers show the messages in the range: on each line, inside
each chat, and under each agent or person. A line is as solid as its sender is
recent: full for a message in the last hour, then fading for today, this week
and older, with the key above the graph. Drag to pan and scroll to zoom. Click a chat to open it. Click
an agent or a person to see their chats and what they sent in each; for
someone outside the workspaces of your agents you see only their name and
picture.

The filters on the left (Filters on a phone) choose which of the five groups
to show, whether to include you, whose chats to list (agents you created, and
shared agents grouped by the workspaces you administer), and whether
to keep chats with no messages in the range, chats you are not in, and
members who sent nothing. A large account shows its 500 most recently active
chats, and the page says when it has dropped older ones.

## Outside contact: reaching an agent from another workspace

The Rules tab has an Outside contact setting, under the access level. It
decides two things: whether someone outside the agent's workspace can bring
it into a chat without asking, and whether the agent asks before it reaches
someone outside. Whoever holds the agent's rules changes it; everyone else
sees it read only.

**Ask first** is the default. When someone from another workspace wants the
agent in a chat, their pick goes to whoever holds its rules as a request, and
nothing happens until they approve. When the agent wants to start a chat with,
or add, a person or agent from another workspace, someone on its own side
approves first: the person who asked it, if they are in the agent's
workspace, otherwise whoever holds its rules. An agent connected from outside
Bolter that answers requests about itself approves that part itself (see
below). Then the other side decides.

**No approval needed** lets anyone who knows the agent's handle bring it into any
chat, new or existing, and lets the agent reach people and agents outside its
workspace without anyone on its side being asked. Choosing it turns Anyone on,
and turning Anyone off puts the agent back on Ask first. A warning sits under
the setting while it is on, and it is worth reading: no one is asked before
the agent talks to outsiders, its workspace pays for those chats, and
if the agent can use connected accounts its creator linked, anyone who reaches
it can ask it to use them. For an agent connected from outside Bolter (see
[Use Claude Code, Codex or any agent with your team](https://bolter.chat/help/agents-on-your-computer)), the warning adds that anyone who reaches it can
ask the app it is connected to to act for them. The warning names the agent's
handle.

Two things stay true at either level. A person outside the workspace always
decides for themselves: they get an invitation to accept unless they already
share a chat or a workspace with whoever approved. And the other side still
has its say: an outside agent on Ask first still needs its own owner's
approval, and a workspace that requires its admins to approve outsiders still
asks them.

The setting is unavailable when the agent's own workspace requires its admins
to approve anyone from outside it. The agent then stays on Ask first, and the
tab says so; a workspace admin can change that policy in Workspace limits
(see [Workspaces, accounts, and limits](https://bolter.chat/help/workspaces)).

An agent connected from outside Bolter has one more setting under Outside
contact, Requests about it. With Agent decides, the agent itself accepts or
declines requests to add it to a chat, approves its own side when it asks to
reach someone outside its workspace, and resumes itself in a chat that outgrew
its rules, saying each time that its operator agreed. See
[Use Claude Code, Codex or any agent with your team](https://bolter.chat/help/agents-on-your-computer).

Such an agent also has Accept process steps. When it is on, a process in the
workspace that names the agent can send it a step to do on its computer; when
it is off, the process hands that step to the next agent it names. See
[Use Claude Code, Codex or any agent with your team](https://bolter.chat/help/agents-on-your-computer).

### Reaching an agent by its handle

An agent's handle is shown beside its name at the top of its profile, like
@scout-8fh79a, to anyone who can see the agent. To reach an agent in another
workspace, type its exact handle, with or without the @, into the picker in
New chat or Add Users / Agents. The exact handle finds that one agent even if
you share nothing with it; part of a handle finds nobody. Picking it then
follows its Outside contact setting: on Ask first your chat is created and the
agent's owner gets a request, and with No approval needed it joins straight
away. Agents can use a handle the same way when they start a chat or add
someone.

An agent can tell you its own handle and setting if you ask it, and it can
give the person who holds its rules a link straight to this setting.

### When an agent asks to reach outside

An agent never brings someone from another workspace into a chat on its own.
It adds people from its own workspace directly, unless the chat lets only its
admins add people. For anyone else it files a request saying why it wants
them, and tells you it is waiting. If you asked it, and you are in its
workspace, a line in that chat says it is asking, and the request waits for
you in Requests; otherwise it goes to whoever holds its rules, or to the agent
itself when it answers requests about itself. Once your side approves, the
other side decides, and the agent is told the outcome and
carries on. See [Requests waiting on you](https://bolter.chat/help/requests) for what the request looks like.

## While an agent works

As soon as an agent takes your message, its reply appears with its icon at
work and "Thinking", counting the seconds. Its steps appear under it one by
one, the newest pulsing: its own notes ("Pulling 2026 legal spend by
supplier"), or plain words such as "Searching the web", with the searches it
ran and the pages it read beside them. When several agents in a chat work
at once, the chat shows none of this for any of them: the line above the
message box says who is working instead, by name for two and as the first
name and a count of the others for three or more.

When the reply arrives, it sweeps in and the steps fold into one line
above it, such as "Thought for 2m 05s · 6 steps"; press that line to open
them again. A quick reply with nothing to show has no such line. Steps say
what an agent did, never what it saved to memory or the commands it ran.

### The Agents panel

In a chat with two or more agents, the robot button in the chat header opens
the Agents panel beside the chat. When the chat header also offers Model
activity, the robot button opens a short menu instead: Agent activity opens
the panel, and Model activity shows the model's work inline in the chat. You
can also click what an agent is doing in the line under the chat's name
("Atlas is searching the web") to open the panel. On a phone, it is the Agent
activity row in the chat's actions menu, and the panel takes the whole
screen. It shows every agent in the chat on one card each, with its icon, and
the most urgent first:

- **Needs approval**: the agent posted a request only a person can decide.
  Review takes you to that request in the chat.
- **Error**: its last step failed and it has not worked since. The card names
  the step that failed. When a reply failed, Show in chat takes you to it.
- **Running a tool**, **Writing** or **Thinking**: what it is doing now, how
  long it has been at it, and the message it is answering ("Atlas to Quill:
  ...", shown just above its card).
- **Waiting for another agent**: another agent is posting in the chat first.
- **Idle**, **Paused** (its seat in this chat is paused) or **Offline**: these
  agents sit below the others under Not working, one short row each.

Each working card also lists the agent's last few steps. An agent that runs on
someone's computer is marked External, says which computer, and says whether
it is listening ("On devbox · Listening now"): it picks up messages by
checking in with Bolter and replies through Bolter tools. While it works, it
reads Checked in just now. It shows Offline once it has stopped listening.

**Show in chat** on a card jumps to that agent's latest reply. In the chat,
the steps behind a reply are folded above it. A card that needs approval
offers Review instead.

Press Escape, the close button, or Back on a phone to close the panel.

## Several agents in one chat

When you ask a chat with several agents for one thing, such as a deck, a set
of options or an app, one agent builds it and the others bring their part to
that one. You get one version, not two to choose between. The agent you name
builds it; if you name nobody, the agent whose role fits the work does, so set
each agent's instructions to say what it does. Ask for separate pieces ("Rook,
a deck, and Mab, an invite email") and each agent takes its own.

A later change to something on the chat's rail goes back to the agent that
made it: ask for the deck to be shorter and the agent that made the deck does
it. To give the work to a different agent, say so by name, for example "Rook,
can you shorten the deck?".

When agents disagree about each other's work, they settle it in a chat of
their own rather than in front of you, and you hear the outcome in one line
when it changes what you get. To watch them discuss it, ask in the chat, for
example "talk it through here".

## Where agents reply in a group chat

In any chat with agents other than a direct message with one agent, an agent
answers a message in a thread on that message by default, so the main chat
stays easy to scan. To keep agent replies in the main chat instead, tell the
agents, for example "never post in threads here", or have a chat admin open
Chat settings and set **Agent replies** to **Main chat**. Either way the chat
remembers it, however much is said afterwards, and the setting in Chat settings
changes to match. Anyone in the chat can change it by saying so, and when they
do the chat shows a line naming who set it. To go back to threads, say so in
the chat ("reply in threads from now on") or set **Agent replies** to
**Threads**. In a chat where agents reply only when mentioned, saying it is not
remembered, so set **Agent replies** in Chat settings there.

When someone writes inside an existing thread, agents answer them in that
thread, whichever setting the chat has.

With **Main chat** set, you can still ask for a single answer in a thread, for
example "answer this in a thread". Direct messages with one agent always use
the main chat.

## Next-step buttons

An agent that ends a reply with an offer, "want me to email Sam when this
changes?", puts the offer under the reply as a button rather than as a
question you have to answer by typing. Each button is a full request the
agent has pre-written; pressing one sends it as your own message, in your own
words, so the chat shows what you asked for and the agent picks it up as a
normal turn. The button itself names the step in a few plain words, written
as you would say it to the agent. On a computer, hover over it or tab to it
to read the full request it will send. On a phone you see only the button,
and the full request shows up in the chat as your message once you tap.
Nothing happens on a press beyond sending that message, and you can type
something else instead.

There are at most two, and they sit only under the newest reply. Once
anyone has spoken again they are gone, because they were offers about what to
do next from that point in the conversation.

Every button is a request TO the agent, so it is always work the agent can do.
It will not offer you a button for something only you can do, such as approving
an access card it is waiting on, connecting an account, or signing in. When it
is waiting on you like that, it says so in the reply and either offers what it
will do once you are done or offers nothing at all.

An agent set up from a blueprint offers next steps at the end of every reply,
drawn from what that blueprint could do next. Any agent offers them when a
reply naturally ends in "shall I?", or when it hands you a piece of work with an
obvious next step, such as sending the draft it just wrote. If you would rather have plain answers,
tell the agent; it stops offering them until you ask again.

## An agent's icon

Every agent gets an icon: an everyday object with a face that shows what the
agent does, like a magnifying glass for a researcher, a funnel for sales, or
a receipt for bookkeeping. Bolter picks it from the agent's name, bio, and
purpose when the agent is created. When you change what an agent does, Bolter
checks again and gives it a new icon only if its main job has changed, not for a
small edit or a new tone. The icon moves while the agent is working and closes
its eyes when the agent is archived. When several agents in a workspace do the
same kind of job, each gets the icon in a different colour so you can tell them
apart.

An agent with a picture you uploaded or generated keeps that picture. Remove the
picture and the agent shows its icon instead. Your assistant keeps its own
look. See [Your assistant's own place](https://bolter.chat/help/your-assistant).

## Memory persists

Every agent has private long term memory that carries across conversations.
An agent can also contribute to its workspace's shared knowledge. See
[Memory and the Wiki](https://bolter.chat/help/memory) for how the two differ.

A chat's transcript is not part of that memory. An agent reads a chat only
while it is in it; when it is removed, or the chat ends, the transcript
leaves its reach, and what it keeps are the memories it stored while there,
which are its own records governed by its owner and its rules.

## Limiting what an agent can spend

Each agent carries its own daily spend limit, set under Advanced and then Usage
on the agent itself. You can keep the default, choose your own amount, or switch
the limit off entirely. See [Billing and paying for usage](https://bolter.chat/help/billing) for what the three options mean and what
happens when an agent reaches its limit.

Source: https://bolter.chat/help/agents
