Durable · Permission-gated · Multi-channel
Build a human-in-the-loop agent runtime in minutes.
Real permission rules decide, per tool call, whether an agent acts on its own or waits for a human — allow, ask, or deny. And “wait” really means wait: the same approval works whether someone answers in the next five seconds or three days later, restart in between and all.
What a gated tool call actually does
Tool call
issue_refund
matches an “ask” rule
Paused, not blocked
waits for a human — seconds or days, doesn't matter
approved — even after a process restart
Resumed
refund issued, exactly where it left off
You don't have to build everything yourself
The infrastructure every production agent eventually needs — durable approvals, permission rules, multi-channel notifications, a real admin surface — already done.
Durable approvals, built in
A gated tool call pauses instead of blocking, and resumes from a durable checkpoint minutes or days later — out of the box, on every project. No queue, no state machine, no crash-recovery logic to write yourself.
Permission rules, out of the box
actauth.yml decides allow, ask, or deny per tool call — including content-conditional gating on the model's own arguments — the moment you add the file. No hand-rolled checks scattered through your code.
Six notification channels, already wired
Webhook, Slack, Lark, email, database, or Redis — pick one in config, not code. Every channel resolves through the same route by default, with nothing extra to implement.
Agent discovery, for free
One folder per agent — tools, skills, permissions, auto-discovered by default. Add an agent by adding a folder; there's no registration step to remember.
An Admin UI that ships with every project
Create agents, edit system prompts and models, connect tool sources, and manage permission rules — all from a browser, included from npx create-loopengine@latest, not something you bolt on later.
Install and run agent, in a few minutes
No hand-waving — every step below is an actual command or an actual screen in the Admin UI, not a hypothetical.
Install
One command scaffolds a real project — an HTTP adapter, an example agent, ready to run.
npx create-loopengine@latest my-agentsAdd & configure agents in the Admin UI
The Admin UI (/agents/config) has a real "Create new agent" button — it scaffolds an actual agent folder on disk, the same way the CLI does. The Overview tab edits its system prompt and model straight from the browser.
Set up tools and permissions
The Tools tab connects external tool sources (Composio-backed — Gmail, Slack, GitHub, and more) with a picker. The ActAuth tab adds, edits, or removes permission rules — which tool, which scope, allow or ask — without hand-editing YAML.
Test the agent in the playground
Every project ships one — npx loopengine dev, then open /playground. Send it a real message, watch the tool calls and permission decisions happen live, approve or deny a gated call right there, before wiring anything durable.
Add a notifier channel, if needed
Only if an approval has to survive a process restart: a few lines in the agent's own config point httpNotifier at a webhook, Slack, Lark, email, database, or Redis. Config, not a UI step — see the docs for the full setup.