How Justworks’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score0/100
Agent-ready 0.0 × 0.30 = 0.00
API quality 0.0 × 0.20 = 0.00
Openness 0.0 × 0.20 = 0.00
Built-in AI 0.0 × 0.15 = 0.00
Automation 0.0 × 0.15 = 0.00
(0.00 + 0.00 + 0.00 + 0.00 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 0.00 ÷ 1.00 = 0.0
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready0.0/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Run the product headlessly / in CI for automationweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Connect an agent via an official MCP serverweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Drive the product through a documented public APIweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Build against official SDKsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Subscribe to events via webhooksweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Agent-ready = 0.0 ÷ 160 × 100 = 0.0
API quality0.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
API quality = 0.0 ÷ 70 × 100 = 0.0
Openness0.0/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Export all of my data in open formats and leaveweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Read the product's source under an open licenseweight 2
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Self-host the core productweight 3
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Openness = 0.0 ÷ 50 × 100 = 0.0
Built-in AI0.0/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://help.justworks.com/api/v2/help_center/articles/search.json?query=payroll&per_page=25“You can check this information in Analytics > Custom Payroll Report and in your employees' Justworks profiles. If you see any inaccuracies, change this information directly in the Justworks before running payroll.”
- [claimed-docs] https://help.justworks.com/api/v2/help_center/articles/search.json?query=payroll&per_page=25“Save time each quarter by checking that your employees’ payroll information is accurate at the end of each month.”
- [claimed-docs] https://help.justworks.com/api/v2/help_center/articles/search.json?query=payroll&per_page=25“You can check this information in Analytics > Custom Payroll Report and in your employees' Justworks profiles.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Operate the product with natural-language commandsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Built-in AI = 0.0 ÷ 90 × 100 = 0.0
Automation0.0/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://help.justworks.com/api/v2/help_center/articles/search.json?query=time%20off&per_page=25“Justworks will automatically designate these same days as holidays each year. Our software knows that while Thanksgiving is on Thursday, November 26 in 2026, it will be on Thursday, November 25 in 2027.”
- [claimed-docs] https://help.justworks.com/api/v2/help_center/articles/search.json?query=integration&per_page=25“Sync method: Manually sync invoices or Allow them to automatically sync the day after processing.”
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://help.justworks.com/llms.txt“PROBE llms.txt: HTTP 404 at https://help.justworks.com/llms.txt”
- [probe] https://help.justworks.com/openapi.json“PROBE openapi: all candidate paths 404 (https://help.justworks.com/openapi.json, https://help.justworks.com/swagger.json, https://help.justworks.com/api/openapi.json, https://help.justworks.com/.well-known/openapi.json)”
Version, review, and roll back my automationsweight 1
1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 0.0 ÷ 80 × 100 = 0.0