Skip to main content

Human-in-the-Loop Approvals

Autonomous does not mean unsupervised. When an agent is about to take a sensitive action - moving money, sending something outside your workspace, deleting data - it pauses the run and raises an approval request in the app at app.flymy.ai. Nothing happens until the owner approves. Once approved, the run resumes from where it stopped and finishes normally.

Every run is recorded, so you can always inspect afterwards what the agent did, what it asked permission for, and what you approved. See Runs for the full event timeline.

How it works

  1. The agent runs autonomously - planning, researching, calling tools.
  2. It reaches a sensitive action: a refund, an outbound email, a record deletion.
  3. The run pauses and an approval request appears in the app.
  4. You review the request and approve it.
  5. The run resumes, performs the action, and continues to completion.

The agent does not skip the action or guess at your answer while paused - it waits.

Asking for approvals in plain text

You control the approval boundary the same way you control everything else about an agent: by saying it in the goal. No configuration, no special syntax - plain language when you create the agent.

You handle customer refunds.
Always ask me before issuing any refund over $500.
Refunds under $500 that match our policy can go out without asking.
Never delete a customer record without my explicit approval.

Other phrasings that work the same way:

  • "Ask before sending any email to someone outside the company."
  • "Get my approval before posting anything publicly."
  • "Confirm with me before cancelling a subscription."

The more explicit the threshold, the more predictable the behavior. "Ask before refunds over $500" is better than "be careful with refunds."

tip

Put approval rules in the agent's goal at creation time, not in a follow-up chat message. Rules in the goal apply to every run; a chat remark only applies to the current conversation.

What pauses and what does not

ActionBehavior
Moving money (refunds, payments, transfers)Pauses for approval
Sending externally (emails, messages, public posts)Pauses for approval
Deleting or irreversibly changing dataPauses for approval
Reading, searching, and researchingRuns without pausing
Drafting content for your reviewRuns without pausing
Internal reasoning and planning stepsRuns without pausing

Read-only work never needs a pause - the agent gathers information, drafts, and analyzes freely. It is the moment of irreversible effect that waits for you.

caution

Approval rules are instructions, and thresholds you never stated cannot be enforced. If a specific limit matters to you - an amount, a recipient list, a category of records - write it into the goal explicitly rather than assuming the agent will infer it.

Checking what happened

Approvals do not replace observability - they complement it. Every run keeps its full log: which tools were called, with which arguments, and in what order. After a run finishes, open it in the app or fetch it via the SDK to verify the approved action did exactly what you expected.

Next steps

  • Runs - lifecycle, event streaming, and inspecting a finished run
  • Tools & MCP - the integrations your agent acts through
  • Training with Patches - refine the goal when behavior needs adjusting