Visual hierarchy of all agents — reporting structure, status indicators, and interactive tree layout on a zoomable canvas.
The Organization Chart renders a top-down tree layout of all agents in your organization. Each agent is a card node showing name, role, state, and activity badges. Edges (SVG curved paths) connect agents to their managers, forming a visual reporting hierarchy.
Key features:
/hierarchy/org-chart for hierarchy data, and /agents for avatars and metadata.managerId. Agents without a manager (or with an unresolvable manager) become root nodes.managerType: 'external' are grouped under synthetic purple nodes representing human managers.| State | Color | Meaning |
|---|---|---|
| Running | Green | Agent is active and processing |
| Stopped | Gray | Agent is not running |
| Error | Red | Agent encountered an error |
| Paused | Amber | Agent is temporarily paused |
| Deploying | Cyan | Agent is being deployed |
| External | Purple | Human/external manager node |
| Action | Effect |
|---|---|
| Hover on a node | Highlights the full chain (ancestors + descendants), dims everything else. Shows detail tooltip. |
| Scroll wheel | Zoom in/out (15%–300%) |
| Click + drag background | Pan the canvas |
| Fit button | Auto-zoom to fit all nodes |
| Refresh button | Reload hierarchy data |
Each agent node (220×72px) displays:
Below the toolbar, a compact metrics bar shows:
Hovering over any node shows a fixed-position tooltip with:
When agents have managerType: 'external' with a managerName and/or managerEmail, the system creates synthetic purple nodes representing human managers. These nodes:
The org chart automatically reflects agent configurations. To create hierarchy:
managerId on agent config to point to another agent's ID for internal reportingmanagerType: 'external' with externalManagerName and externalManagerEmail for human managersAvatars are resolved from (in priority order):
config.identity.avatarconfig.avatarconfig.persona.avatarIf none is set, a colored circle with the first letter of the agent's name is shown.
| Endpoint | Method | Description |
|---|---|---|
/hierarchy/org-chart | GET | Full hierarchy with nodes (agentId, name, role, state, managerId, subordinates, etc.) |
/agents | GET | Agent list with config (for avatar resolution) |
| Field | Type | Description |
|---|---|---|
agentId | string | Unique agent identifier |
name | string | Display name |
role | string | Agent role description |
state | string | running, stopped, error, paused, deploying |
managerId | string? | ID of parent agent |
managerType | string | internal, external, or none |
subordinateCount | number | Number of direct reports |
isManager | boolean | Whether this agent manages others |
activeTasks | number | Current active tasks |
errorsToday | number | Errors in the last 24h |
clockedIn | boolean | Workforce clock status |
managerId on every agent to create a clean hierarchy. Orphan agents cluster at the root level.| Issue | Solution |
|---|---|
| Chart shows "No Organization Hierarchy Yet" | Add agents and set managerId to create reporting relationships. If agents exist but hierarchy endpoint returns null, the chart falls back to a flat list from /agents. |
| All agents at root level | No managerId set on any agent. Configure manager relationships in agent settings. |
| External manager not showing | Set managerType: 'external' with externalManagerName on the agent config. The email is optional but helps deduplicate. |
| Avatars not showing | Set config.identity.avatar to a valid image URL on the agent. |
| Canvas blank after loading | Click "Fit" to auto-zoom. The nodes may be outside the visible area. |
| Nodes overlapping | The tree layout should prevent this. If it happens, check for circular manager references (Agent A manages B, B manages A). |