Skip to content

🚧 Roadmap — The capability described here is on the roadmap. The concepts and design are settled; interfaces and steps are subject to the final release.

Agent access to third-party SaaS

Fang Yuan is the VP of sales at a 200-person company: three hundred emails a day and a calendar that fills the screen. His team set him up with an assistant agent — summarize the morning's mail, reschedule calendar conflicts automatically, ping him on IM the moment an important customer writes in. It sounds wonderful, as long as the agent can reach his mailbox, his calendar, and his IM. Those three happen to be the three most private things in Fang Yuan's digital life.

Every old answer IT could offer is bad in its own way. Give the agent the password? That hands over the entire digital identity, and the day he changes it, every integration breaks at once. Run a one-time third-party authorization and stuff the long-lived credential into the agent's environment variables? Now the credential lives on the agent side forever — breach the agent and mail, calendar, and IM all go together. Worse, three months later nobody remembers clearly what was authorized, to whom, or how many grants are still alive. That is IT's knot: withhold it and the thing is useless; hand it over and you can't get it back.

The flow

The fix in one line: custody for credentials, dispatch for tokens. Fang Yuan's third-party credentials are held by the Token Dispatcher and never leave custody. Each time the assistant agent works, all it can do is present a Delegate Token and request a short-lived, attenuated, recallable access token. The agent never touches the original credential from start to finish — every token it holds has a deadline, a scope, and an audit record. For the mechanism, see Token Dispatcher. Steps ①–⑦ number the full flow and match The full journey of one delegation; this page zooms in on ②–⑤.

Useremployee / end userAppyour app and resource servicesAgentGenAuthHuman IAM② Start the delegation (per task / session)Hand off the task(“summarize this morning's email”)1Delegation request (interactive)2Consent page (scope + duration)3③ Attenuation check: real permissions ∩ explicit delegation ∩ approved boundaryEvaluate the user's real permissions4Permission assertion5④ Issue the Delegate TokenApprove6Delegate Token(short-lived · attenuated · carries audit_id)7⑤ Token exchange (RFC 8693)Exchange the Delegate Token fora third-party access token8Access token (for the third-partyservice, short-lived · attenuated)9Token Dispatcher: dispatched from the credentialin custody; the original never leaves custody

Three moments that matter

  1. Consent — two layers, both required. At connect time (one-off): Fang Yuan connects his mailbox and calendar accounts into custody, going through each third-party service's own standard authorization flow. The credential lands in custody, and the agent is not present at any point. At delegation time (per task / session): the consent page spells out the scope the assistant agent is asking for this time — read-only mail, read/write calendar, no sending mail on his behalf. That scope can be narrower than what custody was granted at connect time, and it can only ever be narrower, never wider (attenuation).
  2. Audit record: every dispatch lands in the audit chain with an audit_id: who granted it — Fang Yuan; on whose behalf — Fang Yuan, with the assistant agent acting on behalf of the user (on-behalf-of); what it did — which third-party service got a token, in what scope, and what it accessed next. For IT, this is the first time the question "which agents in this company are accessing which third-party services, in whose name?" has an answer that lives in the audit chain rather than in somebody's memory.
  3. Revocation: Fang Yuan changes roles, the agent behaves oddly, or he simply stops wanting it — disconnect the connection and custody stops dispatching new tokens. The grant can be revoked at any time; for how quickly already-issued tokens stop working, see Revocation and emergency response. Changing the password is no longer the only emergency lever, and because the original credential never left custody, there are no "copies scattered around" to chase down.

Capabilities used here

CapabilityWhat it does in this scenarioRead more
Token DispatcherCustody for credentials, dispatch for tokens — the core of this scenarioToken Dispatcher
Delegate Token and attenuationEvery dispatched token is short-lived and scope-limitedDelegate Token and attenuation
ConsentTwo layers, connect and delegate, both decided by Fang YuanConsent and approval
Audit chainEvery dispatch and every access is traceableAudit and accountability chain

Next steps