# 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
