Your agents should work like AGI
Your users don’t care about your agent’s architecture. They care that it handles their request — whatever it is, however messy it gets. Connect their CRM, resize an image, pull data from behind OAuth, recover when a service goes down. That’s the AGI experience: an agent that just figures it out.
Ploton makes this possible through subagents — scoped AI agents you deploy with a single prompt. Each subagent is an expert in one domain, with access to every tool it needs within that domain. Your agent routes requests to the right subagent, and the subagent handles the rest.
curl -X POST https://api.ploton.ai/v1/tasks \
-H "Authorization: Bearer $PLOTON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Connect the user'\''s CRM account and pull contacts created this month",
"sub_agent": "crm-agent",
"user_id": "user_123"
}'Your agent routes the request to the right subagent. The subagent figures out the how — runs the OAuth flow, stores credentials, calls the right API, handles pagination and rate limits, and delivers structured data back via webhook. Your agent never touches a redirect URL or a retry loop.
The gap between demo and production
AI agents are great at reasoning. They fall apart the moment they need to do something in the real world:
- Authentication — OAuth flows, token refresh, credential storage. Every service works differently. Your agent shouldn’t have to care.
- User interaction — Approvals, missing data, preference collection. The agent needs to ask a human and wait, not crash.
- Failure recovery — Expired tokens, rate limits, schema changes, service outages. Production agents need to recover on their own.
Most teams spend weeks writing this plumbing for every integration, every edge case, every service. And it’s never done — new things keep breaking. That’s time you’re not spending on the product your users actually see.
Ploton handles the messy parts so your agent ships like AGI from day one.
How it works
sequenceDiagram
participant Agent
participant Ploton
participant Subagent
participant Services
Agent->>Ploton: Task prompt + sub_agent
Ploton->>Subagent: Route to scoped subagent
Subagent->>Services: Authenticate & execute
Services-->>Subagent: Result
Subagent-->>Ploton: Structured data
Ploton-->>Agent: Webhook with result
1. Your agent hits a roadblock
Mid-task, your agent needs something it can’t do alone — connect a user’s payment account, send a transactional email, pull data from behind OAuth.
2. Your agent routes to a subagent
One HTTP request with a natural language prompt and the target subagent. No SDK required, no workflow definition, no DAG.
curl -X POST https://api.ploton.ai/v1/tasks \
-H "Authorization: Bearer $PLOTON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Send an invoice email to user_123 using the monthly_invoice template. Attach their latest PDF invoice.",
"sub_agent": "billing-agent",
"user_id": "user_123"
}'The subagent reads the prompt, picks the right tools, pulls from past execution data, builds a workflow, and runs it.
3. The subagent delivers the result
Your agent gets structured data back via webhook. No polling required, though you can poll if you prefer.
{
"event": "task.complete",
"task_id": "task_8xK2mP",
"sub_agent": "billing-agent",
"timestamp": "2025-06-15T14:22:03Z",
"data": {
"email_id": "sg_msg_4f9a2c",
"delivered_to": "[email protected]",
"template": "monthly_invoice",
"attachment": "inv_2025_06.pdf"
}
}This typically completes in seconds. Your agent isn’t blocked while it runs.
Key concepts
Subagents
A subagent is a scoped AI agent deployed with a single prompt. Each one is an expert in its domain with unlimited tools and server-enforced boundaries. You deploy it once, then route tasks to it.
Tools
Tools are the external capabilities subagents use — a database, CRM, payment processor, internal API, shell command. Each subagent gets access to the tools matching its domain automatically.
Tasks
A task is one prompt, one unit of work routed to a subagent. Your agent describes what it needs in plain language and specifies which subagent should handle it. A single task might invoke multiple tools across multiple steps, but from your agent’s perspective it’s one request.
Trained tasks
Every time a task runs through a subagent, the subagent records what worked, what failed, how it recovered, and where rate limits hit. That execution history makes future runs faster and more reliable.
Learn more about Trained Tasks
Workflows
Subagents don’t use rigid DAGs. Each task generates its own workflow at runtime — the steps, the tools, the execution order. If a step fails, the workflow adapts instead of crashing.
Webhooks
Results come back asynchronously via HTTP POST to your configured endpoint. Your agent fires a task and moves on. Ploton calls back when it has something to report.
Why Ploton?
| Traditional agent frameworks | Ploton | |
|---|---|---|
| Workflow definition | Rigid DAGs, predefined at build time | Generated per-task at runtime by each subagent |
| Error handling | Manual retry logic you write and maintain | Automatic recovery informed by execution memory |
| Authentication | DIY OAuth per service | Managed automatically across all supported services |
| Scope management | DIY permission systems | Server-enforced boundaries per subagent |
| Learning | Static — same behavior every run | Subagents improve over time from accumulated runs |
| Integration surface | One SDK per service | One API for any supported service |
| Observability | Whatever logging you bolt on | Full execution traces and audit trails built in |
Next steps
- Quickstart — Create your first task in under 5 minutes
- Subagents — How subagents work and how to deploy them
- API Overview — Explore the REST API