Canny is a customer feedback and product management platform that helps teams collect, organize, and prioritize user feedback through voting boards, public roadmaps, and changelogs. Teams use Canny to centralize feature requests, surface the ideas that matter most to their users, and keep stakeholders informed about what is planned, in progress, and shipped.
Power end-to-end data operations for your Canny API with Nexla. Our bi-directional Canny connector is purpose-built for Canny, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Canny or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Canny workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Before creating a Canny credential in Nexla, you need to obtain your secret API key from your Canny workspace. This key authenticates Nexla with the Canny API and grants access to your workspace data, so it should be kept secure.
Canny provides a single secret API key per workspace that is used to authenticate all API requests. Generating or retrieving this key requires admin access to the Canny workspace.
Sign in to your Canny account at canny.io as an admin user.
Open your workspace settings by clicking your workspace name, then navigate to Settings > API.
Locate your secret API key in the API section. This key is unique to your workspace and is used to authenticate every API request.
Your Canny API key is secret and provides full access to your workspace data through the API. Store it securely, do not share it publicly, and do not commit it to version control systems. For complete details about Canny API authentication, see the Canny API reference.
Nexla sends this key in the x-api-key request header when authenticating with the Canny API. Additional information about obtaining and using the API key is available in The Canny API help article.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter your Canny API key in the API Key field. This key authenticates Nexla with the Canny API and should match the secret key obtained from your Canny workspace settings. Nexla sends this value in the x-api-key header for all API requests to Canny.
The API key provides full access to your Canny workspace data through the API. Keep your API key secure and do not share it publicly. If you suspect your key has been compromised, regenerate it in your Canny workspace API settings.
Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Canny connector tile, then select the credential that will be used to connect to the Canny instance, and click Next; or, create a new Canny credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Canny endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
List Boards
This endpoint returns a list of all boards in your Canny workspace. Boards are the highest level of organization in Canny and are used to keep feedback for distinct products or areas separate. Use this endpoint when you need a catalog of your boards or their identifiers for use with other endpoints.
This endpoint automatically retrieves all boards accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
Board records include details such as the board name, post counts, and creation date.
Board identifiers returned by this endpoint can be used to filter or create records on other Canny endpoints, such as the List Posts and Create Tag endpoints. For complete field details, see the Canny API reference.
List Categories
This endpoint returns a list of all categories in your Canny workspace. Categories provide an additional way to organize feedback within boards. Use this endpoint when you need to analyze how feedback is grouped or to retrieve category identifiers.
This endpoint automatically retrieves all categories accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Each category is associated with a board. Use the List Boards endpoint to retrieve board details that correspond to the categories returned here.
List Changelog Entries
This endpoint returns a list of all changelog entries in your Canny workspace. Changelog entries communicate product updates such as new features, fixes, and improvements to your users. Use this endpoint to ingest your published changelog for reporting or to syndicate updates to other systems.
This endpoint automatically retrieves all changelog entries accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Changelog entries can include details such as the title, status, publication date, and any linked posts. For complete field details, see the Canny API reference.
List Comments
This endpoint returns a list of all comments in your Canny workspace. Comments are user discussions attached to feedback posts. Use this endpoint to analyze user engagement or to bring comment threads into other systems for support or analysis.
This endpoint automatically retrieves all comments accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Each comment references the post and author it is associated with. Use the List Posts and List Users endpoints to retrieve the corresponding post and author details.
List Companies
This endpoint returns a list of all companies in your Canny workspace. Companies group users by the organization they belong to, enabling account-level analysis of feedback. Use this endpoint to ingest company records for segmentation or reporting.
This endpoint automatically retrieves all companies accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Company records can include custom fields and monthly spend data, which are useful for prioritizing feedback by account value.
List Posts
This endpoint returns a list of all posts in your Canny workspace. Posts are individual feedback items, such as feature requests or bug reports, submitted by users. Use this endpoint to ingest the core feedback data that drives prioritization and roadmap decisions.
This endpoint automatically retrieves all posts accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Post records include details such as the title, status, vote count, author, board, and category. Use the corresponding List endpoints to enrich posts with related board, category, and user details.
List Status Changes
This endpoint returns a list of all status changes in your Canny workspace. Status changes record each time a post moves between states such as open, under review, planned, in progress, or complete. Use this endpoint to track how feedback progresses over time.
This endpoint automatically retrieves all status changes accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Each status change references the post it applies to. Use the List Posts endpoint to retrieve the corresponding post details.
List Tags
This endpoint returns a list of all tags in your Canny workspace. Tags are per-board labels, visible only to admins, that help further organize feedback when product areas are not distinct enough to warrant separate boards. Use this endpoint to ingest your tag taxonomy.
This endpoint automatically retrieves all tags accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Each tag is associated with a board. Tag identifiers returned here can be used with the Add Tag to Post destination endpoint.
List Users
This endpoint returns a list of all users in your Canny workspace. Users are the people who submit and vote on feedback. Use this endpoint to ingest user records for analysis, segmentation, or to associate feedback activity with individual people.
This endpoint automatically retrieves all users accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
User records can include details such as name, email, and the company a user belongs to. Use the List Companies endpoint to retrieve the corresponding company details.
List Votes
This endpoint returns a list of all votes in your Canny workspace. Votes indicate how much demand exists for each piece of feedback by recording which users have voted on which posts. Use this endpoint to analyze demand or to feed prioritization models.
This endpoint automatically retrieves all votes accessible with your credential. No additional configuration is required beyond selecting this endpoint template.
The endpoint uses offset-based pagination to handle large datasets efficiently, automatically fetching additional pages until all records are retrieved.
Each vote references both the post and the voter. Use the List Posts and List Users endpoints to retrieve the corresponding post and user details.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Canny data sources can also be manually configured to ingest data from any valid Canny API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, path to data, and request headers.
Canny list endpoints use the POST method, with parameters supplied in the request body, and follow the pattern https://canny.io/api/v1/{resource}/list (for example, https://canny.io/api/v1/posts/list). Each response returns the relevant records inside a top-level array named after the resource, so set the path to data accordingly using JSON dot notation (for example, $.posts[*], $.boards[*], $.comments[*], or $.users[*]). The x-api-key authentication header is handled automatically by Nexla based on your credential configuration and does not need to be added manually.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Canny data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Canny destination, and select the Send to Destination option from the menu. Select the Canny connector from the list of available destination connectors, then select the credential that will be used to connect to the Canny organization, and click Next; or, create a new Canny credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Canny endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create Post
This endpoint creates a new feedback post on a board in your Canny workspace. Use this endpoint to push feature requests, ideas, or other feedback captured in Nexla into Canny.
Each record in the Nexset is sent as a separate JSON request to create a post. Ensure your Nexset includes the required fields: authorID (the Canny user creating the post), boardID (the board the post belongs to), title, and details.
Use the List Boards and List Users source endpoints to retrieve valid board and author identifiers before sending data to this endpoint.
The request body must contain valid JSON with all required fields. For complete details about required and optional fields, see the Canny API reference.
Change Post Status
This endpoint updates the status of an existing post, such as moving it to open, in progress, or complete. Use this endpoint to keep Canny post statuses in sync with the state of your work in other systems.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the post identifier and the target status value.
Use the List Posts source endpoint to retrieve valid post identifiers before sending data to this endpoint.
Status values must match the statuses configured in your Canny workspace. For complete details, see the Canny API reference.
Create Comment
This endpoint creates a comment on a post in your Canny workspace. Use this endpoint to add context, updates, or responses to feedback posts from data flowing through Nexla.
Each record in the Nexset is sent as a separate JSON request to create a comment. Ensure your Nexset includes the required fields: authorID, postID, and value (the comment text).
Use the List Posts and List Users source endpoints to retrieve valid post and author identifiers before sending data to this endpoint.
For complete details about required and optional fields, see the Canny API reference.
Create Vote
This endpoint creates a vote on a post on behalf of a user. Use this endpoint to register demand for feedback in Canny based on signals captured in other systems.
Each record in the Nexset is sent as a separate JSON request to create a vote. Ensure your Nexset includes the required fields: postID and voterID.
Use the List Posts and List Users source endpoints to retrieve valid post and voter identifiers before sending data to this endpoint.
For complete details about required and optional fields, see the Canny API reference.
Find or Create User
This endpoint identifies an existing Canny user or creates a new one, performing an upsert by user identifier or email. Use this endpoint to keep your Canny user base in sync with users from your CRM, product database, or other systems.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required fields: userID, email, and name.
Because this endpoint performs an upsert, sending a record for an existing user updates that user rather than creating a duplicate.
For complete details about required and optional fields, see the Canny API reference.
Create or Update Company
This endpoint creates or updates a company record in your Canny workspace. Use this endpoint to keep company data, such as account tier or monthly spend, in sync with your billing or CRM systems for account-level feedback analysis.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required fields: id and name.
Sending a record for an existing company identifier updates that company rather than creating a duplicate.
For complete details about required and optional fields, including custom fields and monthly spend, see the Canny API reference.
Create Tag
This endpoint creates a new tag on a board in your Canny workspace. Use this endpoint to build or maintain your tag taxonomy programmatically from Nexla.
Each record in the Nexset is sent as a separate JSON request to create a tag. Ensure your Nexset includes the required fields: boardID and name.
Use the List Boards source endpoint to retrieve valid board identifiers before sending data to this endpoint.
For complete details about required and optional fields, see the Canny API reference.
Add Tag to Post
This endpoint adds an existing tag to an existing post. Use this endpoint to categorize feedback posts in Canny based on classifications produced in your Nexla flows.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required fields: postID and tagID.
Use the List Posts and List Tags source endpoints to retrieve valid post and tag identifiers before sending data to this endpoint.
For complete details about required and optional fields, see the Canny API reference.
Delete Comment
This endpoint deletes a comment from your Canny workspace by its identifier. Use this endpoint to remove comments that should no longer appear, such as those flagged or resolved in another system.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required field: commentID.
Use the List Comments source endpoint to retrieve valid comment identifiers before sending data to this endpoint.
Deleting a comment is permanent and cannot be undone. For complete details, see the Canny API reference.
Delete User
This endpoint deletes a user from your Canny workspace. Use this endpoint to remove users as part of account offboarding or data privacy workflows driven from Nexla.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required field: userID.
Use the List Users source endpoint to retrieve valid user identifiers before sending data to this endpoint.
Deleting a user is permanent and cannot be undone. For complete details, see the Canny API reference.
Delete Vote
This endpoint removes a vote from a post for a given user. Use this endpoint to retract demand signals in Canny when the corresponding signal is removed in another system.
Each record in the Nexset is sent as a separate JSON request. Ensure your Nexset includes the required fields: postID and voterID.
Use the List Posts and List Users source endpoints to retrieve valid post and voter identifiers before sending data to this endpoint.
Canny destinations can also be manually configured to send data to any valid Canny API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Canny write endpoints use the POST method and expect JSON in the request body. Endpoint URLs follow the pattern https://canny.io/api/v1/{resource}/{action} (for example, https://canny.io/api/v1/posts/create). The x-api-key authentication header is handled automatically by Nexla based on your credential configuration and does not need to be added manually.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Canny endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Canny endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.