Skip to main content

Migration guide

Migrate from Canny without losing the conversation

FeatureJet reads the source board through Canny’s API so requests arrive with attributable votes and public discussion, not just a copied score. Each run is bounded, inspectable, and safe to repeat.

Field guide

FeatureJet

Published and verified July 29, 2026

Current importer behavior and Canny’s first-party API documentation were reverified for this guide.

Dashboard flow

One batch at a time, until remaining is zero.

The importer lives beside Export in each FeatureJet board’s dashboard settings. It attempts up to 25 previously unseen posts per run and reports exactly what happened.

  1. 1

    Select the FeatureJet board

    Open Dashboard, choose the board that should receive the Canny content, then find Import from Canny in its settings.
  2. 2

    Get the current Canny credentials

    Copy the secret API key from Canny company settings. Canny’s Canny API reference documents the key and its boards/list endpoint, whose response includes each board’s ID. Paste the source board ID, not its public slug or URL.
  3. 3

    Run Import batch

    Enter the API key and board ID, then choose Import batch. The key is used for that run only: FeatureJet does not persist it or put it in the result.
  4. 4

    Inspect the result

    Read the imported, skipped, failed, and remaining counts. The same result calls out unknown statuses, excluded private comments, flattened replies, shortened titles, and rows needing attention.
  5. 5

    Repeat until remaining reaches zero

    Resolve any failed rows, then run another batch when work remains. Imported Canny post IDs are recorded on the destination board, so a repeat skips existing posts instead of duplicating them.

What crosses over

Preserve real identities. Leave private material private.

Imported

Posts, mapped statuses, one vote per attributable voter identity, public comments, tags, and categories. Source creation dates are preserved, and completed Canny posts become Shipped.

Not imported

Private and internal comments stay out. Aggregate vote scores without voter identities are never turned into fictional voters. Images, owners, estimates, custom fields, linked issues, and status history are outside this importer.

Edge cases

The awkward parts are reported, not hidden.

Migration tools earn trust by making lossy mappings visible. FeatureJet chooses conservative defaults and puts each exception in the batch summary.

Status mapping

Open, Under Review, Planned, In Progress, Complete, and Closed map to FeatureJet’s five public statuses. Unknown or custom statuses become Open and are named in the result so you can review them.

Nested comments

FeatureJet supports one reply level. Deeper nested replies are attached to the top-level thread and counted as flattened comments in the result.

Interrupted runs

A network interruption or rejected row does not erase successful posts. Run the batch again; existing source IDs are skipped and unresolved rows remain visible.

Deciding whether the move fits first?

Read the honest FeatureJet and Canny comparison before bringing anything over. When you are ready, create the destination board and run one inspectable batch.

Create the destination board
How to migrate from Canny to FeatureJet