token for
a plain API key or oauth for a consent grant. It lets an agent use the
service without the secret ever reaching the model. Matrices holds the secret
and attaches it to the request when the tool actually runs, so the model only
sees a connection label and a tool result. The API returns metadata only, and
tokens are write-only.
Every connection has one owner, and the owner decides which agents may use it.
A workspace-owned connection serves every agent. An identity-owned one
serves only agents carrying that identity, so Dana’s Gmail
is invisible to an agent acting for anyone else.
The short version is that roles authorize and connections authenticate. A
role can allow tool:managed:gmail.* and the call will still fail
without an eligible connection, and a connection never widens what a role
allowed. Matrices pairs the two at call time based on who is actually calling,
not on anything the model wrote.
Status is ready, needs_reauth when the grant stopped working, or revoked.
Revoking deletes the encrypted secret, then makes one best-effort attempt to
revoke it at the provider. Token connections are created straight through the
API. OAuth grants start from the dashboard or from the agent itself with
connections.connect, since there is no server-to-server connect API yet.
Belongs to a workspace or one identity · Has one provider and
kind
(token | oauth) · Used by eligible agents onlyRules
- Roles authorize, connections authenticate. You need both. See Rules.
- Never pass a third-party secret through a prompt, tool input, or memory.
- Token writes are one-way; rotate with
expectedVersion.
API
GET/POST /v1/connections,PUT /v1/connections/{connectionId}/token,POST /v1/connections/{connectionId}/revoke.- Walkthrough: Connect a service.