{
 "categories": [
  "hcm",
  "hr",
  "payroll"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-22",
   "fact": "homepage",
   "note": "Opened Gusto App Integrations docs. The site is the partner API for Gusto payroll and HR and separates App Integrations from Gusto Embedded.",
   "source": "https://docs.gusto.com/app-integrations",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.exists",
   "note": "Gusto documents a public App Integrations API for payroll products, including employees, contractors, payrolls, time tracking, and webhooks.",
   "source": "https://docs.gusto.com/app-integrations",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.kinds[0]",
   "note": "Payroll guides use HTTPS REST against api.gusto-demo.com/v1 and api.gusto.com/v1 with JSON request and response bodies.",
   "source": "https://docs.gusto.com/app-integrations/docs/updating-payrolls",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.auth[0]",
   "note": "Company-level access uses OAuth2. Exchange an authorization code at /oauth/token and send Authorization: Bearer <access_token>. Tokens expire in 7200 seconds.",
   "source": "https://docs.gusto.com/app-integrations/docs/oauth2",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.auth[1]",
   "note": "System-level calls use a Bearer token from POST /oauth/token with grant_type system_access. These tokens cannot access company or employee data.",
   "source": "https://docs.gusto.com/app-integrations/docs/system-access-tokens",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.coverage",
   "note": "Partners can retrieve, prepare, and update payroll compensations. Gusto states payroll cannot be processed through the API and must be reviewed in Gusto.",
   "source": "https://docs.gusto.com/app-integrations/docs/updating-payrolls",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.api.docs",
   "note": "Opened as the current App Integrations introduction, including demo versus production hosts and the partner approval path.",
   "source": "https://docs.gusto.com/app-integrations",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.extensibility.webhooks",
   "note": "Gusto documents webhook subscriptions that POST JSON events. Endpoints must return 2xx within 10 seconds; failed deliveries retry up to 16 times over 3 days.",
   "source": "https://docs.gusto.com/app-integrations/docs/webhooks",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.data_access.export[0]",
   "note": "GET payrolls and prepare responses return JSON payroll objects, including employee_compensations.",
   "source": "https://docs.gusto.com/app-integrations/docs/updating-payrolls",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.data_access.import[0]",
   "note": "PUT payrolls accepts JSON employee_compensations to update hours and fixed compensations.",
   "source": "https://docs.gusto.com/app-integrations/docs/updating-payrolls",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "Opened a real llms.txt index of App Integrations guides and API reference pages.",
   "source": "https://docs.gusto.com/app-integrations/llms.txt",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "verdict.scores.api",
   "note": "Documented REST with OAuth2 and system tokens exists, but customer self-connect is unsupported, production is pre-approval gated, and payroll cannot be processed via API. Score 5.",
   "source": "https://docs.gusto.com/app-integrations",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "freshness.watch[0].url",
   "note": "Opened the current App Integrations introduction, including the customer self-connect prohibition and Production Pre-Approval gate.",
   "source": "https://docs.gusto.com/app-integrations",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "freshness.watch[1].url",
   "note": "Opened the current OAuth2 guide for company access tokens and Bearer usage.",
   "source": "https://docs.gusto.com/app-integrations/docs/oauth2",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "freshness.watch[2].url",
   "note": "Opened the current webhook subscription and verification guide.",
   "source": "https://docs.gusto.com/app-integrations/docs/webhooks",
   "tier": "declared"
  },
  {
   "date": "2026-09-22",
   "fact": "freshness.watch[3].url",
   "note": "Opened the current App Integrations documentation index.",
   "source": "https://docs.gusto.com/app-integrations/llms.txt",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-22",
  "volatility": "medium",
  "watch": [
   {
    "type": "docs",
    "url": "https://docs.gusto.com/app-integrations"
   },
   {
    "type": "docs",
    "url": "https://docs.gusto.com/app-integrations/docs/oauth2"
   },
   {
    "type": "docs",
    "url": "https://docs.gusto.com/app-integrations/docs/webhooks"
   },
   {
    "type": "docs",
    "url": "https://docs.gusto.com/app-integrations/llms.txt"
   }
  ]
 },
 "homepage": "https://docs.gusto.com/app-integrations",
 "id": "gusto",
 "license": "commercial",
 "modalities": {
  "agent_docs": {
   "llms_txt": true
  },
  "api": {
   "auth": [
    "oauth2",
    "system-access-token"
   ],
   "coverage": "partial",
   "docs": "https://docs.gusto.com/app-integrations",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json"
   ],
   "import": [
    "json"
   ]
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": "unknown",
   "third_party": [],
   "verdict": "unknown"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Gusto App Integrations REST and webhooks cover partner payroll and HR automation without browser control. This record does not treat Gusto Embedded Payroll as the same product.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Gusto",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "rippling",
   "workday",
   "dayforce"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Gusto",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 5,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": null,
   "overall": 5,
   "rpa": null
  },
  "summary": "Gusto payroll and HR is automatable today only through the partner App Integrations REST API, not as a self-serve customer API. This record is Gusto companies, employees, contractors, payrolls, time tracking, and webhook events as documented at docs.gusto.com/app-integrations. It is not Gusto Embedded Payroll, Rippling, Workday, or Dayforce. Gusto states it does not support API access for customers connecting their own company systems directly to their Gusto account. Production keys require Production Pre-Approval, a security review, and QA; demo calls go to api.gusto-demo.com and production to api.gusto.com. Company data uses OAuth2 access tokens as Authorization Bearer. System-level operations such as company creation and webhook subscriptions use a system access token from grant_type system_access. Partners can prepare and update payroll compensations, but Gusto says payroll cannot be processed through the API and must be confirmed in Gusto. Webhooks POST JSON events after subscription verification. The Gusto product MCP marketing page was not opened in this pass (Cloudflare 403), so first-party MCP stays unknown. Computer-use viability is unassessed. API scores 5 because the path is usable for approved partners but gated and cannot process payroll.\n"
 }
}