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

# DigitalOcean

> What agents can do in DigitalOcean at each access level, and how to connect, limit, and disconnect DigitalOcean.

Connect DigitalOcean so your agents can work in your DigitalOcean account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each DigitalOcean account has an access level: **Read-only** and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                         | The connect window describes this level as              | Actions agents can use |
| ----------------------------- | ------------------------------------------------------- | ---------------------- |
| **Read-only**                 | "Read droplets, apps, accounts, billing."               | 21 of 48               |
| **Full access** (recommended) | "Create, modify, and delete any DigitalOcean resource." | 48 of 48               |

**Full access** is the recommended level. The connect window selects it for you, and you can choose another level.

The DigitalOcean sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my DigitalOcean account?" The agent can search the DigitalOcean actions for you.</Tip>

Each action shows its name, a one-line description where the DigitalOcean action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 21 of the 48 DigitalOcean actions at this level:

    * View domains
    * View droplets
    * View images
    * View networks
    * View records
    * View tags
    * View apps
    * View clusters
    * View databases
    * View firewalls
    * View keys
    * View load balancers

    All 21 actions at this level:

    | Works on           | Action                       | What it does                                                                                                                                                                                                             | Slug                                         |
    | ------------------ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- |
    | **Apps**           | List apps                    | List all App Platform apps in your DigitalOcean account.                                                                                                                                                                 | `DIGITAL_OCEAN_LIST_APPS`                    |
    | **Clusters**       | List all kubernetes clusters | List all Kubernetes clusters on your account.                                                                                                                                                                            | `DIGITAL_OCEAN_LIST_ALL_KUBERNETES_CLUSTERS` |
    | **Databases**      | List all databases           | List all managed database clusters on your account.                                                                                                                                                                      | `DIGITAL_OCEAN_LIST_ALL_DATABASES`           |
    | **Domains**        | List all domains             | Lists all DNS domains configured in your DigitalOcean account.                                                                                                                                                           | `DIGITAL_OCEAN_LIST_ALL_DOMAINS`             |
    |                    | Retrieve domain              | Retrieves complete details about a specific domain including its TTL and DNS zone file configuration.                                                                                                                    | `DIGITAL_OCEAN_RETRIEVE_DOMAIN`              |
    | **Droplets**       | List all droplets            | Lists all Droplets (virtual machines) in your DigitalOcean account with pagination support.                                                                                                                              | `DIGITAL_OCEAN_LIST_ALL_DROPLETS`            |
    |                    | Retrieve existing droplet    | Retrieve detailed information about a specific DigitalOcean Droplet by its unique numeric ID.                                                                                                                            | `DIGITAL_OCEAN_RETRIEVE_EXISTING_DROPLET`    |
    | **Firewalls**      | List all firewalls           | List all cloud firewalls configured in your DigitalOcean account.                                                                                                                                                        | `DIGITAL_OCEAN_LIST_ALL_FIREWALLS`           |
    | **Images**         | List all images              | List all images available on your account.                                                                                                                                                                               | `DIGITAL_OCEAN_LIST_ALL_IMAGES`              |
    |                    | Retrieve existing image      | Retrieve information about an image by ID or slug.                                                                                                                                                                       | `DIGITAL_OCEAN_RETRIEVE_EXISTING_IMAGE`      |
    | **Keys**           | List all SSH keys            | Lists all SSH keys associated with your DigitalOcean account.                                                                                                                                                            | `DIGITAL_OCEAN_LIST_ALL_SSH_KEYS`            |
    | **Load balancers** | List all load balancers      | List all load balancers in your DigitalOcean account with pagination support.                                                                                                                                            | `DIGITAL_OCEAN_LIST_ALL_LOAD_BALANCERS`      |
    | **Networks**       | List all vpcs                | List all VPCs on your account.                                                                                                                                                                                           | `DIGITAL_OCEAN_LIST_ALL_VPCS`                |
    |                    | Retrieve VPC                 | Retrieve details about a specific VPC by its ID.                                                                                                                                                                         | `DIGITAL_OCEAN_RETRIEVE_VPC`                 |
    | **Records**        | List domain records          | List all DNS records for a domain.                                                                                                                                                                                       | `DIGITAL_OCEAN_LIST_DOMAIN_RECORDS`          |
    |                    | Retrieve domain record       | Retrieve a specific DNS record for a domain by its record ID.                                                                                                                                                            | `DIGITAL_OCEAN_RETRIEVE_DOMAIN_RECORD`       |
    | **Settings**       | List database options        | Lists all available configuration options for DigitalOcean managed database clusters, including supported engines (PostgreSQL, MySQL, MongoDB, Valkey, Kafka, OpenSearch), versions, regions, and cluster sizes/layouts. | `DIGITAL_OCEAN_LIST_DATABASE_OPTIONS`        |
    | **Snapshots**      | List all snapshots           | List all snapshots available on your DigitalOcean account.                                                                                                                                                               | `DIGITAL_OCEAN_LIST_ALL_SNAPSHOTS`           |
    | **Tags**           | List all tags                | List all tags in your account.                                                                                                                                                                                           | `DIGITAL_OCEAN_LIST_ALL_TAGS`                |
    |                    | Retrieve tag                 | Retrieve an individual tag by name.                                                                                                                                                                                      | `DIGITAL_OCEAN_RETRIEVE_TAG`                 |
    | **Volumes**        | List all volumes             | List all block storage volumes available on your account.                                                                                                                                                                | `DIGITAL_OCEAN_LIST_ALL_VOLUMES`             |
  </Accordion>

  <Accordion title="Full access (recommended)">
    Agents can use 48 of the 48 DigitalOcean actions at this level: everything in **Read-only**, plus:

    * Create and delete clusters
    * Create, update, and delete networks
    * Create, update, and delete records
    * Create and delete domains
    * Create and delete droplets
    * Create and delete firewalls
    * Create and delete images
    * Create and delete keys
    * Create and delete load balancers
    * Update resources
    * Create and delete tags
    * Create and delete volumes

    The 27 actions that this level adds to **Read-only**:

    | Works on           | Action                          | What it does                                                                                              | Slug                                            |
    | ------------------ | ------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
    | **Clusters**       | Create database cluster         | Creates a new managed database cluster on DigitalOcean.                                                   | `DIGITAL_OCEAN_CREATE_DATABASE_CLUSTER`         |
    |                    | Create new kubernetes cluster   | Creates a new DigitalOcean Kubernetes (DOKS) cluster with managed control plane.                          | `DIGITAL_OCEAN_CREATE_NEW_KUBERNETES_CLUSTER`   |
    |                    | Delete database cluster         | Delete a database cluster by UUID.                                                                        | `DIGITAL_OCEAN_DELETE_DATABASE_CLUSTER`         |
    | **Domains**        | Create new domain               | Creates a new domain in DigitalOcean's DNS management system.                                             | `DIGITAL_OCEAN_CREATE_NEW_DOMAIN`               |
    |                    | Delete domain                   | Deletes a domain from DigitalOcean DNS.                                                                   | `DIGITAL_OCEAN_DELETE_DOMAIN`                   |
    | **Droplets**       | Create new droplet              | Create a new Droplet.                                                                                     | `DIGITAL_OCEAN_CREATE_NEW_DROPLET`              |
    |                    | Delete existing droplet         | Delete a Droplet by ID.                                                                                   | `DIGITAL_OCEAN_DELETE_EXISTING_DROPLET`         |
    | **Firewalls**      | Create new firewall             | Creates a new cloud firewall with custom inbound and outbound rules.                                      | `DIGITAL_OCEAN_CREATE_NEW_FIREWALL`             |
    |                    | Delete firewall                 | Delete a firewall by ID.                                                                                  | `DIGITAL_OCEAN_DELETE_FIREWALL`                 |
    | **Images**         | Create custom image             | Creates a custom image in DigitalOcean by importing a Linux VM disk image from a publicly accessible URL. | `DIGITAL_OCEAN_CREATE_CUSTOM_IMAGE`             |
    |                    | Delete image                    | Deletes a user-created custom image or snapshot from your DigitalOcean account by its numeric ID.         | `DIGITAL_OCEAN_DELETE_IMAGE`                    |
    | **Keys**           | Create new SSH key              | Registers a new SSH public key with your DigitalOcean account.                                            | `DIGITAL_OCEAN_CREATE_NEW_SSH_KEY`              |
    |                    | Delete SSH key                  | Delete a public SSH key.                                                                                  | `DIGITAL_OCEAN_DELETE_SSH_KEY`                  |
    | **Load balancers** | Create new load balancer        | Create a new load balancer.                                                                               | `DIGITAL_OCEAN_CREATE_NEW_LOAD_BALANCER`        |
    |                    | Delete load balancer            | Delete a load balancer instance by ID.                                                                    | `DIGITAL_OCEAN_DELETE_LOAD_BALANCER`            |
    | **Networks**       | Create new VPC                  | Creates a new Virtual Private Cloud (VPC) in a specified DigitalOcean region.                             | `DIGITAL_OCEAN_CREATE_NEW_VPC`                  |
    |                    | Delete VPC                      | Delete a VPC (Virtual Private Cloud) by its unique identifier.                                            | `DIGITAL_OCEAN_DELETE_VPC`                      |
    |                    | Update VPC                      | Update information about a VPC.                                                                           | `DIGITAL_OCEAN_UPDATE_VPC`                      |
    | **Records**        | Create new domain record        | Create a new DNS record for a domain.                                                                     | `DIGITAL_OCEAN_CREATE_NEW_DOMAIN_RECORD`        |
    |                    | Delete domain record            | Delete a DNS record by its record ID for a domain.                                                        | `DIGITAL_OCEAN_DELETE_DOMAIN_RECORD`            |
    |                    | Update domain record            | Update an existing DNS record for a domain.                                                               | `DIGITAL_OCEAN_UPDATE_DOMAIN_RECORD`            |
    | **Resources**      | Tag resource                    | Tag resources by name.                                                                                    | `DIGITAL_OCEAN_TAG_RESOURCE`                    |
    |                    | Untag resource                  | Untag resources by tag name.                                                                              | `DIGITAL_OCEAN_UNTAG_RESOURCE`                  |
    | **Tags**           | Create new tag                  | Creates a new tag in DigitalOcean for organizing and grouping resources.                                  | `DIGITAL_OCEAN_CREATE_NEW_TAG`                  |
    |                    | Delete tag                      | Deletes a tag from your DigitalOcean account.                                                             | `DIGITAL_OCEAN_DELETE_TAG`                      |
    | **Volumes**        | Create new block storage volume | Create a new block storage volume.                                                                        | `DIGITAL_OCEAN_CREATE_NEW_BLOCK_STORAGE_VOLUME` |
    |                    | Delete block storage volume     | Permanently deletes a block storage volume by its unique ID.                                              | `DIGITAL_OCEAN_DELETE_BLOCK_STORAGE_VOLUME`     |
  </Accordion>
</AccordionGroup>

## Connect DigitalOcean

Before you start:

* You need a DigitalOcean account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find DigitalOcean">
    Find **DigitalOcean** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect DigitalOcean">
    Click **Connect DigitalOcean**. The DigitalOcean sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to DigitalOcean">
    Sign in to DigitalOcean and approve the request.
  </Step>
</Steps>

Check that it works: DigitalOcean shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the DigitalOcean account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the DigitalOcean account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one DigitalOcean account

Click **+ Account** on the DigitalOcean card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the DigitalOcean side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on DigitalOcean**.
3. Sign in to DigitalOcean and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the DigitalOcean account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected DigitalOcean account becomes primary.</Warning>

## Costs

DigitalOcean actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to DigitalOcean, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the DigitalOcean connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in DigitalOcean?">
    Each DigitalOcean account has an access level: **Read-only** and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one DigitalOcean account?">
    Click **+ Account** on the DigitalOcean card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect DigitalOcean?">
    Open the account menu (⋯) on the DigitalOcean account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
