Canny Connector
Description
Canny is a customer feedback management platform that helps teams collect, organize, and prioritize product feedback. This component allows you to manage feedback boards, posts, votes, comments, categories, tags, users, and companies.
API Documentation
This component was built using the Canny API Reference.
Connections
API Key
key: cannyApiKeyTo authenticate with Canny, an API key is required.
Prerequisites
- A Canny account with admin access
Setup Steps
- Log in to the Canny admin panel
- Navigate to Settings > API
- Copy the API Key displayed on the page
Configure the Connection
- Enter the API Key into the connection configuration
| Input | Notes | Example |
|---|---|---|
| API Key | The Canny API key. Generate one at Settings > API in the Canny admin panel. |
Triggers
New and Updated Posts
Retrieves existing and ongoing posts from Canny. Load history once, check for changes on a schedule, or both. | key: pollChangesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each post created or status-changed on or after this date once, ignoring the field and visibility filters. | 2026-01-01 |
| Show New Records | When true, posts created since the last poll are included in the trigger output. | true |
| Show Updated Records | When true, posts whose status changed since the last poll are included in the trigger output. | true |
This trigger polls Canny on a configured schedule and emits posts that were created, or had a status change, since the previous recurrence. It can also load a history of existing posts once, so an instance can start from a known state instead of only seeing changes from deployment onward. It is a convenient alternative to webhooks when a scheduled pull is preferred over an event push.
How It Works
Canny's posts endpoint does not support filtering by date, so on each recurrence the trigger fetches posts and classifies them against the stored cursor:
- Created: posts whose
createdtimestamp is after the cursor. - Updated: posts whose
statusChangedAtis after the cursor (and that are not newly created).
The time each recurrence started is stored as the cursor for the next one, so only posts created or status-changed since then are returned.
Initial sync
An initial sync seeds a complete starting state rather than a feed of changes. Inputs that narrow which changes are reported would leave permanent gaps in that starting state, so they are not applied to it, while inputs that shape how records are fetched still are. Setting Look-back Date starts the sync from that date on the first recurrence and seeds each post created or status-changed since it exactly once. The sync ignores Show New Records and Show Updated Records, the trigger's two visibility filters, which resume on every later recurrence. Leaving Look-back Date empty means no sync runs at all: the first recurrence records the cursor, emits nothing, and the trigger reports only changes from that point forward.
The upper bound of the sync window is fixed at the moment the sync begins, so a post changed while the sync is in progress is not picked up by the sync itself. Once the window is exhausted the trigger stores that bound as its position, and the first incremental recurrence resumes from exactly there, so nothing is lost between the two. No field in the payload marks the handoff. The sync drains within a single recurrence whether or not batching is enabled, because the trigger reads the full post list and classifies it in memory.
The sync boundary is inclusive: a post dated exactly on the look-back date is seeded. Every later recurrence is exclusive of the previous cursor, so a post sitting exactly on it is not emitted a second time. This trigger has no page-size or field-selection inputs, so no fetch-shaping input is suppressed; the sync reads the same full post list that a normal recurrence does.
Batching
Batching is enabled per flow on this trigger. Once enabled, each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and the number of batches dispatched concurrently can both be overridden per instance. Raising concurrency increases the request volume sent to Canny.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default to use the size this trigger ships with, or choose Custom batch size to set a specific size. Batch Concurrency is optional; leave it blank for no batch-level limit.
Enabling batching changes the shape a downstream step receives. With batching off, a step reads the full polling payload and finds the posts under data.created and data.updated. With batching on, those two arrays do not exist: each record is dispatched on its own, tagged as changeType (either created or updated) with the post itself under record. Any step that reads data.created or data.updated must be updated before batching is turned on. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns the matching posts grouped under created and updated. Fields shown are representative. The full response object includes additional properties.
Example Payload
{
"data": {
"created": [
{
"id": "553c3ef8b8cdcd1501ba1238",
"title": "An awesome feature request",
"status": "in progress",
"created": "2026-04-16T01:07:22.189Z",
"statusChangedAt": "2026-04-16T01:07:22.189Z"
}
],
"updated": []
}
}
With batching on, each dispatched record takes the tagged shape below instead.
Per-Record Shape (batching enabled)
{
"changeType": "created",
"record": {
"id": "553c3ef8b8cdcd1501ba1238",
"title": "An awesome feature request",
"status": "in progress",
"created": "2026-04-16T01:07:22.189Z",
"statusChangedAt": "2026-04-16T01:07:22.189Z"
}
}
Notes
- "Updated" detection is based on each post's
statusChangedAt, which reflects status transitions. Other edits that do not change status are not detected. - Because Canny has no server-side date filter, each recurrence lists every post and filters them in memory, so a very large board makes each recurrence proportionally more expensive.
Example Payload for New and Updated Posts⤓
Webhook
Receives webhook events from Canny when configured events occur. | key: webhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. |
A Canny webhook sends notifications to the integration whenever events occur in Canny. All event types are sent automatically. There is no option to filter by event type.
How It Works
When a webhook event is received, the trigger validates the request using HMAC-SHA256 signature verification with the API key from the connection. If the signature is invalid, the request is rejected.
Configuration
Configure a webhook in the Canny admin panel:
- Navigate to Settings > API in Canny
- Under Webhooks, click Add Webhook
- Enter the flow's webhook URL as the Webhook URL
- Save the webhook configuration
Event Types
All event types are sent to the webhook. Use a branch or filter step in the flow to handle specific events.
Available Events (13)
| Event | Description |
|---|---|
post.created | Occurs when a new post is created |
post.edited | Occurs when a post is edited |
post.deleted | Occurs when a post is deleted |
post.jira_issue_linked | Occurs when a Jira issue is linked to a post |
post.jira_issue_unlinked | Occurs when a Jira issue is unlinked from a post |
post.tag_added | Occurs when a post is tagged |
post.tag_removed | Occurs when a post's tag is removed |
post.status_changed | Occurs when a post's status is changed |
comment.created | Occurs when a new comment is created |
comment.edited | Occurs when a comment is edited |
comment.deleted | Occurs when a comment is deleted |
vote.created | Occurs when a user votes on a post |
vote.deleted | Occurs when a user unvotes on a post |
Refer to the Canny webhook documentation for the complete and up-to-date list.
Returned Data
Example Payload (post.deleted)
{
"created": "2026-04-16T20:12:49.566Z",
"object": {
"author": {
"adminRole": "Owner",
"avatarURL": null,
"created": "2025-10-08T17:30:30.782Z",
"email": "admin@example.com",
"id": "553c3ef8b8cdcd1501ba9999",
"isAdmin": true,
"name": "Jane Smith",
"url": "https://yourcompany.canny.io/admin/users/jane-smith",
"userID": null
},
"board": {
"created": "2026-04-16T00:10:27.227Z",
"id": "553c3ef8b8cdcd1501ba5678",
"name": "Feature Requests",
"postCount": 4,
"url": "https://yourcompany.canny.io/admin/board/feature-requests"
},
"by": null,
"category": null,
"commentCount": 0,
"clickup": {
"linkedTasks": []
},
"created": "2026-04-16T20:12:48.417Z",
"customFields": [],
"details": "It would be great to have a dark mode option for the dashboard.",
"eta": "June 2026",
"id": "553c3ef8b8cdcd1501ba1234",
"imageURLs": [],
"idea": null,
"jira": {
"linkedIssues": [],
"linkedIssueIDs": []
},
"linear": {
"linkedIssueIDs": []
},
"mergeHistory": [],
"owner": null,
"roadmaps": [],
"score": 1,
"status": "open",
"statusChangedAt": "2026-04-16T20:12:48.417Z",
"tags": [],
"title": "Add dark mode support",
"totalMRR": 0,
"url": "https://yourcompany.canny.io/admin/board/feature-requests/p/add-dark-mode-support"
},
"objectType": "post",
"type": "post.deleted"
}
Example Payload for Webhook⤓
Data Sources
Select Board
Selects a board from the Canny account. | key: selectBoard | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. |
Example Payload for Select Board⤓
Select Category
Selects a category from the Canny account. | key: selectCategory | type: picklist
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. |
Example Payload for Select Category⤓
Select Company
Selects a company from the Canny account. | key: selectCompany | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. |
Example Payload for Select Company⤓
Select Post
Selects a post from the Canny account. | key: selectPost | type: picklist
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. |
Example Payload for Select Post⤓
Select Tag
Selects a tag from the Canny account. | key: selectTag | type: picklist
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. |
Example Payload for Select Tag⤓
Select User
Selects a user from the Canny account. | key: selectUser | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. |
Example Payload for Select User⤓
Actions
Change Post Status
Changes the status of a post. | key: changePostStatus
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional fields that might not be covered by the standard inputs. | |
| Changer ID | The admin performing the status change. | 553c3ef8b8cdcd1501ba9999 |
| Connection | The Canny connection to use. | |
| Comment | Optional comment to attach to the status change. | We've moved this to our roadmap. |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
| Notify Voters | When true, notifies voters of the status change. | false |
| Status | The new status value (e.g., open, under review, planned, in progress, complete, closed). | planned |
Example Payload for Change Post Status⤓
Create Category
Creates a new category in a board. | key: createCategory
| Input | Notes | Example |
|---|---|---|
| Board ID | The unique identifier of the board. | 553c3ef8b8cdcd1501ba1234 |
| Name | The display name shown when grouping posts on the board. | UI Improvements |
| Connection | The Canny connection to use. | |
| Parent Category ID | Parent category ID for subcategories. | 553c3ef8b8cdcd1501baabcd |
| Subscribe Admins | When true, subscribes admins to the category. | false |
Example Payload for Create Category⤓
Create Changelog Entry
Creates a new changelog entry. | key: createEntry
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Notify, Published, and Additional Fields. | |
| Connection | The Canny connection to use. | |
| Details | The entry content (markdown supported). | We've added several new features to the dashboard... |
| Title | The headline shown at the top of the changelog entry. | New Dashboard Features |
| Type | Entry type: new, improved, or fixed. | new |
Example Payload for Create Changelog Entry⤓
Create Comment
Creates a new comment on a post. | key: createComment
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Internal, Image URLs, and Additional Fields. | |
| Author ID | The unique identifier of the comment author. | 553c3ef8b8cdcd1501ba9999 |
| Comment Text | The body of the comment as it appears on the post. Plain text. | Great idea! We should prioritize this. |
| Connection | The Canny connection to use. | |
| Parent Comment ID | Parent comment ID for threaded replies. | 553c3ef8b8cdcd1501ba2222 |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
Example Payload for Create Comment⤓
Create or Update User
Creates a new user or updates an existing one by email. | key: createOrUpdateUser
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Companies, Custom Fields, and Additional Fields. | |
| Connection | The Canny connection to use. | |
The user's email address. | jane@example.com | |
| User ID | The unique identifier of the user. | 553c3ef8b8cdcd1501ba9999 |
| Name | The user's display name. | Jane Smith |
Example Payload for Create or Update User⤓
Create Post
Creates a new feedback post. | key: createPost
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Custom Fields, ETA, ETA Public, Image URLs, and Additional Fields. | |
| Author ID | The unique identifier of the post author. | 553c3ef8b8cdcd1501ba9999 |
| Board ID | The unique identifier of the board. | 553c3ef8b8cdcd1501ba1234 |
| Category ID | Category to assign to the post. | 553c3ef8b8cdcd1501baabcd |
| Connection | The Canny connection to use. | |
| Details | The content or description of the post. | It would be great to have a dark mode option for the dashboard. |
| Title | The headline shown in the board list and used for search matching. | Add dark mode support |
Example Payload for Create Post⤓
Create Tag
Creates a new tag in a board. | key: createTag
| Input | Notes | Example |
|---|---|---|
| Board ID | The unique identifier of the board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. | |
| Name | The label applied to posts for filtering, such as bug or feature-request. | bug |
Example Payload for Create Tag⤓
Create Vote
Creates a vote on a post. | key: createVote
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional fields that might not be covered by the standard inputs. | |
| Connection | The Canny connection to use. | |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
| Voter ID | The unique identifier of the user casting the vote. | 553c3ef8b8cdcd1501ba9999 |
Example Payload for Create Vote⤓
Delete Category
Deletes a category. | key: deleteCategory
| Input | Notes | Example |
|---|---|---|
| Category ID | The unique identifier of the category. | 553c3ef8b8cdcd1501baabcd |
| Connection | The Canny connection to use. |
Example Payload for Delete Category⤓
Delete Comment
Deletes a comment. | key: deleteComment
| Input | Notes | Example |
|---|---|---|
| Comment ID | The unique identifier of the comment. | 553c3ef8b8cdcd1501ba2222 |
| Connection | The Canny connection to use. |
Example Payload for Delete Comment⤓
Delete Company
Deletes a company. | key: deleteCompany
| Input | Notes | Example |
|---|---|---|
| Company ID | The unique identifier of the company. | 553c3ef8b8cdcd1501ba1111 |
| Connection | The Canny connection to use. |
Example Payload for Delete Company⤓
Delete Post
Deletes a post. | key: deletePost
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
Example Payload for Delete Post⤓
Delete User
Deletes a user. | key: deleteUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| User ID | The unique identifier of the user. | 553c3ef8b8cdcd1501ba9999 |
Example Payload for Delete User⤓
Delete Vote
Deletes a vote. | key: deleteVote
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Vote ID | The unique identifier of the vote. | 553c3ef8b8cdcd1501ba3333 |
Example Payload for Delete Vote⤓
List Boards
Lists all boards. | key: listBoards
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. |
Example Payload for List Boards⤓
List Categories
Lists categories with optional board filter and pagination. | key: listCategories
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Page and page-size controls. |
Example Payload for List Categories⤓
List Changelog Entries
Lists changelog entries with optional filtering. | key: listEntries
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Sort | Sort order for changelog entries. | nonPublishedFirst |
| Type | Entry type: new, improved, or fixed. | new |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Page and page-size controls. |
Example Payload for List Changelog Entries⤓
List Comments
Lists comments with optional filtering and cursor-based pagination. | key: listComments
| Input | Notes | Example |
|---|---|---|
| Author ID | Filter by or specify the post author. | 553c3ef8b8cdcd1501ba9999 |
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Company ID | Filter results by company. | 553c3ef8b8cdcd1501ba1111 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Post ID | Filter results by post. | 553c3ef8b8cdcd1501ba5678 |
Example Payload for List Comments⤓
List Companies
Lists companies with cursor-based pagination. | key: listCompanies
| Input | Notes | Example |
|---|---|---|
| Search | Search term to filter companies. | Acme |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Segment | Restricts results to companies in a single segment, matched exactly against the segment name. | enterprise |
Example Payload for List Companies⤓
List Posts
Lists posts with optional filtering and pagination. | key: listPosts
| Input | Notes | Example |
|---|---|---|
| Author ID | Filter by or specify the post author. | 553c3ef8b8cdcd1501ba9999 |
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Company ID | Filter results by company. | 553c3ef8b8cdcd1501ba1111 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| List Controls | Search, sort, and status filter controls. | |
| Pagination | Page and page-size controls. | |
| Tag IDs | JSON array of tag IDs to filter by. |
Example Payload for List Posts⤓
List Status Changes
Lists post status changes with optional filtering and cursor-based pagination. | key: listStatusChanges
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Cursor and page-size controls for paging through results. |
Example Payload for List Status Changes⤓
List Tags
Lists tags with optional board filter and pagination. | key: listTags
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Page and page-size controls. |
Example Payload for List Tags⤓
List Users
Lists users with cursor-based pagination. | key: listUsers
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Cursor and page-size controls for paging through results. |
Example Payload for List Users⤓
List Votes
Lists votes with optional filtering and cursor-based pagination (v2). | key: listVotes
| Input | Notes | Example |
|---|---|---|
| Board ID | Filter results by board. | 553c3ef8b8cdcd1501ba1234 |
| Company ID | Filter results by company. | 553c3ef8b8cdcd1501ba1111 |
| Connection | The Canny connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Post ID | Filter results by post. | 553c3ef8b8cdcd1501ba5678 |
| User ID | Filter results by user. | 553c3ef8b8cdcd1501ba9999 |
Example Payload for List Votes⤓
Raw Request
Sends a raw HTTP request to the Canny API. The API key is injected automatically into the request body. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (e.g., /v1/posts/list). The base URL is already included (https://canny.io/api). For example, to connect to https://canny.io/api/v1/posts/list, only /v1/posts/list is entered in this field. | /v1/posts/list |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Retrieve Board
Retrieves a single board by ID. | key: retrieveBoard
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Board ID | The unique identifier of the board. | 553c3ef8b8cdcd1501ba1234 |
Example Payload for Retrieve Board⤓
Retrieve Category
Retrieves a single category by ID. | key: retrieveCategory
| Input | Notes | Example |
|---|---|---|
| Category ID | The unique identifier of the category. | 553c3ef8b8cdcd1501baabcd |
| Connection | The Canny connection to use. |
Example Payload for Retrieve Category⤓
Retrieve Comment
Retrieves a single comment by ID. | key: retrieveComment
| Input | Notes | Example |
|---|---|---|
| Comment ID | The unique identifier of the comment. | 553c3ef8b8cdcd1501ba2222 |
| Connection | The Canny connection to use. |
Example Payload for Retrieve Comment⤓
Retrieve Post
Retrieves a single post by ID. | key: retrievePost
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
Example Payload for Retrieve Post⤓
Retrieve Tag
Retrieves a single tag by ID. | key: retrieveTag
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Tag ID | The unique identifier of the tag. | 553c3ef8b8cdcd1501ba4444 |
Example Payload for Retrieve Tag⤓
Retrieve User
Retrieves a single user by ID. | key: retrieveUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| User ID | The unique identifier of the user. | 553c3ef8b8cdcd1501ba9999 |
Example Payload for Retrieve User⤓
Retrieve Vote
Retrieves a single vote by ID. | key: retrieveVote
| Input | Notes | Example |
|---|---|---|
| Connection | The Canny connection to use. | |
| Vote ID | The unique identifier of the vote. | 553c3ef8b8cdcd1501ba3333 |
Example Payload for Retrieve Vote⤓
Update Company
Updates an existing company. | key: updateCompany
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Monthly Spend, Custom Fields, and Additional Fields. | |
| Company ID | The unique identifier of the company. | 553c3ef8b8cdcd1501ba1111 |
| Name | The company name (0-100 characters). | Acme Corp |
| Connection | The Canny connection to use. |
Example Payload for Update Company⤓
Update Post
Updates an existing post. | key: updatePost
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Custom Fields, ETA, Image URLs, and Additional Fields. | |
| Connection | The Canny connection to use. | |
| Details | Replaces the post body. Leave blank to keep the current details. | Updated description for the feature request. |
| Post ID | The unique identifier of the post. | 553c3ef8b8cdcd1501ba5678 |
| Title | Replaces the post headline. Leave blank to keep the current title. | Add dark mode support |
Example Payload for Update Post⤓
Changelog
2026-09-02
Restructured action inputs into structured objects for an improved user experience.
- List actions group their paging inputs into Pagination: offset-based on List Posts, List Categories, List Tags, and List Changelog Entries; cursor-based on List Comments, List Votes, List Users, List Companies, and List Status Changes. Fetch All stays a top-level toggle
- List Posts groups its search, sort, and status filters into List Controls
- Create Post, Update Post, Create Comment, Update Company, Create or Update User, and Create Changelog Entry group their less common optional inputs into Additional Fields
- Added output schemas to every action except Raw Request, so a later step can reference response fields without running the action first
- Added inline action calling support to 26 actions for improved example output during configuration
- Added optional batching to the New and Updated Posts trigger; enabling it changes the shape a downstream step receives
- Added a Look-back Date input to the New and Updated Posts trigger for performing an initial sync of records. The initial sync begins on the first recurrence, seeds each record once, and ignores the trigger's filters
- Fixed Create Changelog Entry silently discarding every value supplied in Additional Fields; those values now reach Canny
- Fixed the Webhook trigger rejecting every test invocation with a signature error; it now skips signature verification when the platform runs a test execution
2026-06-02
Added the New and Updated Posts polling trigger, which checks for posts created or with a status change since the last run
2026-04-21
Initial release of the Canny component with support for boards, posts, comments, votes, categories, tags, users, companies, changelog entries, and status changes.