Skip to content

Import and export data

Bring your existing feedback with you. Whether you're migrating from Canny, UserVoice, or a spreadsheet, import preserves your vote counts, dates, and history. Export anytime for backups or analysis.

CSV Import

Supported Data

Import posts into any board:

  • Titles and content
  • Statuses and tags
  • Author information
  • Vote counts
  • Dates

Import Process

  1. Go to Admin → Settings → Boards
  2. Select the target board
  3. Click the Import Data tab
  4. Drop a CSV file or click to browse
  5. Click Import Data to start the import
  6. Review the results

CSV Format

Required Columns

ColumnDescription
titlePost title (required)
contentPost body (required)

Optional Columns

ColumnDescriptionFormat
statusStatus slugMust match existing status slug
tagsTag namesComma-separated
boardBoard slugMust match existing board
author_nameAuthor display nameText
author_emailAuthor emailValid email
vote_countNumber of votesInteger
created_atCreation dateISO 8601

Example CSV

title,content,status,tags,board,author_name,author_email,vote_count,created_at
"Add dark mode support","It would be great to have a dark mode option for the app.","open","feature,ui","","John Doe","john@example.com","5","2024-01-15T10:30:00Z"
"Fix login timeout","Users are being logged out too quickly.","under_review","bug","","","","2",""

Import Limits

LimitValue
File size10 MB
Rows10,000
ColumnsUnlimited

Handle statuses

Statuses in CSV must match existing status slugs (e.g., open, under_review, planned):

  • Unmatched statuses use the default status
  • Create any custom statuses before importing

Handle tags

Tags are created automatically:

  • New tags created on import
  • Comma-separated in CSV
  • Report shows created tags

Import Results

After import, you'll see a summary showing:

  • Number of posts imported
  • Number of rows skipped
  • Number of new tags created
  • Any row-level errors (expandable to view details)

CSV Export

Export Process

  1. Go to Admin → Settings → Boards
  2. Select a board
  3. Click the Export Data tab
  4. Click Export CSV
  5. Download starts automatically

Export Format

Exported CSV includes:

ColumnDescription
titlePost title
contentPost content
statusStatus name
tagsComma-separated tags
boardBoard slug
author_nameAuthor display name
author_emailAuthor email
vote_countNumber of votes
created_atCreation timestamp

Export Scope

Export is per-board. Select the board you want to export from the board dropdown, then navigate to the Export Data tab.

Use Cases

  • Backup - Regular data exports
  • Analysis - Import into spreadsheets
  • Migration - Move to another system
  • Reporting - Share with stakeholders

Migrate from Canny

Quackback has a dedicated Canny importer that connects directly to your Canny account and migrates everything automatically — no CSV export needed.

What gets imported

  • Posts — titles, descriptions, and creation dates
  • Votes — full vote counts preserved per post
  • Comments — threaded discussions with author attribution
  • Users — names, emails, and avatars
  • Statuses — mapped to your Quackback workflow

Run the import

  1. Go to Admin → Settings → Import
  2. Select Canny as the source
  3. Follow the authentication flow to connect your Canny account
  4. Choose which Canny boards to import and map them to Quackback boards
  5. Start the import

The importer runs in the background. You'll see progress and a summary when it completes.

Set up your Quackback boards and statuses before importing so the mapping step goes smoothly. See Organize feedback with boards if you haven't created boards yet.

CSV import from Canny

If you prefer to use a CSV export instead, you can still import manually. Export from Canny and map the columns:

  • titletitle
  • detailscontent
  • statusstatus
  • votesvote_count

Migrate from other platforms

From UserVoice

  1. Export from UserVoice (CSV format)
  2. Map columns:
    • suggestion_titletitle
    • suggestion_textcontent
    • statusstatus
    • vote_countvote_count

From Spreadsheet

If you've been tracking feedback in a spreadsheet:

  1. Add column headers matching Quackback format
  2. Ensure dates are ISO 8601 format
  3. Clean up status values to match your status slugs
  4. Export as CSV (UTF-8 encoding)

Best Practices

Before Import

  1. Create statuses first - Import matches by slug
  2. Clean your data - Remove duplicates, fix formatting
  3. Test with sample - Import a few rows first
  4. Backup existing data - Export current posts

Data Cleaning

Common issues to fix:

IssueSolution
Extra whitespaceTrim cells
Inconsistent statusesNormalize names
HTML in contentConvert to markdown
Date formatsUse ISO 8601
Encoding issuesSave as UTF-8

Large Imports

For 5,000+ posts:

  1. Split into batches of 2,000
  2. Import sequentially
  3. Verify each batch
  4. Allow time between batches

Troubleshooting

"Invalid CSV format"

  • Check file encoding (use UTF-8)
  • Verify proper quoting for fields with commas
  • Ensure consistent column count

"Status not found"

  • Create the status before importing
  • Check spelling matches exactly

"Date parse error"

  • Use ISO 8601: 2024-01-15T10:30:00Z
  • Or: 2024-01-15 (date only)

"Import stuck"

  • Large files take time
  • Check browser console for errors
  • Try smaller batches

Next Steps