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

# Managing Connections

Connections in Duvo are your personal authorized accounts linked to integrations — for example, your Gmail or Slack account. The CLI lets you list and inspect Connections from the terminal, and discover which Connection types your team has enabled.

For an overview of what Connections are and how to add new ones, see [Connections Overview](/user-guide/connections/connections-overview) and [How to Add a Connection](/user-guide/connections/how-to-add-connection).

## Available Connection types

`duvo integrations` is the catalog of services your team has enabled in Duvo. Use it to find Connection-type IDs that you can pass to other commands.

```bash theme={"dark"}
duvo integrations list                        # list the team's integration catalog
duvo integrations list --json                 # raw JSON for scripting
```

Each entry shows the Connection type's `id`, `name`, `type`, `provider`, and `auth_method` (none, OAuth, API key, custom headers, etc.).

### Custom integrations

If your team uses a custom MCP server, register it as a custom integration so Connections can be created against it:

```bash theme={"dark"}
duvo integrations custom create \
  --name "Internal Tools" \
  --server-url https://mcp.internal.acme.com \
  --auth-method url                             # register a custom MCP integration
duvo integrations custom delete <custom-integration-id>   # remove it (prompts unless -y)
```

`--auth-method` is required and must be one of `url` (no auth), `apikey`, `headers`, or `oauth`. For `oauth`, pair it with `--oauth-client-id` and `--oauth-client-secret` if your server isn't DCR-capable.

## Listing your Connections

`duvo connections` shows the Connections you've personally authorized.

```bash theme={"dark"}
duvo connections list                         # list every Connection you own
duvo connections list --type gmail            # filter to one integration type
duvo connections list --json                  # raw JSON for scripting
```

The table includes the Connection ID, name, Connection type, provider, and creation date. Use the ID with `duvo connections get` or to pin a Connection to a Revision (see [Advanced commands](/cli/advanced#pinned-connections)).

## Inspecting a single Connection

```bash theme={"dark"}
duvo connections get <connection-id>          # full details for one Connection
duvo connections get <connection-id> --json
```

The output includes the integration metadata and which credential fields are configured. **Secret values (API keys, tokens, passwords) are never returned** — the response only tells you which fields are set, not their values.

## Common workflows

### Find the Connection ID for a specific account

When you have multiple Gmail Connections (different mailboxes, for example) and need to reference a specific one in a Revision:

```bash theme={"dark"}
duvo connections list --type gmail --json | jq '.connections[] | {id, name, created_at}'
```

### Pin a Connection to an Agent Revision

Once you have the Connection ID, pin it so the Agent always uses that account:

```bash theme={"dark"}
duvo revision-integrations connections pin <connection-id> \
  --agent <agent-id> \
  --revision <revision-id> \
  --integration <integration-id>
```

See [Advanced commands → Pinned Connections](/cli/advanced#pinned-connections) for the full reference.

## Authorizing a Connection from the CLI

OAuth-based Connections require a browser consent step, so `duvo oauth` starts the flow and hands you the authorization URL to open. Once you approve in the browser, the Connection is created on your account.

```bash theme={"dark"}
duvo oauth native start <provider>            # start a native OAuth flow (Gmail, Google Sheets, Outlook, ...)
duvo oauth composio connect                   # start a Composio OAuth flow (Slack, HubSpot, Zendesk, ...)
duvo oauth composio start                     # initiate Composio authorization

duvo oauth mcp probe <url>                    # inspect an MCP server's auth requirements
duvo oauth mcp check --url <url>              # check whether an MCP server needs OAuth
duvo oauth mcp authorize --url <url> \
  --integration-type <type>                   # authorize an OAuth-protected MCP server
```

<Note>
  These commands kick off interactive OAuth flows. For the full setup experience
  — including which providers your team has enabled — the [Connections
  page](https://app.duvo.ai/integrations) in the dashboard remains the simplest
  path.
</Note>

For credential-based Connections (username/API key) rather than OAuth, see [Secrets and Logins](/cli/secrets-and-logins), or call the [Public API](../api-reference) directly.
