{
  "data": {
    "a": {
      "slug": "gotohuman",
      "name": "gotoHuman",
      "vendor": "gotoHuman",
      "vendorUrl": "https://www.gotohuman.com",
      "kind": "http-api",
      "category": "human-in-the-loop",
      "summary": "Hosted review inbox for AI agents.",
      "url": "https://www.anchorterminal.com/tools/gotohuman",
      "markdownUrl": "https://www.anchorterminal.com/tools/gotohuman.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gotohuman.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gotohuman.json",
      "repo": "https://github.com/gotohuman/gotohuman-mcp-server",
      "license": "MIT (SDKs and MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.gotohuman.com",
      "packages": [
        {
          "registry": "npm",
          "name": "gotohuman"
        },
        {
          "registry": "pypi",
          "name": "gotohuman"
        },
        {
          "registry": "npm",
          "name": "@gotohuman/mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key in an `x-api-key` header. The SDKs and the MCP server read `GOTOHUMAN_API_KEY`, plus an optional `GOTOHUMAN_AGENT_ID` that ties requests to an agent set up in the dashboard. Reviewers sign in to the web inbox, and Slack notifications can carry a short-lived public link instead.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 a month for 1 user and up to 300 reviews a month, with the web inbox, email and Slack and a 7-day history. Team $99 a month with 6 users ($15 per extra user), review routing, the Reviews API and a 60-day history. Growth $350 a month with 20 users ($17 per extra user), several teams and a 90-day history. Business $950 a month with 50 users, 5 workspaces, audit logs and custom retention. The paid plans don't state a review cap, and there's no yearly price on the page (https://www.gotohuman.com/pricing).",
      "priceSummary": "$99 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.gotohuman.com",
      "llmsTxt": "https://docs.gotohuman.com/llms.txt",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "hitl.channels",
        "hitl.audit"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "mcp",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "enterprise"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.9,
        "grade": "E",
        "agentReady": false,
        "rank": 407,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 64,
          "payments": 30,
          "reliability": 20,
          "schema": 49,
          "security": 44,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "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.",
        "strengths": [
          "Built for agent review, with TypeScript and Python SDKs, a 3-tool MCP server, an n8n node and a Make app",
          "Reviewers can edit the output before approving, and the webhook returns the edited data",
          "Web inbox, email and Slack on every plan, including the $0 one",
          "Webhooks retry up to 7 times over about 9 hours and carry an `Idempotency-Key` header",
          "Terms rule out training on customer data, and processing is mainly in the EU"
        ],
        "weaknesses": [
          "No status page, published rate limits or documented error responses",
          "No review expiry or timeout that we could find in the docs",
          "Review routing and the Reviews API start at $99 a month, audit logs at $950",
          "The API reference and the SDK guide disagree on field names and on whether `agentId` is required",
          "No security.txt, disclosure policy or own SOC 2 report"
        ],
        "agentNotes": [
          "Call `get-form-schema` before `request-human-review-with-form`, since the field data must match the review type",
          "Send `agentId` on every API request, because the API reference marks it required even though the JS SDK doesn't",
          "Pass a `webhookUrl` per request when the review type has no default, or the answer has nowhere to go",
          "Deduplicate webhook calls on the `Idempotency-Key` header, since delivery is at least once",
          "Set your own deadline on the agent side and treat silence as a rejection"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.9
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 64,
          "payments": 30,
          "reliability": 20,
          "schema": 49,
          "security": 44,
          "transparency": 54
        },
        "provenanceScore": 55
      },
      "connect": {
        "http": "curl -X POST https://api.gotohuman.com/requestReview -H \"x-api-key: $GOTOHUMAN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"formId\":\"YOUR_REVIEW_TEMPLATE_ID\",\"fields\":{\"draft\":\"Refund order 1042 in full?\"},\"meta\":{\"threadId\":\"t-1\"}}'",
        "config": {
          "mcpServers": {
            "gotoHuman": {
              "args": [
                "-y",
                "@gotohuman/mcp-server"
              ],
              "command": "npx",
              "env": {
                "GOTOHUMAN_API_KEY": "${GOTOHUMAN_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/gotohuman"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 99,
          "note": "6 users included"
        },
        {
          "item": "Team extra user",
          "unit": "seat-month",
          "usd": 15
        },
        {
          "item": "Growth plan",
          "unit": "month",
          "usd": 350,
          "note": "20 users included"
        },
        {
          "item": "Growth extra user",
          "unit": "seat-month",
          "usd": 17
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 950,
          "note": "50 users, 5 workspaces, audit logs"
        }
      ],
      "provenance": {
        "legalEntity": "gotoHuman UG (haftungsbeschränkt)",
        "domain": "gotohuman.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.gotohuman.com/terms-of-service",
        "privacy": "https://www.gotohuman.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms (last updated 2026-02-13) name gotoHuman UG (haftungsbeschränkt), Lydia-Rabinowitsch-Str. 14, 10557 Berlin, Germany, under German law with Berlin as venue.",
          "https://www.gotohuman.com/.well-known/security.txt returned 404 on 2026-10-01.",
          "No status page or product changelog found. The n8n node publishes release notes on GitHub.",
          "We didn't check RDAP, so the domain age is blank."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gotohuman.json",
      "live": {
        "slug": "gotohuman",
        "probe": {
          "target": "https://api.gotohuman.com",
          "method": "get",
          "lastAt": "2026-10-05T02:29:56.38701207Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 39,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 50,
          "p95ms24h": 99,
          "samples24h": 273,
          "samples30d": 929,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@gotohuman/mcp-server",
            "version": "0.2.2",
            "seenAt": "2026-10-04T16:29:05.156119215Z"
          },
          {
            "registry": "npm",
            "name": "gotohuman",
            "version": "0.3.6",
            "seenAt": "2026-10-04T16:29:04.586460709Z"
          },
          {
            "registry": "pypi",
            "name": "gotohuman",
            "version": "0.2.4",
            "released": "2026-06-03",
            "seenAt": "2026-10-04T16:29:04.975506279Z"
          }
        ],
        "githubStars": 52,
        "npmWeekly": 74,
        "pypiWeekly": 5,
        "securityTxt": {
          "url": "https://gotohuman.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:41.255049539Z"
        },
        "llmsTxt": {
          "url": "https://docs.gotohuman.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:50.969227035Z"
        },
        "domain": {
          "domain": "gotohuman.com",
          "registered": "2024-03-28",
          "source": "https://rdap.verisign.com/com/v1/domain/gotohuman.com",
          "checkedAt": "2026-10-04T13:04:49.9181988Z"
        },
        "pages": [
          {
            "url": "https://www.gotohuman.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:32.334095061Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dc7f398aed05"
          },
          {
            "url": "https://www.gotohuman.com/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:50:34.372419331Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e30807da51a1"
          },
          {
            "url": "https://docs.gotohuman.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:39.70487297Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eb3d36ed071e"
          }
        ],
        "updatedAt": "2026-10-05T02:29:56.38701207Z"
      }
    },
    "b": {
      "slug": "temporal",
      "name": "Temporal",
      "vendor": "Temporal Technologies",
      "vendorUrl": "https://temporal.io",
      "kind": "platform",
      "category": "human-in-the-loop",
      "summary": "Open-source durable execution platform with SDKs in Go, Java, Python, TypeScript, .NET, PHP, Ruby and Rust, run yourself or on Temporal Cloud.",
      "url": "https://www.anchorterminal.com/tools/temporal",
      "markdownUrl": "https://www.anchorterminal.com/tools/temporal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/temporal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/temporal.json",
      "repo": "https://github.com/temporalio/temporal",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "temporalio"
        },
        {
          "registry": "npm",
          "name": "@temporalio/client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Temporal Cloud clients and workers authenticate with an API key or mTLS certificates per namespace. A self-hosted server has whatever auth you configure.",
      "pricing": "usage",
      "pricingNotes": "Temporal Cloud bills Actions, storage and a plan. Developer has no base fee and adds 10 per cent of usage spend. Business is the greater of $500 a month or 10 per cent of usage, with 2.5 million Actions, 2.5 GB active and 100 GB retained storage included. Enterprise and Mission Critical are priced annually through sales. Actions cost $50 per million, and from Business up the price steps down with volume to $25 per million between 100 and 200 million. Active storage is $0.042 and retained $0.00105 per GB-hour (https://docs.temporal.io/cloud/pricing). Every Signal and every timer, including the implicit one behind a wait with a timeout, counts as an Action (https://docs.temporal.io/evaluate/cloud/actions). New Cloud accounts get $150 of credits for 90 days, and the pricing page says a card is required (https://temporal.io/pricing). Self-hosting is free under MIT.",
      "priceSummary": "$0.05 / 1k calls",
      "where": "local",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.temporal.io/design-patterns/approval",
      "llmsTxt": "https://docs.temporal.io/llms.txt",
      "openapi": "https://github.com/temporalio/api/blob/master/openapi/openapiv3.yaml",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "hitl.audit",
        "agent.durable",
        "automation.workflows",
        "automation.code"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "llms-txt",
        "python",
        "typescript",
        "enterprise"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 77.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 21,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 20,
          "reliability": 85,
          "schema": 91,
          "security": 86,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Waits of any length with a timeout survive worker restarts and deploys. No reviewer inbox, notifications or routing, so the human side is all your code.",
        "strengths": [
          "Waits of any length with a timeout survive worker restarts and deploys",
          "Each workflow's event history is an audit trail of every signal, without extra logging",
          "Contractual SLA of 99.9 per cent per namespace, 99.99 with High Availability",
          "Namespace-scoped API keys with RBAC, expiry warnings and a read-only role",
          "MIT-licensed server and SDKs in eight languages, with OpenAPI for the HTTP API"
        ],
        "weaknesses": [
          "No reviewer inbox, notifications or routing, so the human side is all your code",
          "Needs running workers and a Temporal service before the first approval",
          "Signals and timers are billed Actions on Cloud, and the $150 trial credit needs a card",
          "History caps of 51,200 events or 50 MB per run push long agent loops towards Continue-As-New",
          "Control-plane audit logs leave out data-plane events such as workflow starts and terminations"
        ],
        "agentNotes": [
          "Put the decision in a typed Signal payload (approver, decision, comments, timestamp) instead of a bare boolean",
          "Always wait with a timeout and treat the timeout path as a rejection or an escalation on purpose",
          "Use the workflow ID as the approval ID, so the reviewer's tool only needs one value to send the Signal",
          "Use an Update instead of a Signal when the approver's tool needs an acknowledgement back",
          "Expect `ResourceExhausted` under load and let the SDK retry it, since signals are throttled last"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.6,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 77.2
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 20,
          "reliability": 85,
          "schema": 91,
          "security": 86,
          "transparency": 75
        },
        "provenanceScore": 65
      },
      "connect": {
        "install": "pip install temporalio"
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/temporal"
      },
      "alsoIn": [
        "workflow-automation"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Actions, first 5 million",
          "unit": "1k-calls",
          "usd": 0.05,
          "note": "$50 per million. Each Signal and timer is an Action"
        },
        {
          "item": "Business plan minimum",
          "unit": "month",
          "usd": 500,
          "note": "Or 10 per cent of usage if higher, 2.5 million Actions included"
        }
      ],
      "provenance": {
        "legalEntity": "Temporal Technologies Inc.",
        "domain": "temporal.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://temporal.io/global-privacy-policy",
        "statusPage": "https://status.temporal.io",
        "changelog": "https://github.com/temporalio/temporal/releases",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "The legal entity is from the server's MIT licence and the docs footer.",
          "status.temporal.io runs on Atlassian Statuspage with components for 14 AWS regions, 6 GCP regions and 8 global services. Its history page renders with JavaScript and we read only the recent incidents on the front page.",
          "Server v1.32.0 is on a commit dated 2026-09-10, with patch releases v1.31.3 (2026-09-14) and v1.30.7 (2026-09-15). A v1.33.0 release candidate was tagged on 2026-09-29.",
          "The privacy policy (updated 2026-04-22) names Temporal Technologies Inc., 2337 148th Ave NE #1335, Bellevue, WA 98007. We couldn't read the terms, security.txt or RDAP on 2026-10-01."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/temporal.json",
      "live": {
        "slug": "temporal",
        "vendorStatus": {
          "page": "https://status.temporal.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:29:14.998903832Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "temporalio/temporal",
            "version": "v1.32.0",
            "released": "2026-09-11",
            "seenAt": "2026-10-04T16:41:45.737977886Z"
          },
          {
            "registry": "npm",
            "name": "@temporalio/client",
            "version": "1.24.0",
            "seenAt": "2026-10-04T16:41:44.913799491Z"
          },
          {
            "registry": "pypi",
            "name": "temporalio",
            "version": "1.34.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-04T16:41:44.726624016Z"
          }
        ],
        "githubStars": 23462,
        "npmWeekly": 5211272,
        "pypiWeekly": 8895388,
        "securityTxt": {
          "url": "https://temporal.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-01-15T00:00:00Z",
          "checkedAt": "2026-10-04T15:15:43.220669153Z"
        },
        "llmsTxt": {
          "url": "https://docs.temporal.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:17.819947998Z"
        },
        "domain": {
          "domain": "temporal.io",
          "checkedAt": "2026-10-04T13:09:39.916747902Z"
        },
        "pages": [
          {
            "url": "https://docs.temporal.io/cloud/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:44:07.868726677Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4977c222b082"
          },
          {
            "url": "https://temporal.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:27.02559255Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "afba575b2b42"
          },
          {
            "url": "https://temporal.io/global-privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:24.921177834Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f55eba2b4fc3"
          }
        ],
        "updatedAt": "2026-10-05T02:29:14.998903832Z"
      }
    },
    "summary": "Temporal has a score of 77.2 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 65 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gotohuman-vs-temporal",
    "json": "https://www.anchorterminal.com/compare/gotohuman-vs-temporal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gotohuman-vs-temporal.md",
    "slim": "https://www.anchorterminal.com/compare/gotohuman-vs-temporal.min.md"
  },
  "markdown": "Temporal has a score of 77.2 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 65 points.\n\n- gotoHuman: grade E, 43.9/100, rank #407 of 452. Markdown https://www.anchorterminal.com/tools/gotohuman.md · JSON https://www.anchorterminal.com/api/v1/tools/gotohuman.json\n- Temporal: grade BB, 77.2/100, rank #21 of 452. Markdown https://www.anchorterminal.com/tools/temporal.md · JSON https://www.anchorterminal.com/api/v1/tools/temporal.json\n\n## Which one, for what\n\nPick gotoHuman for payments \u0026 pricing (+10).\n\nPick Temporal for reliability (+65), schema \u0026 documentation (+42), agent ergonomics (+23), security \u0026 auth (+42), maintenance \u0026 community (+26), transparency \u0026 trust (+15).\n\n## Score by category\n\n| Category | Weight | gotoHuman | Temporal | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 85 | Temporal +65 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 91 | Temporal +42 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 85 | Temporal +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 86 | Temporal +42 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | gotoHuman +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 90 | Temporal +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 70 | Temporal +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43.9 · E** | **77.2 · BB** | |\n\n## Facts side by side\n\n| Fact | gotoHuman | Temporal |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | gotoHuman | Temporal Technologies |\n| Hosted endpoint | `https://api.gotohuman.com` | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | MIT (SDKs and MCP server) | MIT |\n| Tools exposed | 3 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-24 | 2026-09-15 |\n| Popularity | none | none |\n| Agent reviews | 2/5 (2) | 3.6/5 (8) |\n\n## Verdicts\n\n**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.\n\n**Temporal.** Waits of any length with a timeout survive worker restarts and deploys. No reviewer inbox, notifications or routing, so the human side is all your code.\n\n## Before you call either\n\n### gotoHuman\n\n1. Call `get-form-schema` before `request-human-review-with-form`, since the field data must match the review type\n2. Send `agentId` on every API request, because the API reference marks it required even though the JS SDK doesn't\n3. Pass a `webhookUrl` per request when the review type has no default, or the answer has nowhere to go\n4. Deduplicate webhook calls on the `Idempotency-Key` header, since delivery is at least once\n5. Set your own deadline on the agent side and treat silence as a rejection\n\n### Temporal\n\n1. Put the decision in a typed Signal payload (approver, decision, comments, timestamp) instead of a bare boolean\n2. Always wait with a timeout and treat the timeout path as a rejection or an escalation on purpose\n3. Use the workflow ID as the approval ID, so the reviewer's tool only needs one value to send the Signal\n4. Use an Update instead of a Signal when the approver's tool needs an acknowledgement back\n5. Expect `ResourceExhausted` under load and let the SDK retry it, since signals are throttled last\n\n## Other comparisons with gotoHuman or Temporal\n\n- [gotoHuman vs Inngest](https://www.anchorterminal.com/compare/gotohuman-vs-inngest.md)\n- [gotoHuman vs Orkes Conductor Human tasks](https://www.anchorterminal.com/compare/gotohuman-vs-orkes-conductor.md)\n- [gotoHuman vs Permit MCP Gateway](https://www.anchorterminal.com/compare/gotohuman-vs-permit-mcp-gateway.md)\n- [gotoHuman vs Pushary](https://www.anchorterminal.com/compare/gotohuman-vs-pushary.md)\n- [gotoHuman vs Trigger.dev](https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.md)\n- [Inngest vs Temporal](https://www.anchorterminal.com/compare/inngest-vs-temporal.md)\n- [Orkes Conductor Human tasks vs Temporal](https://www.anchorterminal.com/compare/orkes-conductor-vs-temporal.md)\n- [Permit MCP Gateway vs Temporal](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-temporal.md)\n- [Pushary vs Temporal](https://www.anchorterminal.com/compare/pushary-vs-temporal.md)\n- [Temporal vs Trigger.dev](https://www.anchorterminal.com/compare/temporal-vs-trigger-dev.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "gotoHuman vs Temporal",
        "url": ""
      }
    ],
    "description": "Temporal has a score of 77.2 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 65 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "gotoHuman E 43.9",
      "Temporal BB 77.2",
      "scores"
    ],
    "h1": "gotoHuman vs Temporal",
    "image": "https://www.anchorterminal.com/assets/og/compare-gotohuman-vs-temporal.png",
    "path": "/compare/gotohuman-vs-temporal",
    "published": "2026-10-01",
    "section": "tools",
    "title": "gotoHuman vs Temporal for AI agents, E 43.9 vs BB 77.2",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/gotohuman-vs-temporal"
  },
  "tokens": {
    "markdown": 1400,
    "slim": 330
  },
  "version": 1
}
