LoopEngineBETA

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.

1

Install

One command scaffolds a real project — an HTTP adapter, an example agent, ready to run.

npx create-loopengine@latest my-agents
2

Add & 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.

3

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.

4

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.

5

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.