> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/project-management/canny/data-overview.md).

# Data Overview

Canny exposes a wide range of feedback-related data through Coupler.io. You can pull everything from raw feature requests and user votes to changelog entries and company-level feedback — giving you a full picture of your product feedback loop.

## Entities

| Entity            | What it contains                                               |
| ----------------- | -------------------------------------------------------------- |
| Boards            | Board names, IDs, post counts, and settings                    |
| Categories        | Category names, board associations, parent categories          |
| Changelog entries | Entry title, content, publish date, labels, and reactions      |
| Comments          | Comment text, author, post reference, timestamps, vote count   |
| Companies         | Company name, ID, monthly spend, created date, custom fields   |
| Posts             | Title, details, vote count, status, board, author, tags, score |
| Status changes    | Post ID, old status, new status, changed by, timestamp         |
| Tags              | Tag name, ID, URL                                              |
| Users             | Name, email, created date, company, avatar URL, vote count     |
| Votes             | Voter ID, post ID, vote date, company association              |

## Metrics and dimensions

#### Posts

| Field          | Type      | Description                                                                 |
| -------------- | --------- | --------------------------------------------------------------------------- |
| score          | Metric    | Canny's weighted score based on votes and recency                           |
| vote\_count    | Metric    | Total number of upvotes on the post                                         |
| comment\_count | Metric    | Number of comments on the post                                              |
| status         | Dimension | Current status (open, under review, planned, in progress, complete, closed) |
| board          | Dimension | The board the post belongs to                                               |
| category       | Dimension | Category assigned to the post                                               |
| tags           | Dimension | Tags applied to the post                                                    |
| created\_at    | Dimension | Date the post was submitted                                                 |
| author         | Dimension | User who submitted the post                                                 |

#### Votes

| Field       | Type      | Description                       |
| ----------- | --------- | --------------------------------- |
| voter\_id   | Dimension | ID of the user who voted          |
| post\_id    | Dimension | ID of the post that was voted on  |
| created\_at | Dimension | Date the vote was cast            |
| company\_id | Dimension | Company associated with the voter |

#### Users

| Field       | Type      | Description                            |
| ----------- | --------- | -------------------------------------- |
| vote\_count | Metric    | Number of posts this user has voted on |
| created\_at | Dimension | Date the user account was created      |
| company     | Dimension | Company the user belongs to            |
| email       | Dimension | User's email address                   |

#### Companies

| Field          | Type      | Description                                     |
| -------------- | --------- | ----------------------------------------------- |
| monthly\_spend | Metric    | Monthly spend value associated with the company |
| created\_at    | Dimension | Date the company record was created             |
| name           | Dimension | Company name                                    |
| custom\_fields | Dimension | Any custom fields added in Canny                |

#### Status changes

| Field        | Type      | Description                     |
| ------------ | --------- | ------------------------------- |
| from\_status | Dimension | Previous post status            |
| to\_status   | Dimension | New post status                 |
| changed\_at  | Dimension | Timestamp of the status change  |
| changer      | Dimension | User who made the status change |
| post\_id     | Dimension | Post that was updated           |

#### Changelog entries

| Field           | Type      | Description                                 |
| --------------- | --------- | ------------------------------------------- |
| title           | Dimension | Title of the changelog entry                |
| published\_at   | Dimension | Date the entry was published                |
| labels          | Dimension | Labels applied (e.g., new, fixed, improved) |
| reaction\_count | Metric    | Number of reactions on the entry            |

## Common metric combinations

* **Posts + Votes** (Join on post\_id): see exactly which users voted for which requests and weight them by company spend
* **Posts + Status changes** (Join on post\_id): track how long posts spend in each status and identify bottlenecks
* **Companies + Votes** (Join on company\_id): calculate total vote weight per company to prioritize enterprise feedback
* **Posts + Comments** (Join on post\_id): get a full conversation thread alongside request details

## Use cases by role

{% tabs %}
{% tab title="Product managers" %}

* Export the **Posts** entity to a spreadsheet and sort by vote count or score to build a prioritization backlog
* Use **Status changes** to report on how quickly requests move through your pipeline
* Join **Posts** with **Companies** to weight feature requests by customer revenue using the `monthly_spend` field
  {% endtab %}

{% tab title="Customer success" %}

* Pull **Users** and **Votes** to see which customers are most engaged and advocating for specific features
* Export **Comments** to identify common pain points and language customers use to describe problems
* Send **Posts** data to ChatGPT or Claude to generate a weekly feedback summary for your team
  {% endtab %}

{% tab title="Executives" %}

* Use **Changelog entries** alongside **Posts** to correlate what you shipped with what was most requested
* Append Canny data with data from your CRM in Coupler.io to create a unified view of customer health and product requests
* Schedule a dashboard in Looker Studio fed by Canny **Posts** and **Votes** to track feedback momentum over time
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* Canny's `score` field on Posts is a proprietary weighted metric — it factors in vote recency and voter influence, not just raw vote count
* The `monthly_spend` field on Companies is only populated if you send that data to Canny via their API or integrations (e.g., Segment, Salesforce)
* Custom fields on Companies and Users are returned as key-value pairs and may vary between Canny workspaces
* Archived posts and private boards may not appear depending on your Canny plan and API key permissions


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/project-management/canny/data-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
