Agents that acton your command
Build AI agents and workflows, connect them to the systems you already run, and put them in front of your customers. Anything that matters waits for a person to say yes. Every tenant keeps its own data, keys and limits.
- Models
- Claude by default, or bring your own
- HIPAA
- Claude on Bedrock, in its own cell
- Keys
- Yours, on AWS, GCP or Azure
A live agent run. Pick a mission: a trigger starts an agent, the agent calls two read tools, streams its answer, then waits for you to approve or deny the write before it acts.
- 0.0srun.startedrun_8Kq2…
Agent
- Elapsed
- 0.0s
- Tokens
- 0
- Cost
- $0.00
- 01Trigger
- 02Reason
- 03Ask
- 04Act
- 300+
- connectors, ready to bind
- 3
- compliance profiles, per agent
- 5
- policy choke points on every call
- 3
- clouds for your keys and storage
- 6Y
- immutable audit trail under HIPAA
Works with
- Claude
- Amazon Bedrock
- HubSpot
- Salesforce
- Slack
- Gmail
- Microsoft Teams
- Outlook
- Oracle NetSuite
- SAP S/4HANA
- Dynamics 365
- QuickBooks Online
- Xero
- Stripe
- Shopify
- Zendesk
- Intercom
- Notion
- Jira
- Linear
- GitHub
- Google Drive
- SharePoint
- Docusign
- Twilio
- Clio
- Any MCP server
- Any OpenAPI spec
01Platform
Four primitives. One definition format.
Four building blocks share one definition format, one permission model and one audit log. Learn one and you know them all.
Agents that plan, use tools, and ask before they act
Give an agent instructions, tools, knowledge and memory. Mark any tool as needing approval, and a person signs off before it runs.
- Tools, knowledge, memory
- Approval on any tool
- Claude, or your own model
- +01
Knowledge
Upload documents or sync a source. Agents search it with hybrid keyword and vector search.
- +02
One model gateway
Claude by default, Bedrock for HIPAA, or your own keys. Policy and metering apply to every call.
- +03
Usage you can see
Every run, token and tool call is metered, with budgets that can stop a runaway agent.
02How it works
From definition to live in three moves
Agents and workflows are data, not code. That is what makes templates, staging and safe roll-outs simple.
{ "name": "Lead qualifier", "profile": "privacy", "slots": { "crm": { "kind": "connection" }, "docs": { "kind": "knowledge_base" }, "researcher": { "kind": "agent" } }, "tools": [{ "use": "crm.update_deal", "approval": "always" }]}- crmNot bound yet
- docsNot bound yet
- researcherNot bound yet
03Partners
One tree for every client you serve
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
BrightMarketing can act here · Builder role · until 31 Mar
- llm.allowed_providers
- anthropicSet by BrightMarketing, locked
- branding.theme.primary
- #0E7C66Inherited from BrightMarketing
- budget.monthly_usd
- $500Set here
Clinic ABrightMarketingPlatform
Settings show where they come from
Every value names its source, so “Set by BrightMarketing, locked” is never a mystery.
Delegations instead of shared logins
Scoped, time-limited, revocable and audited. A banner shows who is acting for whom.
Your brand on every client
Branding is an inherited setting, so an agency’s look applies to all of its clients.
04Compliance
Turn the dial. The policy follows.
Standard, Privacy or HIPAA. The policy engine enforces the profile at five choke points, so feature code never has to remember the rules.
Privacy. For personal data under GDPR and similar laws.
- Model routing
- No-training providers, region pinned, optional PII redaction
- Member sign-in
- MFA recommended, SSO available
- Run content
- Field-level encryption, retention limits, export and delete per person
- Logs and traces
- IDs only, plus a PII scrubber
- Audit log
- Kept 2 years
- Widgets
- Consent notice shown
05Security
A rigid core, so everything else can flex
One row belongs to one tenant. One transaction works in one tenant. Keys are per tenant. The flexible parts are safe because the core never bends.
- contact
- Dana Whitfield
- dana@acme.com
- deal
- Acme · 240 seats
- note
- Budget approved for Q4
- Your KMSactive
- Tenant keyactive
- Data keyactive
Try it. Everything inside the ring depends on this one key.
- 01
Isolation the database enforces
Every query runs in one tenant’s context, and row-level security checks it again. It fails closed.
- 02
Your keys, your cloud
Bring your own keys and storage on AWS, GCP or Azure. Delete a tenant’s key and its data is gone.
- 03
Secrets never reach the model
Credentials are decrypted only at the moment of the outbound call. Never in a prompt, never in the browser.
- 04
Untrusted code runs alone
Custom code runs in an isolated Lambda sandbox with nothing to steal, never inside our workers.
- 05
Every outbound call is checked
An egress proxy blocks internal addresses, pins DNS and allows only each connector’s hosts.
- 06
An audit trail for everything
Who did what, as whom, and on whose behalf. Kept up to six years and immutable under HIPAA.
06Developers
API-first, all the way down
Everything in the console is in the REST API. Runs stream over server-sent events, webhooks are signed, and a tenant’s tools can be served over MCP.
- REST
One versioned API
Stable error codes and idempotency keys. Everything the console does, you can do.
- SSE
Runs, live
Read a run’s events as they happen: tools, tokens, approvals, cost.
- HOOK
Webhooks both ways
Trigger workflows from any system, and get signed events back.
- MCP
MCP, in and out
Agents call any MCP server, and your connectors can be served as MCP tools.
$ 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 agent is minutes away
Build it, bind it, and put it in front of your customers. The platform handles the hard parts.