Providers and tools
A provider is one API: a base URL, default headers, and its authentication. The tools under it are individual operations — one per endpoint you want an agent to be able to call. Create a provider with its tools in one request, or add them afterwards:Import from OpenAPI
Paste your spec into the Studio and every operation becomes a candidate tool. Two things to fix before you accept them: Names. The model sees the tool name. An operation whose imported name is a long API summary is normalised automatically — the model-facing name is derived and de-duplicated, and the readable label moves into the description — but it’s worth checking the result.get_clients is a good name;
getClientsByOrganisationIdV2Beta is not.
Descriptions. This is the single highest-leverage text in your integration
— more than any prompt. Describe what the endpoint returns and when to use it,
in your users’ vocabulary, and name the neighbouring tool when two are easily
confused.
Shaping what the agent sees
- Prune. Import everything, attach only what an agent needs. An agent that holds 60 tools chooses worse than one holding 8.
- Pin fixed values in the tool’s configuration rather than instructing the model to always pass them. A pin is a fact; a prompt rule is an exhortation, and small models ignore exhortations under load.
- Set
require_approvalon anything that writes, charges or sends. See Approvals. - Set
loop_responseson anything that paginates or returns large collections. See Working with large APIs.
Test the tool, not your assumption
Run a tool directly, with the provider’s real method, path, auth and declared schema:It exercises the tool, not the binding. Configuration pinned on an
agent’s copy of the tool,
loop_responses behaviour and approval pauses are
all part of the binding, so they still need a real agent turn to verify.Keeping up with your API
When your API changes, re-import the spec rather than editing tools by hand. You get a review screen before anything is applied:- New endpoints, collapsible and editable before you accept them.
- Changed endpoints, one row per field — field name, current value, new value — colour-coded and editable inline.
- Accept or reject field by field, or in bulk across the whole spec. Rejected endpoints move to an Ignored group you can revisit.
Authentication
Providers support static credentials — bearer, API key, basic and custom headers — and three OAuth 2.0 grants: client credentials, password and refresh token, with tokens fetched and refreshed for you. Credentials can also be supplied per user at runtime, which is how you give each of your end users their own access. See Authenticating tool providers. Outbound tool requests are logged with URL, method, body length, a short body preview and a masked view of the headers, so a 401 from your upstream is diagnosable. Credential values are never written out in full.Checklist
- Provider base URL and auth verified with
executebefore any agent holds a tool. - Tool names are short, verb-first and readable; descriptions match the schema exactly.
- Fixed arguments are pinned in configuration, not requested in a prompt.
- Write, charge and send operations carry
require_approval. - Paginated collections carry
loop_responses. - Spec changes go through re-import and its review screen, never hand edits.