← Back to the Invoke blog

AI agents · MCP · human-in-the-loop tasks

How to let your AI agent hire a human for tasks it can’t do (2026 guide)

The best AI agents do not pretend every task is software. They know when to ask a person to make a call, check something physical, exercise judgment, or return proof. This guide shows the exact boundary, the task brief format, and the copy-paste Invoke MCP and HTTP API paths for hiring a human.

By Invoke11 min read

Quick answer

Yes — your agent can hire a human when a workflow hits the real world.

Use Invoke when the agent can define the outcome but cannot safely complete the action itself. The agent creates a task with title, description, reward_cents, contact_email, and optional category. Invoke returns a pending task plus a checkout link; after the platform fee is paid, human workers can complete it.

When should an AI agent hire a human?

A useful rule: hire a human when the next step requires perception, trust, accountability, or taste that is not available through your tools. These are the common handoff categories.

Human judgment

Your agent can collect evidence, but a person should decide whether a lead is real, a review is credible, a policy edge case is acceptable, or a piece of copy feels trustworthy.

Physical presence

Agents cannot stand in a store, photograph a shelf, read a posted sign, pick up a local detail, or verify that an address exists in the real world.

Live coordination

Phone calls, appointment checks, vendor quotes, and short conversations still need tone, interruption handling, and the ability to ask one useful follow-up question.

Verification and proof

A human can return a screenshot, photo, call note, timestamp, source link, or concise decision so the agent has something stronger than a guess.

Creativity and taste

A person can rank names, reject awkward phrasing, choose the least spammy image, or do a final quality pass before an automated workflow ships work publicly.

The handoff pattern: agent → human → agent

1

Detect the handoff

Add a rule to your agent: if the next action requires a phone call, a real-world check, ambiguous judgment, or human taste, stop guessing and create a human task.

2

Write a bounded brief

Turn the agent’s context into instructions a stranger can complete without seeing your whole system. Include the exact evidence you need back.

3

Create the task through MCP or HTTP

Use Invoke’s hosted MCP server when your agent runtime supports MCP. Use POST /api/tasks when you want a plain HTTP integration.

4

Pay the checkout URL to activate

Both paths return status pending_payment, a platform_fee_cents value, and a checkout_url. Paying that link activates the task for human workers.

5

Resume the automation

Feed the returned human result back into the agent as trusted context, then continue the original workflow instead of retrying the impossible step.

What your agent should send to a human

The fastest tasks are not long prompts. They are bounded work orders. Before your agent calls Invoke, have it produce this checklist.

  • One sentence explaining the outcome you need
  • Links, screenshots, account-safe context, or source records the worker needs
  • A reward in cents between 1000 and 50000 ($10–$500)
  • Clear acceptance criteria: what counts as done
  • Required proof: call notes, photo, URL, screenshot, decision, or structured fields
  • A contact email where Invoke can reach the task poster

MCP walkthrough

Option 1: let your agent hire a human through Invoke’s MCP server

Invoke’s hosted MCP endpoint is https://invoke.nanocorp.app/mcp. It exposes two tools: post_human_task and the alias hire_human. Use the hosted Streamable HTTP endpoint in MCP clients that support remote servers.

mcp.jsoncopy paste
{
  "mcpServers": {
    "invoke-human-tasks": {
      "type": "streamable-http",
      "url": "https://invoke.nanocorp.app/mcp"
    }
  }
}
optional non-mutating endpoint checkcopy paste
curl -sS https://invoke.nanocorp.app/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "my-agent", "version": "1.0.0" }
    }
  }'
post_human_task tool callcopy paste
Tool: post_human_task
Input:
{
  "title": "Call 3 local repair shops for same-day availability",
  "description": "Call each shop, ask if they can repair a cracked phone screen today, and return the shop name, phone number, quoted price, and earliest appointment time.",
  "reward_cents": 2500,
  "contact_email": "ops@example.com",
  "category": "phone-calls"
}

Implementation note: the MCP call creates a pending task, not an active task. Your agent should show or pay the returned checkout_url to activate the task for workers.

HTTP API walkthrough

Option 2: create the same human task with POST /api/tasks

If you do not need MCP, call https://invoke.nanocorp.app/api/tasks directly. The endpoint accepts JSON, allows CORS, and returns 201 with the task id, payment status, platform fee, and checkout URL.

curl POST /api/taskscopy paste
curl -sS -X POST https://invoke.nanocorp.app/api/tasks \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Verify whether a storefront is open today",
    "description": "Call the store, ask whether it is open today before 6pm, and return the answer plus the name of the person who confirmed it. If nobody answers, check the public website and note the source.",
    "reward_cents": 2000,
    "contact_email": "ops@example.com",
    "category": "verification"
  }'
example 201 responsecopy paste
{
  "task_id": "6c4bc0db-f7b4-4f7b-9bc1-13a2df3579d2",
  "status": "pending_payment",
  "platform_fee_cents": 200,
  "checkout_url": "https://checkout.nanocorp.so/c/..."
}

How to wire this into an autonomous agent

  1. 1. Add a fallback policy. Example: “If a task needs a phone call, physical check, human judgment, or proof from outside available tools, call Invoke instead of guessing.”
  2. 2. Generate a worker brief. Ask the agent to compress context into outcome, instructions, reward, deadline, and proof requirements.
  3. 3. Call MCP or HTTP. Prefer MCP for agent runtimes with tool orchestration. Prefer HTTP for workflow engines, scripts, and backend jobs.
  4. 4. Handle payment state. Store task_id, status, and checkout_url. Activate the task by paying the link.
  5. 5. Resume only with evidence. Require the human result to include notes, URLs, screenshots, photos, or a decision so the agent can continue deterministically.

Common tasks agents should delegate

Call vendors and collect quotes
Verify a business is open
Check a physical location or shelf
Review suspicious listings or leads
Moderate nuanced user-generated content
Choose the best creative option
Confirm an appointment or policy
Return proof before a workflow proceeds

Build the human fallback now

Give your agent a reliable way to stop guessing and hire a human.

Start with the MCP/API docs if you are integrating Invoke into an agent runtime, or post a task manually to see the workflow end to end.