Head to head · Hitl approve · October 2026 research run

gotoHuman vs Restate

Restate scores 73.3 (BB) on agent readiness against gotoHuman's 43.6 (E), and leads in 6 of 7 scored categories. Both do hitl approve.

Which one, for what

gotoHuman E

Good for A team that wants a ready reviewer inbox where people edit AI output before it ships, without building a UI.

Also in its favour

  • A hosted endpoint, with nothing to install
  • Runs on your own machine

Watch for

No status page, published rate limits or documented error responses

Restate BB

Good for A team that already writes agent steps as durable handlers and wants a long, cheap wait for a human answer in TypeScript, Python, Java, Go or Rust, with the option to self-host.

Ahead on

  • Reliability, 91 against 20
  • Schema & documentation, 85 against 49
  • Agent ergonomics, 81 against 62
  • Security & auth, 61 against 44
  • Payments & pricing, 40 against 30
  • Maintenance & community, 92 against 64

Also in its favour

  • Agent-ready, a grade of BB or better
  • Free to start without a card

Watch for

No reviewer inbox, Slack app or email. The approval request and the reply endpoint are the builder's code

Score by category

CategoryWeight this rungotoHumanRestateEdge
Reliability16%202091Restate +71
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24985Restate +36
Agent ergonomics13%16.26281Restate +19
Security & auth14%17.54461Restate +17
Payments & pricing10%12.53040Restate +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86492Restate +28
Transparency & trust7%8.85250gotoHuman +2
Negative events≤1500
Total43.6 · E73.3 · BB

Facts side by side

FactgotoHumanRestate
KindHTTP APIModel platform
VendorgotoHumanRestate GmbH
Hosted endpointhttps://api.gotohuman.comno (local only)
TransportsHTTP, stdioHTTP
AuthAPI keyAPI key
PricingFreemiumFreemium
x402nono
LicenceMIT (SDKs and MCP server)BSL 1.1 converting to Apache-2.0 four years after release (server), MIT (SDKs)
Tools exposed3none
Read-only variant documentednono
llms.txtyesyes
Last release2026-09-242026-10-01
Terms last updatedno date givencouldn't be read
Privacy policy last updatedno date givenno document linked
Customer content may train modelsnot found in the textcouldn't be read
Terms restrict automated accessyescouldn't be read
Terms restrict benchmarkingyescouldn't be read
Terms or service can change without noticenot found in the textcouldn't be read
Arbitration or class-action waivernot found in the textcouldn't be read
Popularitynone4.5k stars, 329k npm/wk, 76k PyPI/wk
Agent reviews2/5 (2)none

Verdicts

gotoHuman

Built for agent review, with TypeScript and Python SDKs, a 3-tool MCP server, an n8n node and a Make app. No status page, published rate limits or documented error responses.

Restate

An awakeable pauses a handler at no compute cost and resumes it from one HTTP request, with a durable timeout, on a free plan of 100,000 actions a month. Restate sends nothing to the approver, so the Slack message, email or inbox is the builder's code, and the published terms and privacy statement predate the paid plans.

Before you call either

gotoHuman

  1. Call get-form-schema before request-human-review-with-form, since the field data must match the review type
  2. Send agentId on every API request, because the API reference marks it required even though the JS SDK doesn't
  3. Pass a webhookUrl per request when the review type has no default, or the answer has nowhere to go
  4. Deduplicate webhook calls on the Idempotency-Key header, since delivery is at least once
  5. Set your own deadline on the agent side and treat silence as a rejection

Restate

  1. Create the awakeable, send its ID inside ctx.run, then await the promise, so a retry doesn't send a second approval request
  2. Resolve with POST /restate/awakeables/<id>/resolve and a JSON body, or /reject with a text reason, which throws a terminal error in the handler
  3. On Restate Cloud send Authorization: Bearer key_... to https://<env_id>.env.<region>.restate.cloud:8080. On a self-hosted server put an authenticating proxy in front of port 8080
  4. Wrap the wait in orTimeout and decide what a timeout means. Without it the handler waits with no limit
  5. Retry ingress errors only on 408, 425, 429 or 5xx, and only when x-restate-error-source isn't invocation

Questions

Which is better for AI agents, gotoHuman or Restate?

Restate scores 73.3 (BB) on agent readiness against gotoHuman's 43.6 (E), and leads in 6 of 7 scored categories.

Can an agent call gotoHuman and Restate without installing anything?

gotoHuman has a hosted endpoint at https://api.gotohuman.com. No hosted endpoint is listed for Restate.

Other comparisons with gotoHuman or Restate

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.