Give it an objective.Watch it work
Agents that plan, call the systems you already run, and stop for a person before anything that matters. Build them, run a fleet of them, and put them in front of your customers.
- Connectors
- 300+
- Profiles
- 3
- Checkpoints
- 5
Drag to orbit
00Command
Tell it whatyou want done
Pick an objective. The agent breaks it into steps, reaches across your systems, and hands you the one decision that is yours.
Qualify the Acme lead and move the deal if it fits
Lead qualifier
claude-opus-5 · privacy
Plan
- 1Find Acme's contacts
- 2Check fit against the playbook
- 3Draft the stage change
- 4Ask the deal owner
Tool calls
- crm.search_contactsreadHubSpot
- docs.searchreadNotion
- crm.update_dealwrite · approvalHubSpot
Agent
01Fleet
One console.Every agent, live
Runs stream as they happen: each step, each tool, every token and cent. When an agent needs a person, it lands at the top of your queue.
Fleet
Live- Runs today
- 1,284
- Tool calls
- 9,412
- Waiting for you
- 1
- Spend today
- $41.37
- opus-5
Lead qualifier
Sales
crm.update_deal
Waiting for you
run_35w · 400 tok · $0.010
- sonnet-5
Pricing assistant
Widget · acme.com
knowledge.search
Running
run_36x · 530 tok · $0.014
- opus-5
AP reconciler
Finance
erp.match_purchase_order
Running
run_37y · 660 tok · $0.018
- sonnet-5
Support triage
Support
schedule.hourly
Running
run_38z · 790 tok · $0.022
- opus-5
Contract reviewer
Legal
clauses.compare
Running
run_3a0 · 920 tok · $0.026
- haiku-5
Onboarding guide
Widget · app.acme.com
knowledge.search
Running
run_3b1 · 1,050 tok · $0.030
02Anatomy
An agent,taken apart
Every agent is the same seven layers, written as one versioned document. Pick a layer to lift it out.
Pick a layer
lead-qualifier.agent.json
Mark any tool as needing a person. The run waits, for seconds or for days, without holding a worker.
crm.update_deal → approval: always
{ "name": "Lead qualifier", "profile": "privacy", "tools": [ { "use": "crm.search_contacts" }, { "use": "crm.update_deal", "approval": "always" }, { "use": "docs.search" } ], "memory": { "scope": "end_user" }, "limits": { "max_run_cost_usd": 0.50 }}03Guardrails
Five checkpointson every call
Standard, Privacy or HIPAA. The policy engine enforces the profile at five choke points, so feature code never has to remember the rules.
Try a call
- 01—
Auth & sessions
run.start
- 02—
LLM gateway
llm.call
- 03—
Connectors & egress
egress.connect
- 04—
Storage
content.write
- 05—
Logging
log.emit
crm.search_contacts → api.hubapi.com
Policy log
→ crm.search_contacts → api.hubapi.com04Tenants
Every client,its own world
Tenants nest to any depth: partner, agency, client, business unit. Settings, limits and branding flow down the tree. Access never does. It is granted by delegation.
Pick a tenant to see what it inherits
Clinic A
Resolved settings
BrightMarketing can act here · Builder role · until 31 Mar
llm.allowed_providers
anthropic
Set by BrightMarketing, locked
branding.theme.primary
#0E7C66
Inherited from BrightMarketing
budget.monthly_usd
$500
Set here
Resolves through
Clinic ABrightMarketingPlatform
- RLS
Every row belongs to one tenant, and the database checks it again.
- KEYS
Each tenant has its own key, in your KMS. Delete it and the data is gone.
- LIMITS
Budgets, rate limits and branding are settings that flow down the tree.
05Developers
Everything isan API
Everything in the console is in the REST API. Runs stream over server-sent events, webhooks are signed, and your connectors can be served over MCP.
- REST
One versioned API
Stable error codes and idempotency keys.
- SSE
Runs, live
Tools, tokens, approvals and cost as they happen.
- HOOK
Webhooks both ways
Trigger from any system, get signed events back.
- MCP
MCP, in and out
Call any MCP server, or serve your tools as one.
$ curl -X POST https://api.mydeepagents.com/v1/agents/agt_4Fq9…/runs \ -H "Authorization: Bearer mda_live_…" \ -H "Idempotency-Key: 5c1e…" \ -d '{"input": {"message": "Qualify the Acme lead"}, "target": "live"}' → 202 {"id": "run_8Kq2…", "status": "queued"} $ curl -N https://api.mydeepagents.com/v1/runs/run_8Kq2…/events \ -H "Authorization: Bearer mda_live_…" event: run.started event: tool.started data: {"tool": "crm.search_contacts"} event: message.delta data: {"text": "Acme is a strong fit…"} event: approval.requested data: {"tool": "crm.update_deal"} event: run.completed data: {"cost_usd": 0.04}
Early access
Your first agentis one objective away
Build it, bind it, and put it to work. The platform handles tenants, keys, approvals and the audit trail.