# Connector

Connect any REST API by name so the agent can call it on your behalf — without a bespoke integration built for that one service. You register the API once with its address and a credential; from then on the agent can read from it and write to it, and the credential stays sealed inside your install.

This is the general-purpose bridge to the long tail of services that do not have their own dedicated connector. If a tool you use exposes a REST API and issues an API key or token, you can wire it up here.

## What you do once

**1. Get a credential from the service.** Most APIs give you an API key, a bearer token, or a username and password. How you get it depends on the service — usually a settings or developer page.

**2. Register the connector.** Tell the agent the service's name, its base web address, and the credential. The agent stores the credential in your install's protected secrets area. It is never shown back to you, never written into any project file, and never appears in logs.

**3. That's it.** The connector is ready. You can register as many as you like, each under its own name.

## What the agent does after that

- **Calls the API for you** — fetches data (GET) and makes changes (create, update, delete) against the service, with your credential attached automatically.
- **Stays on the registered service.** Every request is locked to the address you registered. A request that tries to reach a different site, an internal network address, or follows a redirect off the registered service is refused. The credential can only ever be sent to the service you pointed it at.
- **Lists what's connected** — the names and addresses of your connectors, on request. Never the credentials.
- **Disconnects on request** — removes a connector and erases its stored credential.

## Staying safe

The credential lives only inside your install, in the same protected store the other connectors use, readable only by your account. The agent injects it into each request and never repeats it back. A background check periodically confirms no credential has leaked into a log and that every connector still has its credential.

Because a connector can make authenticated requests to a live service, registering and using them is an admin action — done by you or through your admin agent, not handed to a public or assistant agent.

## What it can and can't reach

- **Can:** any HTTP or HTTPS REST API that authenticates with a bearer token, an API key in a header, or basic username-and-password.
- **Can't (yet):** services that require an OAuth sign-in dance or refreshing tokens — those need a different kind of connection. It also does not speak GraphQL or older SOAP APIs.

Once an API is connected, the actual workflow you want — "turn approved timesheets into an invoice", say — is something you teach the agent as a skill. The connector is the plumbing; the workflow is yours to define.
