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

# Connectors

> Search the connector library and declare integrations on an agent.

A connector is a ready-made integration from the Rerun library: Stripe, Gmail, Notion, Slack and hundreds more. Declaring one on an agent gives it that service tools. See [Connectors](/agents/connectors) for the concept.

<Warning>
  No credential ever goes through the API. `attach_connector` takes no secret, by design. Never ask anyone for an API key, a password or a token: the account owner finishes the connection in the Rerun app.
</Warning>

## search\_connectors

Semantic search over the library. Describe the capability in natural language.

<ParamField body="query" type="string">
  For example `send emails` or `read a CRM`.
</ParamField>

<ParamField body="category" type="string">
  One of `payments`, `ecommerce`, `crm`, `marketing`, `seo`, `analytics`, `dev`, `productivity`, `other`.
</ParamField>

Each result carries `slug`, `name`, `category`, `summary`, `setup` and `setupReason`. Use the `slug` with `attach_connector`.

`setup` tells you what declaring it will leave behind:

| Value          | Meaning                                                                            |
| -------------- | ---------------------------------------------------------------------------------- |
| `active`       | Works straight away, no credential needed                                          |
| `needs_auth`   | Waiting for a sign-in                                                              |
| `needs_config` | Waiting for a credential, or for the owner to pick between several ways to connect |

This search returns the best matches only. Use `list_connectors` when you need to know whether something exists at all.

## list\_connectors

Walks the whole library page by page, in a stable order.

<ParamField body="category" type="string" />

<ParamField body="limit" type="number">
  Default `60`, maximum `200`.
</ParamField>

<ParamField body="offset" type="number">
  Default `0`.
</ParamField>

Returns `total` alongside the page, so you know when you are done. Use it to prove a connector is absent, which a semantic search can never do.

## list\_agent\_connectors

Lists the connectors declared on an agent with their real status and the tool names each one contributes.

<ParamField body="agentId" type="string" required />

This is the truth, whatever the catalog predicted at search time.

## attach\_connector

Declares a connector on an agent.

<ParamField body="agentId" type="string" required />

<ParamField body="slug" type="string" required>
  Catalog slug, from `search_connectors`.
</ParamField>

When the connector needs no credential and no sign-in, it is installed right away. Otherwise it is recorded as pending, and the account owner finishes the connection from the Rerun app, in the agent panel under **Connectors**.

The response carries the resulting `status`, the available `authMethods` when one is still pending, and a `message` describing what is left to do.

<Note>
  Declaring a connector on an agent that will become a template is exactly the intended use. The person installing the template connects their own account.
</Note>

## detach\_connector

Removes a connector from an agent: its tools, its credentials and the skill it installed.

<ParamField body="agentId" type="string" required />

<ParamField body="slug" type="string" required />

<ParamField body="confirm" type="boolean" required>
  Must be `true`.
</ParamField>
