Skip to content

Permissions

Agent-to-agent communication is restrictive by default: no agent can call another until a person explicitly allows it.

  1. Open the agent that will make the calls and select its Permissions tab (owners and admins).
  2. Toggle each agent it may call. You can only grant access to agents you can access yourself. Allow All / Allow None set every row.
  3. Click Save Permissions.

Permissions are directional: allowing A to call B does not allow B to call A.

Granting and withdrawing is human-only — an agent’s key is refused on these routes, so an agent can never grant itself access. Every change and every blocked call is recorded in the audit log.

A permission from A to B lets A:

  • chat with and task B (chat_with_agent, fan-out);
  • start, read and stop loops on B;
  • read B’s executions, reports and declared metrics;
  • subscribe to B’s events;
  • mount B’s shared folder;
  • run the skills B declares itself.

A permission means may call, never may manage: it does not let A change B’s configuration, schedules, credentials or repository. Those require self-change permissions that only an admin grants.

An agent can always reach itself and agents it spawned. The system agent can reach any agent.

Skills assigned to B from the skills library are not included by default. To let A ask B to run one, an admin turns it on in A’s Permissions tab under Library skills on agents this agent can call — one skill at a time.

ControlStops
Calls, loops, reading workAt the next call
Event subscriptionsAt the next event (the subscription is kept and resumes if re-granted)
Shared folder mountsAt the agent’s next start — restart to apply immediately

Departments and reporting lines never grant permissions; a manager needs an explicit permission to delegate to its reports. The same applies to your principal assistant, whose Allowed collaborators are saved as permissions.

This page is about agents calling agents. Which people can use an agent is controlled by sharing, and what each person can do in the instance by their role.

EndpointMethodPurpose
/api/agents/{name}/permissionsGET / PUTRead or replace the agents this agent may call
/api/agents/{name}/permissions/{target}POST / DELETEGrant or revoke one target