An AI agent team with human approvals
A team of 17 AI agents that work around the clock, with every sensitive action held for a person to approve and no answer treated as a no.

Industry: operations and software · Client: our own operations · Proof: live in production
The situation
AI assistants are fast, but letting one publish a page, send an email or delete a file on its own is a risk most businesses will not take. Without guardrails the choice is either to watch every step, which wastes the speed, or to trust the agent blindly.
We wanted a team of agents that could work around the clock on research, writing, sales drafts and engineering tasks, with the business owner keeping the final say on anything that leaves the business.
What we built
We built a runner that keeps a team of AI agents working in long-lived sessions, on our server or on any approved machine, with a risk check on every action. Routine work inside the agent's own workspace runs straight away. Anything that reaches outside it raises a decision for a person, and if nobody answers in time the answer is no.
Each agent has its own role, instructions and memory. It reports to another agent in a small organisation, so work can be handed down and results rolled up. Recurring work runs as scheduled playbooks, each declaring in advance which outside actions it may take unattended. Every turn uses the cheapest model that can do the job, and every token spent is recorded against the agent and the task. The owner follows the work live on a phone, a desktop app or the web, and can step in at any point.
The pieces we built:
- An always-on runner for a team of agents, local or remote, with remote machines joining by device key
- A risk check on every tool call, with a decisions queue that fails closed
- Scheduled playbooks in plain words (for example "weekdays 07:30") in local time
- A live feed of each agent's work to desktop, web and phone
- An organisation of executives and workers that can delegate, with the cheapest capable model chosen for each turn
- Memory kept in the database and archived nightly to a git vault with tamper-evident seals
- An MCP server so other AI tools can talk to the team and settle decisions
How it works
Give the task
A person or a schedule hands an agent its work.
Work in the workspace
Routine steps run straight away.
Ask a person
Publishing, sending or deleting waits until the owner approves it.
Record everything
Work, spend and decisions are logged and sealed.
The result
Seventeen agents now handle research, content, sales drafting and engineering tasks while the owner keeps the final say on anything that leaves the building. Every action and every turn's cost is recorded against the agent, so the work can be weighed against what it costs.
The same pattern suits any business that wants AI to take on real work without handing over the keys: the agents do the volume, and people approve the moments that matter.
Built with
Python, Django, Celery, Django Channels, Redis, PostgreSQL, an AI agent SDK and MCP.
Want this for your clients?
Start with a free check of one client site.