Skip to content

How Canny’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 Score18/100

Agent-ready 36.6 × 0.30 = 10.98

API quality 0.0 × 0.20 = 0.00

Openness 4.8 × 0.20 = 0.96

Built-in AI 39.6 × 0.15 = 5.94

Automation 0.0 × 0.15 = 0.00

(10.98 + 0.00 + 0.96 + 5.94 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 17.88 ÷ 1.00 = 17.9

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-ready36.6/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) × 9 (quality) × 1.0 (full) = 18.0 of 20 max

  • [probe] https://developers.canny.io/llms.txtPROBE llms.txt: HTTP 200 at https://developers.canny.io/llms.txt # Canny Developer Documentation > Developer resources for integrating with Canny, including SDK installation, widget cu
  • [claimed-docs] https://developers.canny.ioInstall Docs | Canny
  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Run the product headlessly / in CI for automationweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.well-known/openapi.json)

Plug MCP servers into this product so it can use their toolsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [claimed-docs] https://canny.io/features/mcpCanny MCP Server: Customer Feedback in Your AI Tools
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Connect an agent via an official MCP serverweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [claimed-docs] https://canny.io/features/mcpAsk your LLM what customers asked for and understand the context behind each request. Dig into top themes, ARR impact across ideas, and query your team's roadmap.
  • [claimed-docs] https://canny.io/features/mcpMove ideas through your workflow without leaving your LLM. Update statuses, link deals, organize requests, and reply to customers.
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [claimed-docs] https://canny.io/features/mcpUse Canny as the data layer for your AI workflows. Draft PRDs from real requests and build the features with Claude, generate reports for leadership, or run agents that act on feedback.
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Use an official CLIweight 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

Drive the product through a documented public APIweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [claimed-docs] https://developers.canny.ioInstall Docs | Canny
  • [probe] https://developers.canny.io/llms.txtPROBE llms.txt: HTTP 200 at https://developers.canny.io/llms.txt # Canny Developer Documentation > Developer resources for integrating with Canny, including SDK installation, widget cu
  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.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

  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference

Build against official SDKsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://developers.canny.ioInstall our JavaScript SDK to identify your users. This way, when they leave feedback on Canny, it'll be tied to their existing user account in your application.
  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [probe] https://developers.canny.io/llms.txtPROBE llms.txt: HTTP 200 at https://developers.canny.io/llms.txt # Canny Developer Documentation > Developer resources for integrating with Canny, including SDK installation, widget cu
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.well-known/openapi.json)
  • [claimed-docs] https://developers.canny.ioInstall Docs | Canny

Subscribe to events via webhooksweight 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

Agent-ready = 76.8 ÷ 210 × 100 = 36.6

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

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.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

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.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

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.well-known/openapi.json)

API quality = 0.0 ÷ 70 × 100 = 0.0

Openness4.8/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) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://developers.canny.io/api-referenceCanny API Reference
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [claimed-docs] https://canny.io/features/mcpMove ideas through your workflow without leaving your LLM. Update statuses, link deals, organize requests, and reply to customers.
  • [probe] https://developers.canny.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://developers.canny.io/openapi.json, https://developers.canny.io/swagger.json, https://developers.canny.io/api/openapi.json, https://developers.canny.io/.well-known/openapi.json)
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Export all of my data in open formats and leaveweight 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

Read the product's source under an open licenseweight 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

Self-host the core 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

Openness = 4.8 ÷ 100 × 100 = 4.8

Built-in AI39.6/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) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://canny.io/features/mcpAsk your LLM what customers asked for and understand the context behind each request. Dig into top themes, ARR impact across ideas, and query your team's roadmap.
  • [claimed-docs] https://canny.io/features/mcpMove ideas through your workflow without leaving your LLM. Update statuses, link deals, organize requests, and reply to customers.
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [claimed-docs] https://canny.io/features/mcpUse Canny as the data layer for your AI workflows. Draft PRDs from real requests and build the features with Claude, generate reports for leadership, or run agents that act on feedback.
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://canny.io/features/mcpSend new conversations to Autopilot to capture feedback you haven't tracked yet.
  • [claimed-docs] https://canny.ioAutomatically capture feedback from Gong, Intercom, Slack, and dozens of other sources, or directly from customers on your Portal.
  • [claimed-docs] https://canny.io/integrationsAutopilot captures feedback from support, sales, and review platforms automatically. Native integrations keep the rest of your stack in sync.
  • [claimed-docs] https://canny.io/integrationsAutopilot pulls feature requests out of your Fathom call transcripts automatically.
  • [claimed-docs] https://canny.io/integrationsCapture product feedback from your Fireflies sales call transcripts.
  • [claimed-docs] https://canny.io/integrationsSend feedback to Jira, link it to existing issues, and sync statuses. Only for Jira Cloud.
  • [claimed-docs] https://canny.io/integrationsSend feedback to Linear, link it to existing issues, and sync statuses.
  • [claimed-docs] https://canny.io/integrationsSend feedback to GitHub, link it to existing issues, and sync statuses.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 4 (quality) × 0.6 (partial) = 7.2 of 30 max

  • [claimed-docs] https://canny.io/features/mcpSend new conversations to Autopilot to capture feedback you haven't tracked yet.
  • [claimed-docs] https://canny.ioAutomatically capture feedback from Gong, Intercom, Slack, and dozens of other sources, or directly from customers on your Portal.
  • [claimed-docs] https://canny.io/integrationsAutopilot captures feedback from support, sales, and review platforms automatically. Native integrations keep the rest of your stack in sync.
  • [claimed-docs] https://canny.io/integrationsAutopilot pulls feature requests out of your Fathom call transcripts automatically.
  • [claimed-docs] https://canny.io/integrationsCapture product feedback from your Fireflies sales call transcripts.

Operate the product with natural-language commandsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://canny.io/features/mcpAdd Canny's MCP server to ChatGPT, Claude, or Cursor with a secure sign-in. No API keys, no engineering.
  • [claimed-docs] https://canny.io/features/mcpAsk your LLM what customers asked for and understand the context behind each request. Dig into top themes, ARR impact across ideas, and query your team's roadmap.
  • [claimed-docs] https://canny.io/features/mcpMove ideas through your workflow without leaving your LLM. Update statuses, link deals, organize requests, and reply to customers.
  • [claimed-docs] https://canny.io/features/mcpConnect Canny to ChatGPT, Claude, and Cursor. Ask questions about customer feedback, take action on it, and ground your AI workflows in real customer data.
  • [claimed-docs] https://canny.io/features/mcpUse Canny as the data layer for your AI workflows. Draft PRDs from real requests and build the features with Claude, generate reports for leadership, or run agents that act on feedback.
  • [probe] https://canny.io/features/mcpofficial MCP server documented at https://canny.io/features/mcp

Built-in AI = 35.6 ÷ 90 × 100 = 39.6

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://canny.ioAutomatically capture feedback from Gong, Intercom, Slack, and dozens of other sources, or directly from customers on your Portal.
  • [claimed-docs] https://canny.io/integrationsAutopilot captures feedback from support, sales, and review platforms automatically. Native integrations keep the rest of your stack in sync.

Schedule recurring jobs or workflowsweight 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

Version, review, and roll back my automationsweight 1

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

Automation = 0.0 ÷ 70 × 100 = 0.0