polpo init you have one default agent. This guide shows how to build a full team — multiple agents with different roles, models, and constraints.
Add agents to your config
Edit.polpo/polpo.json:
polpo setup to reconfigure your team interactively.
Agent options
Each agent supports these fields:| Field | Type | Default | Description |
|---|---|---|---|
name | string | required | Unique identifier |
role | string | — | What this agent does (included in its system prompt) |
model | string | — | "provider:model" format. See Providers |
identity | AgentIdentity | — | Persona: name, title, responsibilities, tone, personality. See Identity |
reportsTo | string | — | Org chart parent — automatic escalation on failure. See Org chart |
allowedTools | string[] | all core tools | Restrict which tools the agent can use. Include "browser_*" for browser access, "email_*" for email tools, "vault_*" for vault credential access, "image_*" for image generation/analysis, "video_*" for video generation, "audio_*" for speech-to-text and text-to-speech, "search_*" for web search via Exa AI |
allowedPaths | string[] | project root | Filesystem sandbox — agent can only access these paths |
systemPrompt | string | — | Custom instructions prepended to the default prompt |
skills | string[] | — | Named skill files to load |
maxTurns | number | 150 | Maximum tool-use turns before the agent is stopped |
Manage teams from the TUI
Inside the TUI you can manage your team without editing JSON:/team command also supports AI team generation — describe your project and Polpo suggests the right agents.
Volatile teams
Missions can define their own temporary agents that exist only for that mission’s duration. Useful for one-off specialists:Different models per agent
You can mix providers and models across agents:POLPO_MODEL as a fallback for agents without an explicit model.
Agent identity and persona
Give agents a rich identity — name, title, responsibilities, communication style, and personality traits. Polpo injects all of this into the agent’s system prompt so it behaves consistently."Manage social media") and structured objects with area, description, and priority. The structured format is recommended — it helps the agent prioritize work and understand scope boundaries.
Tone defines HOW the agent communicates — register, format, length. Personality defines WHO the agent IS — character traits, working style, decision approach. Together they produce realistic, consistent behavior.
You can edit the JSON manually, or use the interactive onboarding wizard (recommended).
Onboard your agents
Instead of writing JSON by hand,polpo agent onboard walks you through every aspect of an agent’s setup in a guided wizard.
-
Identity — The agent’s public persona.
These fields are injected into the agent’s system prompt and used when it writes emails or external messages. The
emailfield also serves as the default SMTPfromaddress. -
Persona — Responsibilities, tone, and personality.
Structured responsibilities (recommended) give each area a name, description, and priority. The agent uses priority to decide what to focus on first. You can also enter simple one-line strings if you prefer. Tone controls the form of communication — length, register, format preferences. Personality controls the substance — character traits, decision-making approach, working style.
-
Hierarchy — Org chart placement.
Sets
reportsTofor automatic escalation. If the agent’s task fails, Polpo escalates to its manager. See Escalation. -
Email — SMTP and IMAP vault configuration.
This creates vault entries (type
"smtp"and"imap") and addsemail_*toallowedTools. Use${ENV_VAR}syntax for secrets — Polpo resolves them at runtime from environment variables. Enabling email gives the agent 8 tools:email_send,email_draft,email_verify,email_list,email_read,email_search,email_count,email_download_attachment. See Email Tools. -
Vault — Additional credentials.
Add vault entries for any service the agent needs — API keys, OAuth tokens, login credentials. Each entry gets a
typefor semantic meaning and${ENV_VAR}references for secrets.
.polpo/polpo.json and vault entries to .polpo/vault.enc (AES-256-GCM encrypted). Run it again anytime to update an agent’s configuration.
Verify the result
After onboarding, inspect the agent:Org chart (reportsTo)
Build a hierarchy so Polpo knows who to escalate to when tasks fail:fallbackAgent, Polpo automatically escalates to marco. View the org chart with polpo agent list.
Per-agent credentials (vault)
Each agent can have its own credentials for email, APIs, logins, etc. Vault entries are stored in.polpo/vault.enc (AES-256-GCM encrypted), not in polpo.json.
Manage vault entries via:
- CLI:
polpo agent onboard <name>— the Email and Vault steps write to the encrypted store - TUI / Chat: Use the built-in tools —
set_vault_entry,remove_vault_entry,list_vault
${ENV_VAR} references — Polpo resolves them at runtime from environment variables.
See Configuration — Encrypted Vault for vault entry fields, key management, and supported credential types.
Next steps
Your team is ready. Now create a mission to put them to work:Your First Mission
Create a multi-task mission with dependencies and automated assessment.