Connectors
A connector is a tool that reaches an external system as the user. It is the platform's answer to the hardest part of enterprise agents: letting an agent act in ServiceNow, a calendar, or a mailbox without ever holding a shared god-credential.
The core idea: delegated identity
Each user connects their own account once. From then on, when an agent calls a connector on that user's behalf, the platform resolves that user's OAuth token at call time and sends only that. Two people asking the same agent the same question get their own data back.
connector.credential_required error. A write never executes without
the user's own credential.
Operations
Each connector exposes a small set of named operations, and every operation is tagged. The tag is what governance keys on:
| Tag | Meaning | Behaviour |
|---|---|---|
| read | Fetches data, changes nothing. | Runs immediately. |
| write | Creates or modifies something. | Parks for approval under supervised autonomy. |
| destructive | Irreversible โ delete, close, purge. | Parks even under trusted autonomy. |
Available connectors
Browse these in the app under Catalog โ Connectors, which shows each connector's operations and whether you've connected it.
| Connector | Operations |
|---|---|
Calendarcalendar |
list_events find_free_time create_event |
ServiceNowservicenow |
search_incidents create_incident delete_incident |
Azure AI Foundryazure_foundry |
Invoke a Foundry agent thread as the user. |
Copilot Studiocopilot_studio |
Converse with a Copilot Studio bot as the user. |
Slackslack |
list_channels channel_history post_message |
Microsoft Teamsmicrosoft_teams |
list_teams list_channels send_channel_message send_chat_message |
Microsoft 365 (Outlook)microsoft365 |
list_messages send_mail list_events create_event list_contacts create_contact |
Zoomzoom |
list_meetings create_meeting list_recordings |
Plus ITSM, CRM, developer and privileged-access connectors โ the full list
is in Catalog โ Connectors. Mail, calendar and contacts
come in two families: Microsoft 365 above, and Google
(gmail, google_calendar, google_drive).
Custom connectors: any REST API, no code
When an internal or niche tool has no built-in adapter, an org admin can configure a custom HTTP connector โ from Settings โ Connectors โ Add a custom connector โ with no code and no deploy. A custom connector is a description, not a program:
- a base URL and an auth method โ OAuth 2.0 (authorize/token URLs, client, scopes) or a static bearer token entered per user;
- a list of operations, each a method + path with
{braces}for path parameters, tagged read or write.
What you configure becomes a real connector: an agent declares it by slug like any other, the call is delegated as the requesting user, writes park for approval, and every call runs through the one execution path. Path parameters are filled from the model's arguments and, for a write, the remaining arguments become the JSON body.
Knowledge sources (Confluence, Google Drive) also use delegated OAuth, but they are not agent-callable tools โ they sync documents into knowledge collections, mirroring each document's source permissions so retrieval stays permission-aware.
Using a connector in an agent
Add the connector name to the agent's tools. That's the whole grant.
---
name: exec-assistant
model: default
tools:
- calendar
---
# Role
Book meetings on the user's calendar. Always confirm a slot before creating it.
The model sees one calendar tool whose schema lists the available
operations, and picks an op plus arguments.
The connect flow
-
Consent
The user starts a connection (from settings, or from a Connect card in chat). The platform builds an authorization-code + PKCE request and redirects to the provider. -
Callback
The provider redirects back with a code, which the platform exchanges for tokens server-side. -
Vault
Tokens are encrypted at rest and referenced indirectly. They are decrypted only server-side at call time and never returned through the API. -
Use and refresh
A background sweep refreshes tokens before expiry. If a run parked waiting on the connection, completing consent resumes it automatically.
Lifecycle and safety
- Revocation is immediate โ credentials are resolved per call, so a disconnected connector stops working on the very next call, not at the next token refresh.
- Deprovisioning cascades โ removing a user revokes all of their connector credentials, disables their automations, and cancels their runs.
- Health checks โ each connector exposes a cheap liveness probe that runs on a schedule.
- DLP applies โ data read back from an external system is screened before it reaches the model, and outbound arguments are screened too.
- Everything is audited โ connect, disconnect, every invocation, and every approval decision.
How connectors differ from MCP servers
| Connector | MCP server (Tools Library) | |
|---|---|---|
| Identity | The end user, via delegated OAuth | A registered server credential (vault reference) |
| Declared as | tools: [calendar] | mcp_servers: [{slug: โฆ}] |
| Shape | One tool with an op, built in-platform | Many tools discovered from the server |
| Best for | Per-user SaaS access where "who is asking" matters | Bringing an existing tool ecosystem in, governed centrally |