Connector guide10-minute read29 MCP tools7 languages

Connect Canny to Microsoft Copilot via MCP

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

HCBy HelpCode teamUpdated 10 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Canny

Canny

Canny customer feedback: boards, posts and feature requests, votes, comments, status changes, users and companies with MRR, categories, tags and the public changelog. Canny REST API with the secret API key.

tools

29

Region

INTL

Category

Customer Support

Authentication

API credentials

Required env vars

CANNY_API_KEY
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the Canny in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Try asking

Example prompts for Canny

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

Canny · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Canny, paste your credentials, mint an MCP API key and you're done. No Docker, no git clone, no local server.

Canny + Microsoft Copilot

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Prerequisites

See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:

CANNY_API_KEY

Step 1 — Get credentials

Setting up takes about 1 minute. You need a Canny workspace and access to its company settings.

  1. In Canny open Settings > API & Webhooks (the company settings) and copy the secret API key into CANNY_API_KEY.
  2. Install the connector and run canny_list_boards: it lists your feedback boards and confirms the key.

How the key travels: every Canny call is a POST with a JSON body, the reads included. Canny expects the key as the apiKey field of that body, and the connector adds it to every request for you. It is the secret key of your whole Canny company, so keep it to trusted workspaces.

What it reads:

  • Boards with post count, private flag and admin URL; the categories (and subcategories) and tags of each board.
  • Posts (ideas and feature requests) with canny_list_posts, filtered by board, author, company, tags, status or a search text and sorted by newest, oldest, score, trending, statusChanged or relevance. sort: score or trending shows what is wanted most. canny_get_post adds custom fields, ETA, linked Jira or Linear issues and the merge history.
  • Comments (team-only internal notes included) and votes with voter, priority and time, filtered by post, board, author or user, or company.
  • The history of status changes with old and new status, the changer and the attached comment.
  • Users with email, the user id from your app, companies and admin flag; companies (customer accounts) with domain, monthly spend (MRR), member count and custom fields, searchable by name or segment.
  • Changelog entries, drafts and scheduled ones included, with markdown details, types, labels and linked posts.

What it writes:

  • Capturing feedback: canny_create_or_update_user creates the person (or updates the matching one) and returns the Canny id needed as author or voter; with companies it also links and creates companies. Then canny_create_post for a new idea, or canny_create_vote on an existing post when someone asks for something that is already there, optionally with a priority. canny_create_comment adds a comment or a reply (parent_id), with internal: true for a note only the team sees.
  • Triage: canny_change_post_status sets open, under review, planned, in progress, complete, closed or a custom status. It needs an admin's Canny id as changer_id, and should_notify_voters emails every voter. canny_update_post changes title, details, ETA, images, owner or custom fields; canny_change_post_category, canny_add_post_tag and canny_remove_post_tag sort posts; canny_create_category and canny_create_tag extend a board.
  • Companies: canny_update_company changes name, domain, monthly spend or custom fields. A synced CRM may overwrite these values.
  • Changelog: canny_create_changelog_entry writes a draft by default; published: true or scheduled_for releases it, and post_ids links the posts it ships. canny_update_changelog_entry changes title, details, types, labels and linked posts (lists given replace the old ones), and canny_change_changelog_entry_status publishes, schedules or sets an entry back to draft. With notify on, publishing emails your users.

Nothing is switched off at install: Canny has no delete tools in this connector. Keep in mind that a status change with should_notify_voters and a changelog entry published with notify send emails.

Ids: all ids are 24-character hex strings. company_id filters take the company identifier as returned by canny_list_companies (the id from your app when companies are synced). An admin's Canny id for changer_id, by_id or owner_id comes from canny_list_users (entries with isAdmin: true) or from canny_get_user with the admin's email. canny_get_user finds a user by exactly one of Canny id, email or the user id in your app.

Data formats: posts carry score (the vote count), commentCount, status, eta and url (the admin link). Times are ISO 8601 UTC. Changelog details are markdown.

Paging: two styles. canny_list_posts, canny_list_categories, canny_list_tags and canny_list_changelog_entries take limit and skip and answer hasMore. canny_list_comments, canny_list_votes, canny_list_users, canny_list_companies and canny_list_status_changes take limit (up to 100) and cursor: the AI passes the returned cursor while hasNextPage is true. A company search is not paged with a cursor.

Limits: per key 5 requests per second and 1,000 per hour on the Free plan, 10 and 5,000 on paid plans, 20 and 15,000 on Business. 429 comes with Retry-After.

Common errors: Canny reports errors as {"error": "..."}. A message about the API key comes back as 401: copy the secret key again from Settings > API & Webhooks. A rate message comes back as 429, anything else as 400, for example invalid post id.

The connector does not delete or merge posts, does not delete comments, votes, users or changelog entries, and does not create boards or manage webhooks.

Step 2 — Install the adapter

curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d

Step 3 — Add the connector in Microsoft Copilot

Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide shows YOUR_SERVER_ID.

Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.

  1. In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
  2. Enter a Server name (for example AnythingMCP), a Server description that says what the connector does, and the Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server.
  3. Under authentication, choose API key, set Type to Header and the header name to X-API-Key, then select Create.
  4. In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
  5. Try it in the agent's Test pane: ask for something that needs the Canny tools.
  6. Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.

Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.

Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.

Available tools

ToolWhat it does
canny_list_boardsAll feedback boards of the Canny company with id, name, postCount, isPrivate and url
canny_get_boardOne feedback board by id: name, postCount, isPrivate, created date and admin url
canny_list_postsList feedback posts (ideas and feature requests) with title, details, status, score (votes), commentCount, author, board, category, tags…
canny_get_postOne post with its details, status, score, author, owner, category, tags, custom fields, eta, linked Jira or Linear issues, merge history…
canny_create_postCreate a post (idea or feature request) on a board for a user
canny_update_postUpdate a post's title, details, ETA, images, custom fields or owner
canny_change_post_statusChange a post's status (open, under review, planned, in progress, complete, closed or a custom status), recorded under an admin, optionally…
canny_change_post_categoryMove a post to another category of its board, or remove its category with the text null
canny_add_post_tagAdd a tag to a post
canny_remove_post_tagRemove a tag from a post
canny_list_commentsList portal comments, newest first, with value, author, post, parent, internal flag and likes
canny_get_commentOne portal comment by id with its value, author, post, images and internal flag
canny_create_commentAdd a comment to a post, as a reply when parent_id is set. internal comments are visible to the team only
canny_list_votesList votes, newest first, with the voter, post, priority and time
canny_create_voteRecord a vote by a user on a post, optionally with a priority, for example when a customer asks for a feature in a call or ticket
canny_list_usersList the end users of the workspace with id, name, email, userID (the id in your app), companies and admin flag
canny_get_userFind one user by exactly one of: Canny id, email, or the user id in your application
canny_create_or_update_userCreate a user, or update the one matching email, user_id or id, and return its Canny id for use as author or voter
canny_list_companiesList companies (customer accounts) with id, name, domain, monthlySpend, memberCount and custom fields, ordered by creation
canny_update_companyUpdate a company's name, domain, monthly spend (MRR in dollars), creation date or custom fields
canny_list_categoriesList post categories (and subcategories with parentID), newest first, with name, postCount and board
canny_create_categoryCreate a category, or a subcategory with parent_id, on a board
canny_list_tagsList tags, newest first, with id, name, postCount and board
canny_create_tagCreate a tag on a board, or return the existing tag with that name
canny_list_status_changesHistory of post status changes, newest first: post, old and new status, changer and the attached comment
canny_list_changelog_entriesList changelog entries, drafts and scheduled ones included, with title, markdown details, status, types, labels, linked posts, publishedAt…
canny_create_changelog_entryWrite a changelog entry as a draft (default), publish it now or schedule it, and link the posts it ships. notify emails users once it is…
canny_update_changelog_entryChange the title, details, types, labels, linked posts or notify flag of a changelog entry
canny_change_changelog_entry_statusPublish a changelog entry now, schedule it for a future time, or set it back to draft (unpublish or unschedule)

Example prompts

  • "What are the ten most voted open feature requests on our Feature Requests board?"
  • "Which posts moved to planned or in progress in the last month, and who changed them?"
  • "Which companies with the highest MRR voted for the dark mode request?"
  • "[email protected] asked for a CSV export on a call today. Add her vote to the existing post, or create the post if there is none."
  • "Write a draft changelog entry for the new bulk edit feature and link the posts it ships."

FAQ

Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.

What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.

The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.

Next steps

Was this guide helpful?

Your Canny agent is one click away.

Install the connector, paste the key, prompt Microsoft Copilot. Free for 7 days, no credit card.

Related guides

Connectors

Canny MCP Server: Feedback, Votes and Changelog

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Connectors

Connect Canny to ChatGPT via MCP: Feature Requests

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Connectors

Connect Canny to Claude via MCP: Feedback and Votes

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Connectors

Connect Canny to Cursor via MCP: Feedback and Votes

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Connectors

Connect Canny to Gemini CLI via MCP: Feedback and Votes

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.

Connectors

Connect Canny to Meta Muse via MCP: Feedback and Votes

Canny customer feedback: read boards, posts and feature requests with votes and comments, users and companies with MRR, categories, tags and the status history, capture new posts, votes and comments, triage with status changes, tags and owners, and write, schedule and publish changelog entries.