> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementum.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Building Agents

> Create, configure, and test conversational AI agents in your app

You create and manage agents under **Intelligence** in your app. This page walks through creating an agent, configuring its instructions, controlling Skill access, adding the agent to workflows, and reviewing past conversations.

Once your agent is created, you can:

* Add tools so it can take action—see [Agent tools, deployment, and integrations](./agents-tools-and-deployment).
* Deploy it to a channel—see [Microsoft Teams](./agents-teams-integration), [Slack](./agents-slack-integration), or [phone](./agents-phone-integration).
* Expose it to external callers via the A2A protocol—see [Agent Architecture & A2A Protocol](./agents-a2a-protocol).

***

## Create an Agent

1. Within your app, click **Intelligence** in the left navigation menu.
2. Click **+ Agent** in the top right corner.
3. Enter a name and description in the respective fields.
4. Select an LLM from the dropdown. If none are available, click **Set up AI Service**.
5. Choose the permissions level.
   * **Run as publisher:** The agent always has the same level of access, regardless of the user interacting with the agent.
   * **Run as current user:** Permissions change with the user interacting with the agent.
   * **Run as service account:** Set up a dedicated account with specific permissions for the agent. This is ideal for integrations or automations that require consistent, controlled access.
6. Select the Agent type.
7. Click **Create Agent**.

***

## Configure Agent Settings

<Tip>Test the agent in the chat panel as you update the settings.</Tip>

1. Click the **Configure** button on the agent profile.
2. Add the first message you want the user to see or hear when using the agent.
3. Add instructions. This is the prompt the agent will follow. Make sure to include the agent's overall purpose, core responsibilities, guidance on using specific tools, and any constraints.

<Tip>Use an LLM to help refine the agent's prompt for clarity and completeness.</Tip>

***

## Instruction Version History

Every time you save agent instructions, Elementum keeps a versioned snapshot. You can compare any previous version side-by-side with the current instructions and revert instantly if a change causes unexpected behavior.

1. Click **Intelligence** in your app's left navigation menu.
2. Select the agent whose history you want to review.
3. Click **Configure**.
4. In the **Instructions** section, click **History**.
5. Select the version you want to view.
6. Review the side-by-side comparison with the current instructions.
7. Click **Revert To This Version** to restore the selected version, or click **Cancel** to return to the configuration page.

<Tip>Reverting to a previous version saves it as the new current version, so nothing is lost.</Tip>

***

## Add Tools

Add tools so the agent can search, create, or update records, run automations, delegate to other agents, or call external services. Tools are configured from the **Configure** page of the agent.

For configuration steps and field-by-field details for each tool type—including Search Records, AI Search, Create Record, Update Record, Run Automation, Run Agent, MCP, and the Ask User Question system tool—see [Agent tools, deployment, and integrations — Configure Agent Tools](./agents-tools-and-deployment#configure-agent-tools).

***

## Skill Access

Control which Skills the agent can discover and use at runtime. Skill Access is configured in the **Configure** page under the Skills section.

| Mode         | Behavior                                                |
| ------------ | ------------------------------------------------------- |
| **None**     | Agent has no access to Skills (default for new agents)  |
| **All**      | Agent can discover and use all active Skills in the app |
| **Selected** | Choose specific Skills the agent can use from a list    |

For full setup details, including preloaded Skills and runtime behavior, see [Agent Skills](./agents-skills).

***

## Voice Properties

When an agent is used through a phone integration, additional **Voice Properties** appear in the **Configure** page that control idle messages, timeouts, and the voice LLM. For the full field reference and setup steps, see [Agent Phone Integration — Voice Properties](./agents-phone-integration#voice-properties).

***

## Authentication and Connections

External systems can call your agent over the [Agent-to-Agent (A2A) protocol](./agents-a2a-protocol). The agent's **Configure** page exposes:

* An **Authentication** section to choose between OAuth and self-signed JWT and to configure the JWT verification settings. See [A2A Authentication (UI configuration)](./agents-a2a-protocol#configure-a2a-authentication) for field-level details.
* A **Connections** tab where you enable **A2A Streaming**, automatic record creation, and the conversation inactivity timeout. See [A2A Conversation Settings](./agents-a2a-protocol#a2a-conversation-settings).

***

## Starting Actions

You can configure **Starting Actions**—clickable chips that appear below the agent's greeting before the user's first message. Each action has a name, icon, and prompt template; optional `{{variable}}` placeholders open an inline form to collect inputs (Text, Number, or Dropdown) before sending. Actions without variables send immediately.

For full setup and variable options, see [Agent Starting Actions](./agents-starting-actions).

***

## Add Your Agent to Your App Workflow

Once your Agent is created and configured, you can edit and test by returning to **Intelligence** in your app.

The Agent can now be added to Automations. You can also open the Agent wherever you see the **Agent** button in Elementum, or use it through [Microsoft Teams](./agents-teams-integration), [Slack](./agents-slack-integration), and [phone integrations](./agents-phone-integration).

***

## Embed an Agent in a Managed View

Attach an agent to any [managed view](/workflows/managed-views) so users can chat with the agent in context of the records they are viewing. You can either add an agent to an existing List, Kanban, Calendar, or Dashboard view — which renders a chat box above the records — or create an **Agent** view type for a full-page embedded chat experience.

Agents embedded in a view respect the permissions of the viewing user, so responses only reference records that user can access. For configuration steps, see [Attach an Agent to a View](/workflows/managed-views#attach-an-agent-to-a-view).

***

## Conversation History

App admins can review past agent conversations to understand how the agent is performing and where it can be improved.

1. Click **Intelligence** in your app's left navigation menu.
2. Select the agent you want to review.
3. Click the **Conversation History** tab.
4. Select a conversation to view. The transcript shows what the user typed, how the agent responded, and which tool calls were made.
5. Click **Waterfall** in the top-right corner to switch to a time-based breakdown of the conversation. Each step displays an estimated duration, making it easy to identify which parts of the conversation are taking the longest.

<Note>
  **Context management via summarization:** When a conversation approaches the model's token limit, Elementum
  automatically summarizes earlier messages so the conversation can continue without interruption. Compaction happens
  transparently in the background — no user action is required — keeping agents responsive and contextually aware
  across longer, more complex interactions.
</Note>

***

## Agent Update History

To see a full history of updates made to an agent, including which user made each change, open the agent under **Intelligence** in your app and click the **History** tab.

***

## Related documentation

* [Interact with Configured Agents](./agents-interacting) — What end users see when chatting with an agent, including file inputs and in-chat forms
* [Agent tools, deployment, and integrations](./agents-tools-and-deployment) – Tool types, deployment channels, and external agents
* [Agent Architecture & A2A Protocol](./agents-a2a-protocol) – Internal architecture, A2A discovery, authentication, streaming, and multi-turn conversations
* [Agent Skills](./agents-skills) — Skills and automatic tool discovery; see [When to Use Skills vs Tools](./agents-skills#when-to-use-skills-vs-tools)
* [AI Services](./ai-services) – AI providers and models used by Agents
