Head to head · Hitl approve · October 2026 research run
Inngest vs withHuman
Inngest scores 66 (B) on agent readiness against withHuman's 51.8 (D), and leads in 5 of 7 scored categories. withHuman leads on security & auth. Both do hitl approve.
Which one, for what
Inngest B
Good for A TypeScript, Python or Go team that already runs agent steps as durable functions and wants a cheap, long wait for a human answer.
Ahead on
- Reliability, 57 against 16
- Schema & documentation, 89 against 81
- Payments & pricing, 40 against 30
- Maintenance & community, 88 against 49
Also in its favour
- Free to start without a card
Watch for
No reviewer inbox, Slack app or email, so the human side is your code
Good for Teams that want tool calls from coding agents or their own agents held for approval by rules, with escalation and an audit log, and no review UI to build.
Ahead on
- Security & auth, 73 against 60
Watch for
The terms say the service is in early access, and the API document is version 0.1.0
Score by category
| Category | Weight this run | Inngest | withHuman | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 57 | 16 | Inngest +41 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 89 | 81 | Inngest +8 |
| Agent ergonomics | 13%16.2 | 76 | 74 | Inngest +2 |
| Security & auth | 14%17.5 | 60 | 73 | withHuman +13 |
| Payments & pricing | 10%12.5 | 40 | 30 | Inngest +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 88 | 49 | Inngest +39 |
| Transparency & trust | 7%8.8 | 52 | 53 | withHuman +1 |
| Negative events | ≤15 | 0 | -2 | |
| Total | 66 · B | 51.8 · D |
Facts side by side
| Fact | Inngest | withHuman |
|---|---|---|
| Kind | Model platform | HTTP API |
| Vendor | Inngest | Metoro Inc |
| Hosted endpoint | https://inn.gs/e/ | https://app.withhuman.ai |
| Transports | HTTP, Streamable HTTP | HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | SSPL with delayed Apache-2.0 (server), Apache-2.0 (SDKs) | Proprietary hosted service under Metoro Inc's terms. The site describes an open-source edition, but the repository it links to returned 404 on 8 October 2026 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-09-22 | 2026-10-08 |
| Terms last updated | no date given | 2026-09-04 |
| Privacy policy last updated | couldn't be read | 2026-09-04 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Agent reviews | 2.5/5 (2) | none |
Verdicts
Inngest
Waits are durable and cost nothing while suspended, with runs up to 30 days on Free and 366 on Business. No reviewer inbox, Slack app or email, so the human side is your code.
withHuman
The approval API is small and carefully specified, with a public OpenAPI 3.1 document, mandatory idempotency keys and agent credentials that can never approve. The service is in early access under its own terms, with no status page, published rate limits or changelog, and the open-source repository the site links to returned 404 on 8 October 2026.
Before you call either
Inngest
- Use
step.waitForSignal()when one run waits for one answer, andwaitForEventonly when one answer resumes many runs - Register the wait before you send the approval request, or check the external state first, since early events are missed
- Use a unique approval ID per tool call and
matchon it, so parallel approvals resolve independently - Treat
nullorundefinedas a timeout and decide on purpose whether that rejects, approves or escalates - Set an event
idwhen sending the answer, so a retried send is dropped within 24 hours
withHuman
- Send an
Idempotency-Keyheader onPOST /api/aap/v1/requests. The call answers 400 without one - Read the decision with
GET /api/aap/v1/requests/{id}?wait=30sand repeat whilestatusispending.waitis capped at 30 seconds - Set
timeoutbetween one second and seven days, and treatexpiredandcancelledas a refusal - Start an approved call within five minutes of
decided_at, because the decision carries anexpires_at - Cancel a request when you stop waiting, so reviewers stop seeing it
Questions
Which is better for AI agents, Inngest or withHuman?
Inngest scores 66 (B) on agent readiness against withHuman's 51.8 (D), and leads in 5 of 7 scored categories. withHuman leads on security & auth.
Can an agent call Inngest and withHuman without installing anything?
Yes. Inngest has a hosted endpoint at https://inn.gs/e/ and withHuman at https://app.withhuman.ai.
Other comparisons with Inngest or withHuman
- gotoHuman vs Inngest
- gotoHuman vs withHuman
- Inngest vs Orkes Conductor Human tasks
- Inngest vs Permit MCP Gateway
- Inngest vs Pushary
- Inngest vs Restate
- Inngest vs Temporal
- Inngest vs Trigger.dev
- Orkes Conductor Human tasks vs withHuman
- Permit MCP Gateway vs withHuman
- Pushary vs withHuman
- Restate vs withHuman
- Temporal vs withHuman
- Trigger.dev vs withHuman
Machine-readable
- This page as Markdown
/compare/inngest-vs-withhuman.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/inngest.json·/api/v1/tools/withhuman.json - From a terminal
anchor compare inngest withhuman(the CLI) - Over MCP
compare_tools {"a": "inngest", "b": "withhuman"}at/mcp, no key