Skip to main content
Orchestration provides a CEO agent that decomposes high-level prompts into work across a kanban system — objectives, tasks, employees, cron jobs, and persistent memory.

Replacement

Every command and route on this page keeps answering, but new work goes to the durable runtime — see Teams.
These routes are company-scoped by your API key, not by a path segment. /v1/tasks, /v1/objectives, /v1/employees, /v1/cron and /v1/memory take the company from the credential you present. Only the CEO surface has a company-addressed form (/v1/companies/:companyId/ceo/…); it is also mounted per tenant user at /v1/users/:user_id/ceo/….

CLI First

Tools

CEO Agent

The CEO runs as a Hermes gateway process inside your company container. The interaction pattern is conversational: you send a prompt, the CEO proposes a plan (team composition + tasks), you approve in the chat, and the CEO executes by calling the naive CLI directly (e.g., naive employees hire, naive tasks create). Each interaction is a “run” that you can stream in real-time.
Response:

Streaming Output

Stream the CEO’s real-time reasoning and actions via SSE:
Events include thought, task_created, task_completed, message, done, and error.

Conversational Approval

When the CEO proposes a team or plan, it waits for your approval inside the conversation. There is no separate approval endpoint — you respond to the CEO’s proposal via ceo_message:
Once approved, the CEO executes the plan — hiring employees, creating tasks, and assigning work — all through the naive CLI.
The kanban dispatcher is embedded in the Hermes gateway, not a separate daemon. Once tasks are assigned to employees, the dispatcher automatically picks them up every 15 seconds and spawns worker processes to execute them. You do not need to manually start workers.

Objectives

Objectives are strategic goals (weeks-to-months of work) that the CEO decomposes into tasks.
Response:

Parameters

Statuses: activepaused | completed | abandoned

Tasks

Tasks are the unit of execution on the kanban board (hours-to-days of work). The CEO creates them from objectives and assigns them to employees. The kanban dispatcher embedded in the Hermes gateway polls every 15 seconds for assigned tasks and auto-spawns worker processes to execute them. Workers call kanban_complete() when finished.
Response:

Parameters

Statuses: readyin_progressdone (or blocked) Task IDs can be standard UUIDs or Hermes task IDs (e.g., t_a2a1ae0c); all task endpoints accept both. Tasks persist in the central database immediately on creation, regardless of sidecar availability.

Listing Tasks

Filter tasks by status, assignee, or parent objective:

Employees

Employees are AI agents that execute tasks. Each has a role, model configuration, and skills for task routing. The CEO proposes teams automatically, but you can also hire manually. When an employee is hired, a Hermes profile is created on disk containing config.yaml, SOUL.md, and .env. The .env includes LLM proxy credentials and Naive CLI credentials so the worker can call tools and report back. You do not need to start workers manually — the kanban dispatcher spawns them automatically when assigned tasks are ready.
Response:

Parameters

Employee names are used as kanban assignees — --assignee must match the hired name exactly, including spaces and case.

Cron Jobs

Cron jobs automate recurring workflows. Each firing sends a prompt to the CEO, which creates and dispatches tasks. Cron jobs are managed via the Hermes gateway’s Jobs API, proxied through the sidecar.
Response:

Parameters

Common Schedules

Memory

Memory provides persistent context that survives across sessions. Under the hood, memory is owned by Hermes — each agent profile stores knowledge in MEMORY.md files on disk. The sidecar mirror syncs these files to the managed database for durability and cross-session access. Memory writes go through the CEO agent, which incorporates content into the appropriate profile’s MEMORY.md.
Response:

Parameters

Use GET /v1/memory after a few seconds to verify storage.

Error Handling

Typical Workflow