Agents are organized into teams. Teams are just grouping — they don’t restrict what agents can do. A project can have multiple teams with different specializations.
A task is a unit of work assigned to an agent. The agent executes it in an isolated sandbox with access to its configured tools.Tasks have a lifecycle: pending → assigned → in_progress → review → done or failed.When a task fails, Polpo can automatically retry, fix, or escalate based on your retry policy.
Agents interact with the real world through tools: read/write files, run commands, fetch URLs, send emails, browse the web, analyze images, and more. Tools run inside the agent’s sandbox with access to the project volume.
A volume is a FUSE-based persistent filesystem for a project. Every project gets one automatically. All agents share the same volume — when one agent writes a file, the next agent sees it. Memory, skills, and shared context live on the volume.
An app is the main unit of infrastructure for coding agents. It bundles a codebase, servers, and ports into a managed environment. One call gives you a live preview, IDE, and terminal. Apps can hibernate (stop compute, keep files) and wake instantly.
A codebase is the code layer inside an app — project source, git history, dependencies, and builds. Unlike volumes (FUSE-based, shared), codebases use local block storage suitable for running dev servers and builds.
A server is a long-running process inside an app — dev servers, terminals, IDEs. Servers stay alive between agent sessions and restart automatically after hibernation.
A template is a pre-built snapshot that apps are created from. It includes a runtime, project code, installed dependencies, and default server definitions. Apps boot from templates in seconds.
Every agent is accessible via an OpenAI-compatible API. Send messages, get streaming responses. Pass an appId to run the agent inside a persistent app. Works with any OpenAI client library.
Encrypted credential storage for agents. API keys, SMTP credentials, OAuth tokens — stored with AES-256-GCM encryption, decrypted only at runtime inside the sandbox.