# Agents

**You'll need:** an administrative role to build or edit agents. Everyone can use them.

**Administration → Manage Agents.**

An agent is a configured assistant: instructions that describe how it behaves, knowledge
bases it may read, and capabilities it may use. Your workspace comes with pre-built
agents, and you can add your own.

## Agent settings

| | |
|---|---|
| **Name, description, icon** | How people find it in the agent picker. |
| **System Instructions** | How it should behave and respond. The most important field. |
| **Type** | *Fast* for quick general work, *Thinking* for complex reasoning, *Image* for image generation. Picking a type selects the model for you. |
| **Knowledge bases** | Which of your knowledge bases it may read. |
| **Capabilities** | What it may do beyond talking. See below. |
| **Temperature** | How varied its answers are. Lower is focused and repeatable; higher is creative. Leave it alone unless you have a reason. |
| **Who can use this** | Which people and roles get it in their picker. |

**Preview System Instructions** shows exactly what the agent will be sent, fully
assembled: its own instructions, your extra instructions, and the attached knowledge. It
is the fastest way to diagnose an agent that is behaving oddly.

## Capabilities

| | |
|---|---|
| **Photo Search** | Search and select photos from the media library. |
| **Image Generation** | Generate images from a description. |
| **Design Creation** | Create editable designs from your templates, or from a brief. |
| **Logo Selector** | Pick the right logo from the brand's logo library. |
| **Brand Style** | Read the brand colors and text styles, so output is styled on brand. |
| **Knowledge Lookup** | Look up media in a knowledge base, or catalog records with their attributes and links. |
| **External Data** | Query connected systems for live data. See [external data](/guide/automation/workflows). |
| **Web Search** | Search the web for current information. |
| **URL Context** | Read and analyze a page the user links to. |
| **Maps** | Look up locations and map information. |

Give an agent the capabilities its job needs and no more. An agent that can search the
web will sometimes answer from the web when you wanted an answer from your knowledge.

For External Data you can also restrict *which* connected systems the agent may reach,
rather than granting all of them.

## Pre-built agents

Some agents ship with the platform. Their core instructions cannot be edited, but you
can still:

- choose which of your knowledge bases they use
- add **Extra Instructions**, guidance from your organization appended to their own
  ("always mention our refund policy when discussing orders")

**Reset to defaults** returns the knowledge selection to how it shipped.

## Public-facing agents

An agent can be made **public-facing**, which lets anonymous website visitors chat with
it through a [chat widget](/guide/automation/chat-widgets) or a [voice
agent](/guide/automation/voice-agents).

<Callout type="caution">
	Everything attached to a public-facing agent is exposed through its answers. Its
	knowledge bases and its instructions can be extracted by anyone who talks to it,
	whether or not you intended that.

	Attach only content you would publish. The app asks you to confirm this explicitly
	before making an agent public, and shows a persistent banner on it afterward listing
	which widgets it is live on.
</Callout>

Only public-facing agents can be used by widgets and voice agents. If your agent is not
in the list when you set one up, this is why.

## Test an agent

Open a chat with the agent and ask the five questions your users will actually ask.
Check **References** under each reply: an answer with no references came from the model
rather than from your material, which usually means the knowledge base it needs is not
attached, or does not contain what you expected.
