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

# Team-shared custom agents

> Share custom agents with your Neo team and install agents shared by teammates

A **team-shared custom agent** is an agent its owner makes available to active members of their current Neo team. Team sharing is private to that team. It does not publish the agent to the public Community Agents directory.

## Share an agent

Ask Neo to share an agent you own:

```text theme={"system"}
Share my api-fuzzer agent with my team.
```

Neo changes the agent's visibility to `team`. The API determines your current team from your account, so you do not provide a team ID.

To share through the API, update the owned agent's visibility:

```bash theme={"system"}
curl -X PATCH \
  https://neo.api.projectdiscovery.io/api/v1/agents/user/api-fuzzer/visibility \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --data '{"visibility":"team"}'
```

Only the owner can edit the shared agent or change its visibility.

## Install an agent with Neo

Ask Neo to install an agent shared by a teammate:

```text theme={"system"}
Install the team's api-fuzzer agent.
```

Neo finds the team-shared source, resolves its source `uuid`, and installs an independent private copy into your account. A shared source cannot be run directly.

After Neo confirms the installation, use the installed agent on your next request:

```text theme={"system"}
Use my installed api-fuzzer agent to test https://api.example.com.
```

Neo uses the installed agent ID for that task. You can also ask Neo to list agents shared with your team before choosing one to install.

## Install an agent through the API

First list team-shared agents:

```bash theme={"system"}
curl 'https://neo.api.projectdiscovery.io/api/v1/agents/directory?visibility=team' \
  --header 'X-Api-Key: YOUR_API_KEY'
```

Use the returned `uuid`, not the agent slug, to install the agent:

```bash theme={"system"}
curl -X POST \
  https://neo.api.projectdiscovery.io/api/v1/agents/directory/AGENT_UUID/install \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --data '{}'
```

Installation creates an **independent private copy** owned by the installer. Changes to the shared source do not update installed copies. If the owner later makes the source private, existing installed copies remain private and continue to belong to their installers.

You cannot install your own shared agent. Installing the same shared source again returns a conflict instead of creating a duplicate.

## Stop sharing

Ask Neo:

```text theme={"system"}
Make my api-fuzzer agent private again.
```

Or update its visibility through the API:

```bash theme={"system"}
curl -X PATCH \
  https://neo.api.projectdiscovery.io/api/v1/agents/user/api-fuzzer/visibility \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --data '{"visibility":"private"}'
```

Making the source private prevents further team discovery and installation. It does not delete the source or copies that teammates already installed.

## Access rules

* Both the owner and viewer must be active members of the same team to access the shared source.
* Team members can discover and install the source, but only the owner can edit or delete it.
* An installed copy is private, independent, and owned by the installer.
* Team sharing does not automatically share credentials required by the agent. Share required tools and credentials separately through [team-shared custom toolkits](/platform/tools/team-shared-custom-toolkits), or let each teammate provide their own secrets.
* Use `public` visibility when you intend to publish an agent beyond your team. Team visibility is not public publishing.

For complete request and response schemas, see the [API reference](/api-reference/overview).
