Skip to main content

What an agent actually is

An agent is a process that calls APIs on behalf of a user, making decisions autonomously. It reads data, takes actions, and chains tool calls together without a human approving each step. Every API call the agent makes requires authentication. When it opens a PR on GitHub, posts to a Slack channel, or updates a Linear ticket, it needs a credential for each service — and that credential must encode who is acting, on whose behalf, with what permissions, and for how long. A typical agent loop looks like this:
Agents are often confused with two things they are not:
  • They are not users. There is no human at the keyboard approving each action.
  • They are not service accounts. They do not run fixed system logic; they interpret user intent dynamically.
Consider a concrete example. A user says: “Summarize the open issues in my repo and post a summary to #engineering.” The agent needs:
  • GitHub API access to list issues (scoped to that user and repo)
  • Slack API access to post the summary (scoped to that workspace and channel policy)
Without credentials, the agent can only generate text that a human must copy and paste. With credentials, it can actually take action. This makes agents a fundamentally new kind of principal, one most identity infrastructure was not built to handle.

Why credentials matter

Agents do not just generate text. The moment an agent opens a PR, comments on a review, posts in Slack, updates Linear, or queries a database, it must authenticate to those APIs. A single task can require multiple credentials:
Without credentials, the agent produces text. With credentials, it becomes an autonomous actor.

The delegation chain

Every agent action is a chain of trust:
The credential must encode delegation: “this user authorized this agent to act on their behalf with specific permissions for a limited time.”
The user is not directly performing the API call. The agent is not acting on independent authority. It is delegated authority, made verifiable through credentials.

The identity gap

Most identity systems model humans and service accounts. Agents fit neither model. Agents act for specific users, make dynamic decisions, and need tightly scoped, short-lived access. That combination does not map cleanly to existing identity primitives.
There is no standard identity type for “an AI acting on behalf of Alice, read-only GitHub access, valid for 10 minutes.” That is the gap where most security issues begin.