---
title: "Connectors"
url: https://wajo.ai/docs/connectors.md
summary: "A connector lets an agent call an external HTTP API. Connectors are data, not code — you add a new one by describing the API, with no deploy."
related: [getting-started, building-agents, mcp-server, mcp-tools, sessions, webhooks]
---

# Connectors

A connector lets an agent call an external HTTP API. Connectors are data, not
code — you add a new one by describing the API, with no deploy.

## Build a connector

Call `build_connector` with what the API's docs (or a curl example) say:

- `baseUrl` — the https URL every endpoint path hangs off.
- `auth` — `none`, `api_key` (one header carries the key; name it with
  `authHeader`), `bearer`, `basic`, or `client_credentials` (with `tokenUrl`).
- `endpoints` — the calls the agent needs, each an `id`, `method`, `path`
  (`{param}` marks a path parameter), a one-line `summary`, and optionally an
  `inputSchema`.

Wajo checks that the host answers, saves the connector, and returns a
`setupUrl` where you store your key.

## Typed vs free-form

- **Typed** — the agent picks a catalog endpoint and supplies inputs, validated
  against the endpoint's schema. Deterministic; the default.
- **Free-form** — the agent supplies a method and path directly, for endpoints
  the catalog missed. A connector can be marked typed-only to disable this.

## Scope and credentials

- **SYSTEM** connectors are platform-curated and available to everyone.
- **USER** connectors are the ones you author with `build_connector`, scoped to
  you.

Credentials are per-user and stored encrypted; you provide them through the
credential form. The agent never sees a secret — Wajo attaches auth after the
agent produces its request, so credentials stay server-side.

## OAuth-backed services

Connectors you author support API-key, Bearer, Basic, and client-credentials
auth. Services that need an OAuth sign-in are platform-curated — connect to
those from the Wajo Integrations UI rather than building a connector.
