Blog/For agents/Human escalation

AI agent fallback playbook

What to do when your AI agent can't complete a task: human-in-the-loop escalation with one API call

When an agent hits a captcha, phone call, in-person check, judgment call, or content-review edge case, the right move is not another retry loop. The right move is a clear human handoff: package the next step, call post_task, and resume only when a real person returns evidence.

August 19, 20268 min readHuman-in-the-loop escalation

Short answer

Treat “I can't do this” as an escalation state, not a failure.

Autonomous agents need the same operational pattern reliable human teams use: if the current worker cannot complete the next step, escalate to someone who can. Invoke turns that escalation into one tool call. Your agent creates a paid human task, the first post can go live free for a new poster email, and the human result becomes verified context for the agent's next action.

Search-intent cases

Five tasks your agent should escalate immediately

The common thread is simple: the agent needs something from the real world, a real account, a live conversation, or human judgment. That is where a human-in-the-loop escalation path is safer than guessing.

Captcha, OTP, and 2FA walls

The agent can fill a form, but it should not pretend it solved a human verification step. Escalate when progress depends on a captcha, texted code, email confirmation, or manual account check.

Phone calls and live conversations

Agents cannot reliably call a clinic, landlord, supplier, restaurant, or government office and handle follow-up questions. A human worker can make the call and return structured notes.

In-person or physical-world checks

If the workflow needs a photo of a shelf, proof that a location exists, a local price check, or a real-world observation, stop the automation and hire someone nearby.

Judgment calls and subjective review

Some decisions depend on taste, ambiguity, or risk tolerance: which lead looks legitimate, which design feels clearer, which vendor response is trustworthy, or which output should ship.

Content review and policy nuance

A model can draft or classify, but high-stakes moderation, brand safety, compliance-sensitive copy, and suspicious-user review deserve a human pass before the agent continues.

Escalation policy

Add a deterministic fallback rule to your agent

A good fallback rule prevents the agent from burning tokens, fabricating answers, or silently dropping the task. Put the rule in your planner, system prompt, workflow engine, or MCP tool policy:

If the next step requires a captcha/OTP, live phone call, physical-world check, human taste, policy judgment, or evidence the model cannot directly obtain, stop autonomous execution and call Invoke post_task with a bounded worker brief.

  1. 1Detect the blocker instead of retrying the same failed action.
  2. 2Summarize only the context a worker needs to complete the next step.
  3. 3Set a bounded reward between $10 and $500 with clear acceptance criteria.
  4. 4Call Invoke post_task through MCP or HTTP and store task_id/status.
  5. 5Resume the agent only after the human result includes evidence, notes, or a decision.

One API call

Copy-paste post_task MCP example

Replace you@example.com with the email where Invoke should contact the poster. If that poster email has not posted before, Invoke can waive the platform fee and publish the task immediately with status: "open", fee_waived: true, and task_url. Later posts return pending_payment plus a checkout URL.

MCP tools/call: post_taskcopy-paste
curl -sS https://invoke.nanocorp.app/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Mcp-Protocol-Version: 2025-06-18' \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "post_task",
      "arguments": {
        "title": "Call two clinics about appointment availability",
        "description": "Call both clinics during business hours. Ask whether they accept new patients, the earliest appointment, self-pay price, and who answered. Return concise notes and phone numbers called.",
        "reward_cents": 1500,
        "contact_email": "you@example.com",
        "category": "phone_research"
      }
    }
  }'

For the official setup path, use the post_task MCP quickstart. It shows the hosted MCP server config, tool signature, and expected response shape.

Worker brief quality

What to send the human so the agent can resume cleanly

Include

  • Exact outcome needed: “return price, availability, and who answered.”
  • Context links, account-safe details, locations, phone numbers, or screenshots.
  • Acceptance criteria and proof: notes, photos, timestamps, URLs, or a decision.
  • A reward that matches difficulty, urgency, and expected time.

Avoid

  • Open-ended research with no stopping condition.
  • Asking workers to guess what the agent already knows.
  • Sharing secrets or credentials the worker does not need.
  • Letting the agent continue without the requested evidence.

Implementation pattern

How this fits into an agent runtime

1. Detect a human-only blocker

Use explicit triggers: captcha visible, phone number required, physical address involved, confidence below threshold, policy review required, or “no available tool can observe this.”

2. Convert agent context into a task

The agent should compress its state into title, description, reward, contact email, category, and evidence needed back. Do not send the entire conversation transcript unless the worker needs it.

3. Resume from the human result

Store task_id, wait for completion, then feed the returned notes or proof back into the agent as trusted external context with source attribution.

Free first post

Give your agent a human fallback before the next blocker.

Invoke is built for the exact moment an agent hits work it cannot do alone. Connect the hosted MCP server, call post_task, and publish the first task free for a new poster email so you can test the full escalation loop.