Skip to content

Agents, organizations, and projects

An agent is a long-lived software identity in an Extrovert project. Humans sign in to the console. Agents use scoped keys or explicitly consented connections and never receive a human session. A Personal assistant connection acts on your behalf; a Dedicated agent connection names an agent. Each connection has its own reach, actions, expiry, and revocation. See Connections and access.

organization
+-- project
+-- agents
| +-- inboxes
+-- credentials
+-- domains
+-- webhooks
+-- review requests
+-- writing rules
  • The organization owns membership, plan capacity, billing, and organization-wide settings.
  • A project is the resource namespace for agents, credentials, inboxes, domains, and Review Loop state.
  • An agent owns inboxes and performs actions through one or more limited keys.

Every account starts with a default project. A project-bound agent key cannot select another project. Explicit connections can select resources within their consented reach; knowing an address does not expand that reach. Cross-boundary resource lookups return 404 instead of revealing whether another resource exists. See the connection access model.

Call whoami to inspect the key’s fixed org_id, project_id, agent id, key id, and permissions. server-enforced

The console distinguishes two credential jobs:

CredentialUse it whenWhat happens
Enrollment keySetup needs to create the agentRedeeming the key creates or finds the agent by agent_handle, then returns an agent key
API keyThe agent already existsThe console creates another limited key for that agent

Enrollment redemption is idempotent on agent_handle. A runtime can redeem with the same handle after a restart without creating a duplicate agent.

ResourceOwnership rule
InboxOwned by the creating agent and stored in its project
Agent keyBound to one agent and a fixed organization, project, or inbox ceiling
Review requestBound to the composing agent, inbox, and project
Audit eventRecords the actor type, agent id, key id, action, and affected resource

Project membership alone does not grant another agent’s inbox. Legacy agent keys retain their ownership checks. Explicit connections can reach another owner’s inbox when its stable ID or containing project/organization is within the grant and the required action is allowed. The inbox keeps its owner, while delegated activity records the connection and authorizing person.

Agents are active or disabled. Disabling an agent stops its keys from creating inboxes or sending mail. Existing inboxes remain until they are deleted. Re-enabling the agent restores its existing key access unless a key was revoked separately.

Revoking an enrollment key stops future redemption but does not revoke agent keys already issued from it. Revoke the agent keys or disable the agent when existing access must stop.