Skip to main content
A Custom API connection lets the agent call any REST API without an MCP server in between. You describe the endpoints you want to expose; each one becomes a tool with a typed input schema, governed by the same approval policies as MCP tools. Use this when the service you need has a plain HTTP API and no MCP server — an internal microservice, a vendor REST API, a webhook receiver.
Custom API connections are beta. Field names may change.

Connection fields

Authentication

Bearer and OAuth modes send Authorization: Bearer <token>. API-key mode sends the key in the header you name. Choosing OAuth makes the connection per-user, so each person signs in with their own account — no Enterprise license required for tool connections.

Defining endpoints

Each endpoint becomes one tool. Build them in the visual editor, or paste JSON directly:
The description fields are not decoration — they are the entire basis on which the model chooses a tool and fills its arguments. Vague descriptions produce wrong calls.

Write endpoints require confirmation by default

Any endpoint using POST, PUT, PATCH, or DELETE defaults to the ask policy: the agent proposes the call and a human confirms before anything happens. GET endpoints default to allow. Override per endpoint with confirm, or change the policy later on the connection’s tools view. The three-layer policy model applies here identically, including the rule that an admin deny cannot be overridden.
Think carefully before setting a destructive endpoint to allow. The agent will call it without asking.

Responses

Bag of words classifies each response so the agent can use it well:
  • A JSON array of objects is treated as tabular data and can be charted or joined with other results.
  • Other JSON is passed through as structured data.
  • Anything else is treated as text.
Requests time out after 30 seconds. GET and DELETE send parameters in the query string; other methods send a JSON body.

Presets

One preset ships today — X (Write), which exposes POST /2/tweets as a create_post tool with confirmation required. It is a good reference for how a write-capable connection should look.

Adding a connection

  1. Go to Settings → Data Sources, add a connection, and choose Custom API.
  2. Enter the base_url and any static headers.
  3. Choose an authentication mode.
  4. Define your endpoints.
  5. Test, then save. Each endpoint appears as a tool.
  6. Review the tool policies, then attach the connection to an agent.