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 usingPOST, 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.
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.
GET and DELETE send parameters in the query string; other methods send a JSON body.
Presets
One preset ships today — X (Write), which exposesPOST /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
- Go to Settings → Data Sources, add a connection, and choose Custom API.
- Enter the
base_urland any static headers. - Choose an authentication mode.
- Define your endpoints.
- Test, then save. Each endpoint appears as a tool.
- Review the tool policies, then attach the connection to an agent.
