--- navigation: {"section":"Agents and reusable capabilities","sectionOrder":30,"order":10} --- # Hiring, configuration, and organization Operators hire agents, configure their identity and instructions, assign reporting relationships, and manage their lifecycle. Built-in agents have their own setup and lifecycle constraints. Feature ID: `agents`. Implementation: [hiring](../../ui/src/pages/NewAgent.tsx), [configuration](../../ui/src/components/AgentConfigForm.tsx), [organization](../../ui/src/pages/OrgChart.tsx). Agent access: [companion](../agent-access-map/agents.md). ## Sub-features - `hire`: `agents/hire` — choose identity, harness, model, and required account settings; edit reporting relationships through the agent configuration afterward. - `grok-bot`: `agents/grok-bot` — experimental existing-Bot agent setup through remote OAuth, routine credentials, and an authenticated two-way challenge; current contact, stop and explicit recovery. - `instructions`: `agents/instructions` — edit agent configuration and instruction files with durable revisions. - `organization`: `agents/organization` — inspect and change reporting relationships through supported controls. - `primary-agent`: `agents/primary-agent` — choose a personal primary agent for the company, confirm replacement, and inspect its roster/sidebar and task/chat defaults. - `lifecycle`: `agents/lifecycle` — pause/resume or retire an agent while preserving history. - `built-in`: `agents/built-in` — configure required agents without treating them as ordinary removable hires. - `api-keys`: `agents/api-keys` — create and inspect named agent credentials, copy a new token once, and revoke it without changing agent identity. - `managed-agent-setup`: `agents/managed-agent-setup` — probe, create, or adopt a qualified Anthropic managed-agent profile with pinned provider resources and retention acknowledgement. ## How to get to it (user POV) ### `hire-agent` Use New agent from the roster or `/agents/new`. Submitting the name creates an inactive record before adapter selection or account setup. A name-only draft returns to adapter selection when reopened. Save & exit keeps its configuration; Finish setup on the agent returns to the same record. Final submission requests approval when required, then follows the existing preparation and verification lifecycle. ### `agent-configuration` Open `/agents/:agentId` and the configuration/instruction surfaces it exposes. For a low-trust agent, open **Permissions / Trust → Allowed projects**. An operator with agent-management permission can select additional projects and explicitly save them. Existing projects and other containment restrictions remain intact. Cancel discards the draft; a failed save retains it. Reload to verify persistence. This does not start or retry a task. In `/agents/all`, select roster checkboxes and choose **Edit connection & model**. A mixed selection offers one action per harness. Each field is opt-in. The editor previews each changed value and excludes agents already at the target value. Models must be compatible with every selected connection. Failed writes show per-agent errors; Retry touches only the remaining agents. Connection pools and externally managed agents are not editable through this shortcut. Verify connection-only, model-only, both fields, mixed-harness selection, hidden selections, no-op counts, incompatible models, partial failure and retry. Reload the roster and compare stored settings, including unrelated heartbeat and adapter fields. A concurrent configuration edit must return a conflict. Shared runtime validation, access checks, revisions and audit logging still apply. Live runs retain their existing settings; model changes can reset saved sessions. Connection adoption can require an explicit reset of existing sessions. ### `organization` Use the roster’s organization view; `/org` redirects to the roster in the streamlined shell. ### `personal-primary-agent` Open an agent profile and choose **Set as my primary**. Inspect its crown on the profile/roster and its position in the Agents sidebar, then open a new task or Chat. ### `agent-api-keys` Open `/agents/:agentId/api-keys` → **API Keys** with an authenticated person who can manage agents. The operator CLI also supports `paperclipai token agent create -C --agent --name