# 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](https://github.com/duvoai/monorepo/blob/gitbook-prod/knowledge-base/connections/connections-overview.md) and [How to Add a Connection](https://github.com/duvoai/monorepo/blob/gitbook-prod/knowledge-base/connections/how-to-add-connection.md).

## 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
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.).

## Listing your Connections

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

```bash
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.md#pinned-connections)).

## Inspecting a single Connection

```bash
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
duvo connections list --type gmail --json | jq '.connections[] | {id, name, created_at}'
```

### Pin a Connection to an Assignment Revision

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

```bash
duvo revision-integrations connections pin <connection-id> \
  --agent <agent-id> \
  --revision <revision-id> \
  --integration <integration-id>
```

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

## What you can't do from the CLI today

Connection creation involves UI flows (OAuth consent for native and Composio providers, server probing for Custom MCP, credential entry for user-provided integrations), and is not yet covered by `duvo connections` write commands. To **create** or **delete** a Connection:

* Use the [Connections page](https://app.duvo.ai/integrations) in the Duvo dashboard, or
* Call the [Public API](https://github.com/duvoai/monorepo/blob/gitbook-prod/knowledge-base/api-reference/README.md) directly — for example, the OAuth start endpoints for native and Composio providers, or `POST /v1/connections` for user-provided credentials.

The CLI command surface for write operations is expanding — check `duvo connections --help` for the latest.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.duvo.ai/cli/managing-connections.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
