AI agents you approve

Human-in-the-Loop AI Agents: Work You Approve, Step by Step

Human in the loop AI agents propose and draft but never start, spend or ship without you. The five gates, the caps and the trace that make it real.

Human in the loop AI agents are agents that cannot start, spend or ship anything without a person deciding first. That sounds simple. In most agent products it is not what you get. You get a loop that runs, a bill that arrives later, and a pile of output nobody read. This guide explains what the loop has to look like when the person in it is you, alone, with a business to run and a card on file. It uses QuestDesk as the working example, because that is how QuestDesk is built, but the principles hold for any tool you are evaluating.

What human-in-the-loop means when the loop is one person

For a team with a review board, "human in the loop" can mean a weekly audit. For a founder or a lead of three, it has to mean something stricter: nothing moves between states without your click, and every click is small enough that you can make it in the gaps of a normal day.

The reason is capacity. You do not have time to review a transcript of forty tool calls after the fact. You have time to read one proposal, approve it or not, start one run, and read one result. If the agent's design asks for more than that, you approve batches, you skim, you stop reading. The human is still nominally in the loop, but the loop no longer has any judgement in it.

So the test for safe AI agents for small business is not "can a human intervene?" It is "does the product force one small decision from the human at every point where scope, money or shipping could change?" Everything below follows from that test.

QuestDesk puts five gates between an idea and an accepted result. Each gate is a separate decision, and none of them can be crossed by the system on your behalf.

  1. Proposal. The Brain reads your records (vision, constraints, decisions, facts) and proposes a next step. You edit it and save it as a quest, or you discard it. The Brain never starts work on its own. A proposal is text on a card, nothing more.
  2. Approval bound to the brief. You read the brief and approve it. The approval attaches to those exact words. It is not an approval of "the task" in a loose sense, and it is not an approval of the session.
  3. Usage consent. If the quest will use a worker that costs anything, or any worker at all, you consent to that usage for this run. Consent is per run, not per account.
  4. Start. You click Start. Nothing else can. A worker does not wake up because a quest exists, because it was approved, or because a timer went off.
  5. Acceptance. The result comes back. You review it. You accept it, ask for changes, or reject it. Only accepted results count for anything downstream.

The gates are boring by design. Boring is the point. An AI agent approval workflow that feels exciting is usually one that has hidden a gate somewhere.

Why "change a word and it asks again" matters

Approval in QuestDesk is bound to the exact brief. If you edit the brief after approving it, even by one word, it drops back to needing approval.

This looks fussy until you think about what the alternative allows. If approval attaches to a quest rather than to its text, the text can drift. You approve "draft three subject lines for the launch email." Someone, or something, later edits it to "draft and send the launch email." The approval still stands. The run goes ahead with the wider scope. You find out afterwards.

Binding approval to the words closes that door. The brief you approved is the brief that runs. Any change, by you or by anyone with access, produces a fresh decision. This is the cheapest guardrail there is, and it is the one most agent tools skip.

One slot, one bounded call, a 180-second timeout

The second structural guardrail is size. A QuestDesk run is one bounded call to one worker, in one slot, with a 180-second timeout. There is no queue of parallel runs. There is no run that spawns sub-runs. One run happens at a time.

The timeout is there so that a run cannot become a session. If the worker has not returned a draft or a question in three minutes, the run ends and says so, and you decide whether to try again. The alternative, an open-ended loop that keeps calling until it feels finished, is exactly the shape that burns credits at three in the morning.

One slot also keeps review possible. If five runs completed while you were away, you would read none of them properly. If one completes, you read it.

Why approve, start, accept and publish must stay separate

These four words get collapsed into one button in a lot of products. "Run" means approve and start. "Done" means accept and publish. Each collapse removes a decision you should have been making.

  • Approve means the brief is right. It says nothing about timing or cost.
  • Start means now, with this worker, at this cost. You might approve a brief on Tuesday and start it on Saturday when your local model is running and you have time to read the result.
  • Accept means the result is good enough to record. It does not mean the result goes anywhere.
  • Publish means the result leaves your control and reaches customers, a repository or the public.

QuestDesk keeps the first three separate and does not have the fourth at all. There is no publish function. A worker result is a draft or a question, and an accepted draft is still a draft. If you want to send the email, you copy it into your email tool and send it yourself. That is not a missing feature. It is the boundary that makes the other three gates meaningful. A tool with a publish button "just in case" will, in practice, have someone press it just in case.

Caps you can see, and why cost shows as unknown

A supported cloud connection in QuestDesk uses your own API key and daily run and token allowances per business. A chat subscription does not automatically give the app API access. Other worker routes, including a local or code-focused worker, remain in development. See the connection guide for the current boundary.

A run count and a token count are observable. A provider invoice is separate. If the app cannot verify a money amount from a source, the honest display is unknown rather than a reassuring but invented zero. Caps help you decide whether to start a run; they are not a promise about a third-party bill.

What a worker may return: a draft or one question, nothing else

For the supported text workflow, a worker may return a draft for you to review or a question it cannot answer safely. A question pauses the work and comes back to you. Answering changes the context; it does not give the worker permission to send, publish or spend on a new task.

Code changes and external actions require their own supported executor, scope and review. An animated role in a 3D preview is not evidence that such an executor ran.

Traceability: every answer and every result tied to a record or a run

A guardrail you cannot audit is a guardrail you have to take on trust. QuestDesk ties everything to something you can open.

  • A Brain proposal cites the records it drew from: the vision, constraint, decision or fact that made it propose this step.
  • A quest carries its brief, its approval state, its consent state and its run history.
  • A run carries the worker used, the start time, the outcome (draft, question, timeout) and the token count.
  • A result carries the run that produced it and the review decision you made.
  • The Kingdom and Desk views should show the same recorded status and link each result to its task and run.

The effect is that "what did the agent do?" is always answerable by opening the quest. There is no separate log to reconcile, and there is no activity that happened outside a run. If a thing is not in a run, it did not happen.

A control inbox, illustrated

The quest workflow keeps Needs you, Ready, Working, Review and Done states tied to the same task records in the Kingdom and Desk. Here is how one evening looks for Clipwise (example), a web app that turns long recordings into short clips, run by one founder in the evenings and at weekends.

Needs you. Two cards. One is a Brain proposal: "Write a plain-language explanation of the export limits for the pricing page." It cites the constraint record that says exports are capped per plan. The founder tightens it to "Draft a 120-word explanation of the export limits for the pricing page, no marketing language," saves it, and approves it. Because the text changed after the proposal, the approval is on the edited brief. The second card is a question from an earlier run: "Should the onboarding email mention the desktop app or only the web app?" The founder answers "web only," and the quest returns to needing approval.

Ready. The export-limits quest is approved and waiting. The founder checks the supported cloud connection, its allowance and the approved brief, then clicks Start. The provider may charge for this run under the founder's own account.

Working. The task shows its actual state. The founder can see which worker owns it while the result is being prepared.

Review. A draft is back: 118 words, no adjectives that sell. The founder reads it, asks for one change (name the plans explicitly), and the quest goes back through approval and start. The second draft is accepted. Accepted work earns progress; the earlier draft did not.

Done. The accepted draft sits with its run, its two reviews and its token count. Tomorrow the founder will paste the words into the pricing page by hand. Nothing in QuestDesk can do that step, and that is correct.

Total decisions by the founder: edit, approve, answer, consent, start, request change, approve again, start again, accept. Nine small clicks. Nothing happened between them. The work chapter shows the flow, and the roadmap distinguishes what is available today from what comes later.

Where this fails in most agent products

If you are comparing tools, these are the three places to look for the gap between "human in the loop" as a phrase and as a design.

Silent fallback to a paid provider. You configure a local model. Its connection drops. The product, wanting to be helpful, routes the run to a cloud provider on a key it has stored, and tells you afterwards, if at all. The run you consented to on a free model has cost money. QuestDesk does the opposite: if your chosen connection is down, the quest waits and says so. Switching providers is a decision, and it is yours. The companion piece on why agents should never start work on their own goes deeper on this.

Activity counted as progress. A dashboard shows runs completed, tokens used, tasks touched. None of those are outcomes. A run that produced a draft you rejected is not progress, and a tool that scores it as progress will train you to run more and review less. QuestDesk gives XP only for results you reviewed and accepted, for your own recorded results, and for milestones with evidence. No streaks, no badges, no credit for volume.

Publish buttons that exist just in case. The product cannot publish by default, but there is a toggle, or an integration, or a "send" action a few clicks away, because a reviewer once asked for it. Every such button is a gate that can be crossed without you at some future date when someone is tired. The safe answer is not a guarded button. It is no button.

Where to start

If you run a small business and you are weighing agent tools, decide the gates before you decide the model. The model is replaceable. The gates are what protect you when the model is wrong, the connection is down or the brief has drifted. The guide to AI for solo founders covers how to fit this into a week that already has no spare hours.

QuestDesk is live by invitation from the waitlist, with pricing not yet set. Join the waitlist with just your email. Once invited: one quest, one bounded run, one draft or one question back, and every step yours to approve.

Questions people ask

What is a human-in-the-loop AI agent?

An agent that proposes and drafts but cannot start, spend or ship without an explicit human decision at each step.

Can an approved AI run change scope?

Not in QuestDesk, because approval is bound to the exact brief and any edit to the brief requires a fresh approval.

What happens if a worker needs more information?

The run ends with one question back to you instead of guessing, and nothing continues until you answer and approve again.

Keep reading