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.

Updated

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.

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).

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.

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.

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), 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).

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.

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.

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 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.

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 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 for what the three options mean and what happens when an agent reaches its limit.

Ready to run a process on Bolter?

Anyone can sign up, free. Start from a blueprint or describe the job in plain words.

Get started