> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-5e9cc07a-preview-ccsyst-1784037136-69dfadc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Essentials

> Fleet's core features

LangSmith Fleet essentials are the core features that make up the foundation of your agents. They include tools, channels, memory, sub-agents, and approvals.

## Agent identity

Agent identity controls whose [credentials](/langsmith/fleet/workspace-admin) the agent uses when it interacts with apps and services.

See [Agent identity](/langsmith/fleet/agent-identity) for more information.

## Agent sidebar

Configure your agent from the sidebar built into the agent chat page. The sidebar organizes agent configuration into drawers:

* **Channels**: Connect the places your agent runs in, such as Slack, Gmail, and Microsoft Teams. See [Channels](/langsmith/fleet/channels).
* **Sharing**: Control who can use the agent, with options for private, workspace, or specific people. See [Change access to the agent](/langsmith/fleet/manage-agent-settings#change-access-to-the-agent).
* **Connections**: Manage the integrations and tools your agent can use, set the connection format, and set each tool to run automatically or ask for approval. See [Tools](#tools), [Agent identity](#agent-identity), and [Human-in-the-loop](#human-in-the-loop).
* **Knowledge**: Manage the agent's instructions, skills, and memory. See [Instructions](#instructions), [Skills](#skills), and [Memory](#memory).
* **Schedule**: Run your agent on a recurring basis. See [Schedules](/langsmith/fleet/schedules).
* **Advanced settings**: Configure the model, API keys, sub-agents, diagnostics, and developer options for your agent.

<Tip>
  You can also configure your agent by chatting with it. In the agent chat, tell the agent how to improve itself, for example: "Add the Slack tools so you can respond to messages."
</Tip>

## Channels

<Anchor id="triggers" />

Channels define when your agent should start running. You can connect your agent to external tools or time-based schedules, letting it respond automatically to messages, emails, or recurring events.

See [Channels](/langsmith/fleet/channels) for setup instructions and supported channel types.

## Custom models

Fleet supports custom models. You can connect any LLM API that supports the **OpenAI chat completions spec** or **Anthropic chat spec**.

Common use cases include:

* **LLM proxies**: Route requests through services like LiteLLM, Portkey, or your own proxy.
* **Self-hosted models**: Connect to models running on your own infrastructure.
* **Alternative providers**: Use any provider with a compatible API.

To add a custom model:

1. In the [LangSmith UI](https://smith.langchain.com?utm_source=docs\&utm_medium=cta\&utm_campaign=langsmith-signup\&utm_content=langsmith-fleet-essentials), open your agent.
2. In the sidebar, expand the **Advanced settings** drawer.
3. In the **Model** section, select **+ Add custom model**.
4. Enter the model ID, display name, base URL, and API key name and value.
5. Click **Save**.

<Note>
  Custom models must be accessible through a public API endpoint. LangSmith cannot connect to models hosted on private networks, behind VPNs, or on machines that are not exposed to the internet.
</Note>

## Human-in-the-loop

Stay in control of important decisions. You can set up your agent to pause and ask for your approval before taking certain actions. This ensures your agent handles most tasks automatically, while you retain oversight.

### Set an approval mode

Each tool has an approval mode you can set in the **Connections** drawer of the [agent sidebar](#agent-sidebar):

* **Auto**: The tool runs automatically without approval.
* **Ask**: The agent pauses and waits for your approval before the tool runs.

To require approval for a tool, set it to **Ask**. When the agent reaches that tool, it pauses until you respond.

### What you can do when your agent pauses

When your agent stops to ask for approval, you have three options:

<CardGroup cols={3}>
  <Card title="Accept" icon="check">
    Give the green light and let your agent proceed with its plan.
  </Card>

  <Card title="Edit" icon="edit">
    Modify the agent's message or parameters before allowing it to continue.
  </Card>

  <Card title="Send feedback" icon="message">
    Share feedback to help your agent learn and improve.
  </Card>
</CardGroup>

<Note>
  When an agent is triggered from Slack, it raises the approval request directly in the Slack thread with **Approve** and **Deny** buttons, so you can respond without leaving Slack. See [Approve or deny actions in Slack](/langsmith/fleet/slack-app#approve-or-deny-actions-in-slack).
</Note>

## Instructions

Instructions are the system prompt that defines your agent's behavior, personality, and capabilities. They guide how the agent interprets requests, uses its tools, and responds to users.

To edit instructions:

1. In the [LangSmith UI](https://smith.langchain.com?utm_source=docs\&utm_medium=cta\&utm_campaign=langsmith-signup\&utm_content=langsmith-fleet-essentials), open your agent.
2. In the sidebar, expand the **Knowledge** drawer.
3. In the **Instructions** section, edit the agent instructions.

<Tip>
  You can also update instructions by prompting the agent directly in the chat. For example: "Update your instructions to always respond in bullet points."
</Tip>

## Memory

Agents remember important information from previous conversations and can update themselves to work better. Fleet agents use two sources of memory:

* **Thread-scoped memory**: Context from the current conversation thread, including messages and actions in that thread.
* **Long-term memory**: Persistent files in the agent workspace, such as `AGENTS.md`, `tools.json` (tool configuration), `subagents/*`, and `skills/*`. These are loaded at runtime and available from the start of each run. `AGENTS.md` is inserted into the system prompt automatically. Other long-term files are not added to the prompt automatically; the agent must read them on demand (for example, using the `read_file` tool).

Agents persist relevant details from past interactions by writing files to a **memories folder** (using `write_file` and `edit_file` tool calls). This helps them make better decisions in future conversations.

<Note>
  By default, agents require approval before saving to the memories folder. You can change this in the **Knowledge** drawer under **Memory**.

  For agents that run on automated [schedules](/langsmith/fleet/schedules#add-a-schedule), we recommend [disabling the approval requirement](/langsmith/fleet/manage-agent-settings#disable-required-approval-for-memory-updates) so the agent can persist information without manual intervention.
</Note>

For more information, see [How we built the memory system for Fleet (formerly known as Agent Builder)](https://www.langchain.com/conceptual-guides/how-we-built-agent-builders-memory).

## Self-updates

Agents can update themselves: they can add new tools, remove ones they don't need, or adjust their instructions. However, agents can't change their name, description, or the channels that start them.

## Skills

Skills are a way to bundle capabilities and provide more specific information in situations where the context is not universally relevant.

Using skills can help:

* Save on token usage by only providing the context that is relevant to the current task.
* Prevent the agent from having too much context in the system prompt, which can lead to hallucinations and incorrect responses.

To add a skill, expand the **Knowledge** drawer in the agent sidebar and click **+ Add skill**.

For more information, see [Skills](/langsmith/fleet/skills).

## Sub-agents

Build complex agents by breaking big tasks into smaller, specialized helpers. Think of sub-agents as a team of specialists, each one handling a specific part of the job while working with your main agent.

This approach makes it easier to build sophisticated systems. Instead of one agent trying to do everything, you can have specialized helpers that each excel at their part of the task.

Here are some ways you might use sub-agents:

* Split into sub-tasks: Have one agent fetch data, another summarize it, and a third format the results.
* Specialized tools: Give different agents access to different tools based on what they need to do.
* Independent work: Let sub-agents work on their own, then bring their results back to the main agent.

To add a sub-agent, open your agent, expand the **Advanced settings** drawer in the sidebar, and under **Subagents** click **+ Add subagent**.

## Threads

Threads are conversations between you and your agent. Each thread contains messages, agent responses, and any actions the agent takes.

To view threads, navigate to your agent in the [LangSmith UI](https://smith.langchain.com?utm_source=docs\&utm_medium=cta\&utm_campaign=langsmith-signup\&utm_content=langsmith-fleet-essentials). The inbox shows all threads for that agent. Click on a thread to view the conversation.

### Read and unread status

How threads are marked depends on whether the agent uses channels:

* **Chat agents (no channel):** Responses mark the thread as **unread**. Viewing the thread marks it as read.
* **Channel-based agents:** Responses keep the thread as **read** by default.

You can manually mark any thread as read or unread at any time.

## Tools

Tools let your agents interact with your apps and services. Your agents can send emails, create calendar events, post messages, search the web, and more. Choose from built-in tools for Gmail, Slack, Google Calendar, GitHub, and many others.

Tools work regardless of how the agent was triggered. For example, you can start a task in the Fleet chat UI and have the agent send you a [Slack message](/langsmith/fleet/slack-app#add-slack-tools) when it's done.

See [Tool integrations](/langsmith/fleet/tools) for more information.

## Traces

Traces are a series of steps that your agent takes to go from input to output. You can use [LangSmith](/langsmith/observability) to visualize these execution steps.

To view all traces for your agent:

1. In the [LangSmith UI](https://smith.langchain.com?utm_source=docs\&utm_medium=cta\&utm_campaign=langsmith-signup\&utm_content=langsmith-fleet-essentials), open your agent.
2. In the sidebar, expand the **Advanced settings** drawer.
3. Under **Diagnostics**, click **View agent traces**.

To view a trace for a specific thread:

1. In the [LangSmith UI](https://smith.langchain.com?utm_source=docs\&utm_medium=cta\&utm_campaign=langsmith-signup\&utm_content=langsmith-fleet-essentials), navigate to your agent's inbox.
2. Right-click on the thread you want to trace and select **View trace**.

For more information, see [LangSmith Observability](/langsmith/observability).

<Note>
  Fleet traces all agent runs and stores them in LangSmith. LLM providers do not retain your data. On LangSmith Cloud, trace data is stored with a 14-day retention period by default.
</Note>

## Next steps

* [Set up your workspace](/langsmith/fleet/workspace-admin)
* [Connect apps and services](/langsmith/fleet/tools)
* [Use remote servers for tools](/langsmith/fleet/remote-mcp-servers)
* [Choose between workspace and private agents](/langsmith/fleet/manage-agent-settings)
* [Call agents from your app](/langsmith/fleet/code)

***

<div className="source-links">
  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>

  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/langsmith/fleet/essentials.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>
</div>
