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

# Tools and access

> One list that decides what an agent can reach and what it can do there. The levels you pick are enforced, not advice.

**Tools and access** is a single list, one row per target, one level per row. It appears in the New agent form and again on the agent's detail page.

Two kinds of row share the list. **Capabilities** are built into Squad, covering the open web, your knowledge base, insights, and goals. **Connections** are places outside Squad, plus web pages you name directly.

## Levels are enforced

<Warning>
  The level on a row decides which tools the agent is handed for the run. A tool the row does not grant is never built, so it is not on the agent's list at all.
</Warning>

An agent whose knowledge-base row is set to **Can view** has no tool that can change a document. There's nothing to call, so instructions telling it to "update the roadmap doc" produce a run where it reads the doc and reports that it couldn't write. Widen the row and the tool appears on the next run.

Connections work the same way. An agent with no Notion row can't read a Notion page even when the workspace is connected and another agent reads it fine.

## Capabilities

<AccordionGroup>
  <Accordion title="Web access" icon="globe">
    A straight **On** or **Off** switch. On, the agent can search the web and open public pages while working its brief. Off, it works only from what you gave it.
  </Accordion>

  <Accordion title="Knowledge base" icon="book-open">
    Graded, and each level contains the one before it.

    * **Can view**: search, open, and follow documents and folders.
    * **Can groom**: everything above, plus editing existing documents where the brief warrants it.
    * **Can create**: everything above, plus writing new documents and folders.
    * **None**: no access to the knowledge base at all.

    <Tip>
      Pick the narrowest level that does the job. An agent that only needs context for a report belongs on **Can view**. One whose job is keeping a document current needs **Can groom**. Give it **Can create** when you want new documents appearing on their own.
    </Tip>
  </Accordion>

  <Accordion title="Insights and Goals" icon="lightbulb">
    **Read only** or **None**. An agent can list your [insights](/insights) and your goals to ground its work. Neither capability lets an agent change them.
  </Accordion>
</AccordionGroup>

## Connections

**Web pages** is always in the list and needs nothing connected. Add a URL, optionally with a label, and the agent fetches that page on every run and tells you what meaningfully changed since last time. Changelogs, pricing pages, docs, status pages, and competitor blogs are the usual candidates. The only level is **Read**. A page that fails to load shows up in the run's history as a source that couldn't be read, rather than silently disappearing.

Everything else is a provider. **Add connection** lists the providers that offer agent tools. Ones you've already connected can be added straight away. Ones you haven't show a **Connect** button, which takes you to [Integrations](/integrations).

Adding a connection and scoping it are two separate steps. Adding it puts a row in the list with a level, defaulting to the most restrictive real level available. Scoping it means naming the specific pages or channels underneath, which you do from the row. A connection with no scopes under it still grants the provider's tools at the level you chose.

**Notion**'s only level is **Can view**. An agent can open the pages you scope to it. **Slack** has two.

<Note>
  An agent can hold at most ten connection scopes. That includes every URL, every Slack channel, and every Notion page across all its connections. It limits how wide one run's reading can fan out, not how many places you can integrate.
</Note>

## Slack: reading versus capturing

Slack's two levels differ in where the messages end up.

<Tabs>
  <Tab title="Read only">
    **Read only** lets the agent open a channel and use what it finds for this run. Nothing is stored.

    Choose it when the agent needs the context but the channel shouldn't become part of your data.
  </Tab>

  <Tab title="Capture messages as signals">
    **Capture messages as signals** reads the channel and also saves the messages into Squad as signals, where they join everything else in the pipeline and can cluster into insights.

    <Warning>
      That's a write into your workspace, not a read, and it keeps happening on every run.
    </Warning>

    Choose it when you want the channel to become an ongoing input to your evidence.
  </Tab>
</Tabs>

New Slack connections start on **Read only**. Move to capturing deliberately.

## Turning a row off

The two kinds of row behave differently.

Setting a **connection** to **None** removes it. The row disappears from the list and its scopes go with it. To bring it back, add the connection again and rescope it.

Setting a **capability** to **None** leaves the row in the list, visibly off. The agent gets no tool for it, and you can see that you turned it off rather than never considered it.

## Saving

In the New agent form, tools and access are saved with the agent when you click **Create agent**.

On the detail page, edits are staged. Change a level, add a connection, or add a URL and nothing is written yet. A save button appears at the bottom of the section once something is dirty, and only pressing it commits the whole set.

<Warning>
  Leave the detail page without pressing save and your changes are dropped.
</Warning>

<Tip>
  A new agent form starts with web access **On**, the knowledge base on **Can create**, and insights and goals on **Read only**. Tighten anything you don't want before creating.
</Tip>

## What isn't here

Some things you might expect to grant are missing because the underlying tool doesn't exist. There's no way to give an agent write access to Notion, no permission that lets an agent send mail, and no scoped outbound posting to Slack. They're absent from the menus rather than present and inert.

<Note>
  Reports still reach Slack and email. That runs through the report's delivery settings, which are configured under the agent's report output, not here. See [Agents](/agents).
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.