{
  "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-04T22:35:24.140593854Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 55,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 50,
          "p95ms24h": 102,
          "samples24h": 272,
          "samples30d": 884,
          "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": 256,
              "ok": 256
            }
          ]
        },
        "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-04T22:35:24.140593854Z"
      }
    },
    "b": {
      "slug": "trigger-dev",
      "name": "Trigger.dev",
      "vendor": "Trigger.dev",
      "vendorUrl": "https://trigger.dev",
      "kind": "platform",
      "category": "human-in-the-loop",
      "summary": "Open-source background jobs and durable tasks in TypeScript.",
      "url": "https://www.anchorterminal.com/tools/trigger-dev",
      "markdownUrl": "https://www.anchorterminal.com/tools/trigger-dev.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/trigger-dev.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/trigger-dev.json",
      "repo": "https://github.com/triggerdotdev/trigger.dev",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.trigger.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@trigger.dev/sdk"
        },
        {
          "registry": "npm",
          "name": "trigger.dev"
        }
      ],
      "auth": "mixed",
      "authNotes": "Server-side calls use the environment secret key as a Bearer token. `wait.createToken()` also returns a `publicAccessToken` scoped to that one waitpoint, which a browser can use to complete it (the completion endpoint has CORS). The `token.url` callback is for server-to-server use and has no CORS headers. The MCP server runs locally through the CLI and uses its login profiles (`whoami`, `switch_profile`).",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with $5 of usage a month, 20 concurrent runs, 5 team members and 1-day log retention. Hobby $10 a month with $10 of usage, 50 concurrent runs and 7-day logs. Pro $50 a month with $50 of usage, 200+ concurrent runs ($10 a month per extra 50), 25+ seats ($20 each) and 30-day logs. Enterprise is custom, with a SOC 2 report, SSO and RBAC. Compute is billed per second by machine, from $0.0000169 (Micro) and $0.0000338 (Small 1x, the default) to $0.00068 (Large 2x), plus $0.000025 per run ($0.25 per 10,000). Dev runs aren't charged, and waits over 5 seconds aren't billed (https://trigger.dev/pricing, https://trigger.dev/docs/how-to-reduce-your-spend). Self-hosting is free under Apache-2.0.",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 31,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://trigger.dev/docs/wait-for-token",
      "llmsTxt": "https://trigger.dev/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/triggerdotdev/trigger.dev/main/docs/v3-openapi.yaml",
      "registryName": "io.github.triggerdotdev/trigger.dev",
      "capabilities": [
        "hitl.approve",
        "hitl.ask",
        "agent.durable",
        "automation.workflows",
        "automation.code"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "free-tier",
        "mcp",
        "openapi",
        "typescript",
        "webhooks"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 46,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 73,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.",
        "strengths": [
          "Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint",
          "No compute billed for waits over 5 seconds",
          "Idempotency keys and tags on tokens, and a list endpoint filtered by status",
          "OpenAPI 3.1 spec, llms.txt and a release on 2026-10-01",
          "Apache-2.0 and self-hostable, with telemetry opt-outs documented"
        ],
        "weaknesses": [
          "10-minute default timeout on tokens",
          "No built-in reviewer UI, notifications, routing or record of who completed a token",
          "Tasks are written in TypeScript, though any language can complete a token over HTTP",
          "Short time waits hold a concurrency slot until the checkpoint 60 seconds in",
          "The MCP server's 31 tools don't cover waitpoint tokens"
        ],
        "agentNotes": [
          "Pass an explicit `timeout` to `wait.createToken()` and handle `ok: false` as a timeout",
          "Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request",
          "Give the browser the `publicAccessToken`, never the secret key, and don't call `token.url` from client code",
          "Tag tokens with the user or task ID so pending approvals can be listed per reviewer",
          "Start the MCP server with `--readonly` when the agent only needs to inspect runs"
        ],
        "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": 74.8
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 90,
          "payments": 40,
          "reliability": 75,
          "schema": 91,
          "security": 73,
          "transparency": 73
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "npm install @trigger.dev/sdk",
        "http": "curl -X POST https://api.trigger.dev/api/v1/waitpoints/tokens -H \"Authorization: Bearer $TRIGGER_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"timeout\":\"24h\",\"tags\":[\"approval:refund-1042\"]}'",
        "claudeCode": "claude mcp add trigger -- npx trigger.dev@latest mcp",
        "config": {
          "mcpServers": {
            "trigger": {
              "args": [
                "trigger.dev@latest",
                "mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hitl.approve",
        "tool": "https://letme.dev/trigger-dev"
      },
      "alsoIn": [
        "workflow-automation"
      ],
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "API Hero Ltd",
        "domain": "trigger.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://trigger.dev/legal",
        "privacy": "https://trigger.dev/legal/privacy",
        "statusPage": "https://status.trigger.dev",
        "changelog": "https://trigger.dev/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "status.trigger.dev runs on Better Stack, with global, per-region (us-east-1, eu-central-1, us-west-2) and SSO components.",
          "SECURITY.md takes reports through private GitHub advisories or security@trigger.dev.",
          "v4.7.0 was released on 2026-10-01 and v4.6.4 on 2026-09-22.",
          "The repository's server.json names io.github.triggerdotdev/trigger.dev at version 4.0.3. We couldn't query the registry.",
          "The privacy policy (updated 2025-12-23) names API Hero Ltd trading as Trigger.dev, Altrincham, United Kingdom, ICO registration ZB547039, and links a DPA at trigger.dev/legal/dpa. We couldn't read the live security.txt or RDAP on 2026-10-01."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/trigger-dev.json",
      "live": {
        "slug": "trigger-dev",
        "probe": {
          "target": "https://api.trigger.dev",
          "method": "get",
          "lastAt": "2026-10-04T22:35:32.724831774Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 447,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 440,
          "p95ms24h": 576,
          "samples24h": 272,
          "samples30d": 884,
          "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": 256,
              "ok": 256
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.trigger.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:31.839911185Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "triggerdotdev/trigger.dev",
            "version": "v4.7.2",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:42:15.858024116Z"
          },
          {
            "registry": "npm",
            "name": "@trigger.dev/sdk",
            "version": "4.7.2",
            "seenAt": "2026-10-04T16:42:13.646259814Z"
          },
          {
            "registry": "npm",
            "name": "trigger.dev",
            "version": "4.7.2",
            "seenAt": "2026-10-04T16:42:14.609508507Z"
          }
        ],
        "githubStars": 16466,
        "npmWeekly": 1281205,
        "securityTxt": {
          "url": "https://trigger.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-01T00:00:00Z",
          "checkedAt": "2026-10-04T15:15:40.075165979Z"
        },
        "llmsTxt": {
          "url": "https://trigger.dev/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:18.347440339Z"
        },
        "domain": {
          "domain": "trigger.dev",
          "registered": "2022-12-01",
          "source": "https://pubapi.registry.google/rdap/domain/trigger.dev",
          "checkedAt": "2026-10-04T13:03:37.236967627Z"
        },
        "pages": [
          {
            "url": "https://trigger.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:31.0596486Z",
            "changedAt": "2026-10-03T15:36:27.564584064Z",
            "fingerprint": "803b8a76b025"
          },
          {
            "url": "https://trigger.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:37.400389416Z",
            "changedAt": "2026-10-03T15:36:33.845714939Z",
            "fingerprint": "40bffe455cee"
          },
          {
            "url": "https://trigger.dev/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:35.354788303Z",
            "changedAt": "2026-10-03T15:36:31.851078695Z",
            "fingerprint": "74a6e4e19e26"
          },
          {
            "url": "https://trigger.dev/legal",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:33.443165414Z",
            "changedAt": "2026-10-03T15:36:29.956580316Z",
            "fingerprint": "6b3e48482aff"
          }
        ],
        "updatedAt": "2026-10-04T22:35:32.724831774Z"
      }
    },
    "summary": "Trigger.dev has a score of 74.8 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 55 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev",
    "json": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.md",
    "slim": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev.min.md"
  },
  "markdown": "Trigger.dev has a score of 74.8 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 55 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- Trigger.dev: grade BB, 74.8/100, rank #46 of 452. Markdown https://www.anchorterminal.com/tools/trigger-dev.md · JSON https://www.anchorterminal.com/api/v1/tools/trigger-dev.json\n\n## Which one, for what\n\nPick gotoHuman for nothing in particular (no category where it leads by five points or more).\n\nPick Trigger.dev for reliability (+55), schema \u0026 documentation (+42), agent ergonomics (+17), security \u0026 auth (+29), payments \u0026 pricing (+10), maintenance \u0026 community (+26), transparency \u0026 trust (+19).\n\n## Score by category\n\n| Category | Weight | gotoHuman | Trigger.dev | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 75 | Trigger.dev +55 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 91 | Trigger.dev +42 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 79 | Trigger.dev +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 73 | Trigger.dev +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Trigger.dev +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 64 | 90 | Trigger.dev +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 74 | Trigger.dev +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43.9 · E** | **74.8 · BB** | |\n\n## Facts side by side\n\n| Fact | gotoHuman | Trigger.dev |\n| --- | --- | --- |\n| Kind | HTTP API | Model platform |\n| Vendor | gotoHuman | Trigger.dev |\n| Hosted endpoint | `https://api.gotohuman.com` | `https://api.trigger.dev` |\n| Transports | HTTP, stdio | HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (SDKs and MCP server) | Apache-2.0 |\n| Tools exposed | 3 | 31 |\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 | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.triggerdotdev/trigger.dev` |\n| Last release | 2026-09-24 | 2026-10-01 |\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**Trigger.dev.** Tokens complete from a backend, a pre-signed callback URL or the browser with a token scoped to one waitpoint. 10-minute default timeout on tokens.\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### Trigger.dev\n\n1. Pass an explicit `timeout` to `wait.createToken()` and handle `ok: false` as a timeout\n2. Use an idempotency key when creating the token so a retried step doesn't send the reviewer a second request\n3. Give the browser the `publicAccessToken`, never the secret key, and don't call `token.url` from client code\n4. Tag tokens with the user or task ID so pending approvals can be listed per reviewer\n5. Start the MCP server with `--readonly` when the agent only needs to inspect runs\n\n## Other comparisons with gotoHuman or Trigger.dev\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 Temporal](https://www.anchorterminal.com/compare/gotohuman-vs-temporal.md)\n- [Inngest vs Trigger.dev](https://www.anchorterminal.com/compare/inngest-vs-trigger-dev.md)\n- [Orkes Conductor Human tasks vs Trigger.dev](https://www.anchorterminal.com/compare/orkes-conductor-vs-trigger-dev.md)\n- [Permit MCP Gateway vs Trigger.dev](https://www.anchorterminal.com/compare/permit-mcp-gateway-vs-trigger-dev.md)\n- [Pushary vs Trigger.dev](https://www.anchorterminal.com/compare/pushary-vs-trigger-dev.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-04",
    "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 Trigger.dev",
        "url": ""
      }
    ],
    "description": "Trigger.dev has a score of 74.8 (BB) against gotoHuman's 43.9 (E). Both do hitl approve. The largest gap is reliability, 55 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "gotoHuman E 43.9",
      "Trigger.dev BB 74.8",
      "scores"
    ],
    "h1": "gotoHuman vs Trigger.dev",
    "image": "https://www.anchorterminal.com/assets/og/compare-gotohuman-vs-trigger-dev.png",
    "path": "/compare/gotohuman-vs-trigger-dev",
    "published": "2026-10-01",
    "section": "tools",
    "title": "gotoHuman vs Trigger.dev for AI agents, E 43.9 vs BB 74.8",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/gotohuman-vs-trigger-dev"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 330
  },
  "version": 1
}
