Canny is capture-only and read-only. Modem ingests posts, comments, and vote counts; it never writes anything back to Canny, and the
Modem Agent has no tools for taking action inside Canny. You query captured Canny feedback from the Modem Agent on the
web, where the agent can still act on what it finds in your other connected tools.
How it works
Modem connects to Canny with your workspace API key. When you paste the key, Modem validates it by listing your boards, identifies the workspace from a board URL, and stores the key encrypted. Canny has no API for registering webhooks, so the second half of setup is manual: Modem shows you a webhook URL for your connection, and you paste it into Canny. From then on Canny pushes post and comment activity to Modem as it happens. Each delivery is signed with your API key and time-stamped, and Modem rejects deliveries that fail verification or arrive more than five minutes late. API keys in Canny don’t expire, so there’s no re-authorization cycle. Capture is webhook-based and real-time: a new post typically shows up in Modem within a few minutes.Prerequisites
- Owner or admin role in your Modem organization, to connect and manage the integration
- Admin access to your Canny workspace, to copy the API key and add a webhook
- A Canny plan that includes API and webhook access
- At least one board in the workspace (Modem uses a board URL to identify the workspace)
Setup
1
Copy your Canny API key
In your Canny admin, go to Settings → API (
https://<your-workspace>.canny.io/admin/settings/api) and copy the workspace
API key. One key covers every board in the workspace.2
Paste the key into Modem
Go to Settings → Integrations → Canny in your Modem dashboard, paste the key, and click Connect Canny. Modem
verifies it against your boards and encrypts it before storing.
3
Add Modem's webhook in Canny
Once connected, the settings page shows a Finish setup in Canny card with your webhook URL. Copy it, open Settings → API
& Webhooks in Canny, add a webhook with that URL, and save. See Adding the Webhook below.
4
Optionally run a backfill
Import your workspace’s existing posts so past feedback shows up too. See Historical Backfill below.
Adding the Webhook
Connecting stores your API key, but nothing arrives until the webhook is in place. Until then the integration shows as connected, and hovering over the status explains that no webhook has arrived yet. The webhook URL looks like this, where the trailing number is the id of your connection:- The URL belongs to this connection. Reconnecting the same Canny workspace, for example after rotating the API key, keeps it working.
- Connecting a different Canny workspace issues a new URL that has to be pasted into that workspace’s settings.
- Anyone who can view the settings page can copy the URL, so a team member can hand it to whoever administers Canny.
If your boards are served from a custom domain rather than
<workspace>.canny.io, Modem can’t link straight to your Canny admin. Open
your Canny admin directly and find Settings → API & Webhooks there.What Gets Captured
All boards in the workspace are captured. There is no board picker: each board becomes its own channel in Modem, and a board you create later starts flowing as soon as Canny sends its first event.Posts and comments
Each Canny post is captured as one conversation. The post itself, with its title and body, is the opening message, and each comment is a reply in the same conversation. Screenshots and other images attached to a post or comment are captured too, and any text in them is extracted for analysis. Modem reacts to these Canny events:
Deletions, tag changes, and Jira links are ignored. A post or comment deleted in Canny stays in Modem.
Post status
Canny’s default statuses are mapped onto Modem’s conversation states:
Custom statuses you’ve added to a board are kept as-is on the post but don’t map to a Modem state.
Votes
A post’s vote count is the demand signal a feedback board exists to carry, so Modem records it as an upvote reaction on the post’s opening message. The count always reflects the post’s current score in Canny, and it updates whenever a vote is added or removed.A post whose score drops to zero keeps its last recorded count until the next vote arrives. This is a limitation of how reactions are
stored and will correct itself on the next vote.
Authors
Post and comment authors are captured with their Canny name and, when Canny has one, their email address, so they resolve to Modem people. Canny’s admin flag is preserved, which lets Modem tell your own team’s replies apart from end-user feedback. Posts from deleted or anonymous Canny users are captured without an author.Historical Backfill
Connecting only captures activity from that point forward. To pull in what your workspace already has, run the optional backfill from Settings → Integrations → Canny. It imports your full post history — no date cutoff — up to 10,000 posts across all boards, along with up to 500 comments per post. The backfill runs in the background and doesn’t block real-time capture. Canny’s API is rate-limited, so a busy workspace can take a while. The card shows progress, and you can run it again if it fails; re-running won’t duplicate posts.Analyzing Canny Feedback
Once posts are flowing, ask the Modem Agent about them from the web dashboard like any other source.Troubleshooting
Connecting says Canny rejected the API key
Connecting says Canny rejected the API key
Copy the key again from your Canny admin under Settings → API and make sure you’re pasting the whole value. If the key was
regenerated in Canny, the old one no longer works.
Connecting says the workspace has no boards
Connecting says the workspace has no boards
Modem identifies your workspace from a board’s URL, and a workspace with no boards has nothing to capture. Create a board in Canny,
then connect again.
Connected, but no posts are appearing
Connected, but no posts are appearing
Check the Finish setup in Canny card on the Canny settings page. Nothing arrives until the webhook URL shown there is added in
Canny under Settings → API & Webhooks. Once it is, allow a few minutes for delivery and processing. Modem only captures
activity that happens after the webhook is in place; run the backfill for the posts you already have.
I regenerated my API key in Canny
I regenerated my API key in Canny
Canny signs webhook deliveries with the API key, so after a regeneration Modem can’t verify them and stops accepting posts.
Reconnect on the Canny settings page with the new key. Because it’s the same workspace, your webhook URL stays the same and nothing
needs to change in Canny.
The backfill seems incomplete
The backfill seems incomplete
The backfill imports your full post history, but it stops at 10,000 posts across all boards, so a very large workspace won’t be
imported in its entirety. Each post is capped at 500 comments. If a run failed, the card shows the error and a Run again button.
If it still looks wrong, contact support@modem.dev.
Disconnecting
To disconnect Canny:- Go to Settings → Integrations → Canny
- Click Disconnect and confirm
- In Canny, delete the Modem webhook under Settings → API & Webhooks
Related
The Modem Agent
Query and act on your captured Canny feedback from the web.
Topics
See how posts and comments are grouped into themes and classified.
Companies & People
Understand how Canny authors are linked into unified profiles.
All Integrations
Browse every data source and agent tool.