Canny

Learn how to use Canny with Composio

Overview

SLUG: CANNY

Description

Canny is a customer feedback management platform that helps teams collect, analyze, and prioritize user feedback to build better products.

Authentication Details

generic_api_key
stringRequired

Connecting to Canny

Create an auth config

Use the dashboard to create an auth config for the Canny toolkit. This allows you to connect multiple Canny accounts to Composio for agents to use.

1

Select App

Navigate to Canny.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Canny Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4canny_auth_config_id = "ac_YOUR_CANNY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Canny for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, canny_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Canny toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Add Post Tag

Description

Tool to add a tag to a specific post. Use when you need to categorize or group content by applying an existing tag.

Action Parameters

postID
stringRequired
tagID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Change Post Status

Description

Tool to change a post's status. Use when you need to update a post's workflow stage and optionally notify voters.

Action Parameters

changerID
stringRequired
commentImageURLs
commentValue
postID
stringRequired
shouldNotifyVoters
status
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Changelog Entry

Description

Tool to create and optionally publish a new changelog entry. Use when you need to add a product update record, control publish timing, and notify users. Example: "Create changelog entry titled 'Version 1.2' with details '...' and publish immediately.".

Action Parameters

details
stringRequired
labelIDs
notify
postIDs
published
publishedOn
scheduledFor
title
stringRequired
type

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Comment

Description

Tool to create a new comment on a post. Use when you have the authorID and postID and want to submit feedback or replies.

Action Parameters

authorID
stringRequired
createdAt
imageURLs
internal
parentID
postID
stringRequired
shouldNotifyVoters
value

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create or Update User

Description

Tool to create or update a user in Canny. Use when you need to provision a new user or synchronize updates to an existing user profile. Example: "Create or update user with email user@example.com"

Action Parameters

alias
avatarURL
companies
created
customFields
email
id
name
stringRequired
userID

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Post

Description

Tool to create a new post on a board. Use when you have the boardID and userID and need to submit new feedback.

Action Parameters

assigneeID
boardID
stringRequired
created
details
isPrivate
tags
title
stringRequired
userID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Tag

Description

Tool to create a new tag. Use when you have the boardID and tag name and need to categorize posts.

Action Parameters

boardID
stringRequired
name
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Vote

Description

Tool to create a vote for a post. Use when you need to record or migrate a user's vote on a post, optionally setting priority or original creation time. Example: Create a vote for postID abc123 with voterID user_456.

Action Parameters

byID
createdAt
postID
stringRequired
votePriority
voterID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Comment

Description

Tool to delete a comment. Use when moderation is required to remove a specific comment by its id. Example: "Delete the comment with ID 553c3ef8b8cdcd1501ba1238."

Action Parameters

commentID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Post

Description

Tool to delete a post. Use when you need to permanently remove a post by its id. Example: "Delete the post with ID 553c3ef8b8cdcd1501ba1238."

Action Parameters

postID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete User

Description

Tool to delete a user and their comments and votes. Use when you need to fully remove a user's account and all associated data (e.g., GDPR compliance).

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Vote

Description

Tool to delete a vote. Use when you need to remove a user's vote from a specific post by its id. Example: "Delete the vote from postID abc123 for voterID user_456."

Action Parameters

postID
stringRequired
voterID
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Boards

Description

Tool to list all boards. Use when you need to retrieve every board for your company after authentication.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Categories

Description

Tool to list categories. Use when fetching categories for a specific board by its ID.

Action Parameters

boardID
limit
skip

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Comments

Description

Tool to list comments for posts, boards, or authors. Use after authentication to fetch comments with optional filters.

Action Parameters

authorID
boardID
companyID
limit
integerDefaults to 10
postID
skip
integer

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Companies

Description

Tool to list companies associated with your Canny account. Use after authentication to retrieve companies with pagination support.

Action Parameters

cursor
limit

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Opportunities

Description

Tool to list opportunities linked to posts. Use when you need to fetch customer opportunities synced from CRM.

Action Parameters

limit
skip

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Posts

Description

Tool to list posts with various filters. Use after selecting a board or to search/filter posts.

Action Parameters

authorID
boardID
companyID
limit
search
skip
sort
status
tagIDs

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Tags

Description

Tool to list tags. Use when fetching tags optionally filtered by board ID and handling pagination.

Action Parameters

boardID
limit
skip

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Users

Description

Tool to list end-users in your workspace. Use when you need to fetch and paginate through your workspace's users.

Action Parameters

cursor
limit
Defaults to 10

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Votes

Description

Tool to list votes for a post. Use after retrieving post details to view voters.

Action Parameters

boardID
limit
integerDefaults to 10
postID
skip
integer
voterID

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Retrieve Board

Description

Tool to retrieve details of a board by its ID. Use when you need metadata for a specific board.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Retrieve Tag

Description

Tool to retrieve details of a tag by its ID. Use after obtaining a valid tag ID.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Retrieve User

Description

Tool to retrieve user details by Canny user ID, app user ID, or email. Use when you have exactly one identifier and need full user information. Example: "Retrieve user with email user@example.com"

Action Parameters

email
id
userID

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Post

Description

Tool to update post details. Use when you need to change a post's title, details, ETA, images, or custom fields.

Action Parameters

customFields
details
eta
etaPublic
imageURLs
postID
stringRequired
title

Action Response

data
objectRequired
error
successful
booleanRequired