Taskbox

Your automation. A human. A callback.

Your workflow creates a task, pauses, routes the decision to a real person, Taskbox sends an HMAC-signed callback when they approve or reject.

Your system Human decides Signed callback

No credit card required.

Your automation shouldn't ship without a human

Refunds, customer emails, deletions, deploys - some actions are too costly to leave fully automated. Taskbox is the missing approval layer: one API to pause your flow, one UI for the human, one signed callback when they decide.

REST API in

POST a task with title, description, assignees, and a callback URL. Anything that speaks HTTP - agents, n8n, cron, your own services.

Human approves

Route a single task to one or many approvers. First decision wins. Owners manage keys and members; members resolve tasks.

Signed callback out

HMAC-signed POST to your URL when a human decides. Per-key signing secret, at-least-once delivery, retries with backoff, idempotency key on every call.

If it speaks HTTP, it works with Taskbox

Taskbox is a protocol, not a fixed integration list. Anything that can POST a request and receive a webhook fits in - n8n is just one example.

Send tasks from
AI agents (Claude, GPT, custom)
n8n, Zapier, Make
Cron jobs and shell scripts
Backend services (Go, Python, Node…)
GitHub Actions and CI pipelines
Taskbox
Receive callbacks at
Webhook endpoints in any framework
n8n, Zapier, Make webhook nodes
Lambda, Cloud Functions, Workers
Slack and Discord bots
Anything behind a public URL

How it fits in your stack

  1. Step 1

    Sign up

    Create an account. Create a workspace to manage api keys and members.

  2. Step 2

    Generate an API key

    Open workspace → API keys. Generate an API key to identify your automation system.

  3. Step 3

    POST a task from your automation

    From n8n, an agent, a cron job, anything - POST to /api/v1/tasks with a title, assignee emails, and a callback URL.

  4. Step 4

    A human decides

    Assignees see the task in Taskbox and approve or reject. Taskbox POSTs the HMAC-signed decision to your callback URL.

Try the protocol
You Taskbox
curl -X POST https://taskbox.dev/api/v1/tasks \
  -H "Authorization: Bearer $TASK_RELAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Approve refund for order #4821",
    "description": "Customer requested a $240 refund. Policy - $200 without review.",
    "priority": "high",
    "assigned_to_emails": ["[email protected]"],
    "callback_url": "https://n8n.acme.com/webhook/Qmf4ug#Rbt",
    "metadata": {
      "order_id": "4821",
      "customer_email": "[email protected]",
      "amount_usd": 240,
      "reason": "shipping damaged"
    }
  }'

metadata is freeform - pass anything your workflow needs and Taskbox echoes it back on the callback.

There's more in the box.

Workspaces, roles, multi-assignee routing, callback monitoring, retries, audit log, history, and a few more things you'd expect from a tool you'd actually trust in production.

Ready to put a human in the loop?

Sign up, grab an API key, and ship your first approval flow in minutes.

No credit card required.