Importing Posts

How to get there: Go to Settings → Import tab.

Bulk-import posts into ProductLift from a CSV or Excel file. The wizard auto-detects your columns with AI, lets you create missing statuses and categories on the fly, and tracks every import as a batch so you can review or undo it later.

What is post importing?

Post importing creates many posts at once from a spreadsheet. Use it when you're:

  • Migrating from another tool (Trello, Jira, UserVoice, Canny, etc.)
  • Bringing an existing product backlog into ProductLift
  • Loading customer-survey results
  • Bootstrapping a new portal with historical data

If you only need to add one or two posts, just create them manually instead.

Preparing your file

Supported formats

  • CSV (.csv)
  • Excel (.xlsx, .xls)
  • Tab-separated values (.tsv, .txt)

Templates

The first step of the wizard has direct download links for an Excel Template and a CSV Template with all supported columns pre-filled.

Supported columns

The import accepts:

  • Title (required)
  • Description, Excerpt
  • Status, Category, Section
  • Tags
  • Created Date, Estimated Date
  • Author Email, Assigned To
  • Voter Emails, Number of Votes
  • Prioritization (Impact / Confidence / Ease / Reach)
  • MoSCoW Priority
  • Version, Release, Platform
  • Published, Allow Comments
  • Jira Key, Azure Boards ID

You don't have to use all of them. The mapping step lets you ignore any column.

Column-name flexibility

You don't have to rename headers in your file. AI maps your column names to ProductLift fields automatically and suggests a mapping you can adjust before continuing.

Data formatting

  • Title -- max 255 characters.
  • Description -- markdown supported. Long descriptions are fine.
  • Status / Category -- match by name (case-insensitive). If a value doesn't exist in the target board, the wizard flags it and offers to create or map it (see Handling missing statuses and categories below).
  • Tags -- comma-separated. New tags are auto-created.
  • Dates -- YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.
  • Votes -- integer count only (e.g. 23, not 23 votes).
  • Author Email -- if it matches an existing user, the post is attributed to them.

Example CSV

title,description,status,category,tags,author_email,created_at,votes
"Add dark mode support","Users want a dark theme option.","Under Review","UI/UX","ui,design","customer@example.com","2026-01-10",47
"Export reports to PDF","Export analytics as PDF.","Planned","Reporting","export,pdf","admin@example.com","2026-01-12",23
"Slack integration","Notify Slack on status changes.","New","Integrations","slack","john@customer.com","2026-01-15",15

The import wizard

The import wizard has three steps. There used to be more screens (visibility, default-values, deduplication options); the flow was simplified into a single upload card, AI-driven mapping, and an inline preview.

Step 1. Upload + pick a board

  1. Open Settings → Import.
  2. Click Choose CSV or Excel file (or drag a file onto the box).
  3. Select an Import into board from the dropdown. Posts in this import will be created on this board, and any new statuses you create will be attached to it.
  4. Click Upload and Continue.

The Excel/CSV templates are available as download buttons on this same screen, plus a Show supported fields toggle that lists every column the importer recognizes.

Step 2. Column mapping (AI-assisted)

ProductLift sends your file to AI, which suggests how each of your columns maps to a ProductLift field. The mapping table shows:

  • Your Column -- the header from your file.
  • Maps To -- editable dropdown with every supported ProductLift field.
  • Sample Data -- a few example values from your file (use the chevron arrows to flip through rows).

Adjust any mapping you don't like, then click Continue to Preview. Title is required; other fields are optional.

Step 3. Preview, fix issues, and import

The preview screen shows:

  • A header counting how many posts will be created and into which board.
  • A list of posts with their parsed status, category, tags, votes, and dates.
  • Warning icons next to any rows referencing a status or category that doesn't exist on the target board.

Handling missing categories and statuses

If your file references categories or statuses that don't exist yet, panels appear above the preview:

  • Missing categories -- check each name to create it as a new category, leave it unchecked to import those posts as uncategorized.
  • Missing statuses -- per row, choose:
    • Create new -- name + color picker, will be created on the target board.
    • Map to existing -- pick an existing status to use instead.

Statuses you create here are auto-attached to the board you picked in Step 1, so the imported posts have somewhere to live.

Run the import

Click Import when the preview looks right. The job runs in the background and stamps every imported post with an import_batch identifier so you can find them all later.

When it finishes, you'll see a View Imported Posts link that takes you to All Posts filtered by the import batch. From there you can:

  • Spot-check a few posts.
  • Bulk-edit (status, category, tags) using the bulk action bar.
  • Bulk-delete the whole batch if you want to redo the import.

Handling import errors

Common issues

  • "Title is required" -- a row is missing a title. Fix in the source file and re-upload.
  • "Status not found" -- the target board doesn't have that status. Use the "Missing statuses" panel on the preview step to create it or map it to an existing one.
  • "Category not found" -- same as above, use the "Missing categories" panel.
  • "Invalid email" -- author/voter email isn't in valid format. Either fix it or remove the column; the post still imports without an author.
  • "Date format invalid" -- reformat your dates as YYYY-MM-DD in the source.
  • "Vote count must be a number" -- strip non-numeric characters (e.g. 23 votes -> 23).

Test before doing a big migration

For large migrations, import the first 5-10 rows as a separate test file first. Open a few of the imported posts to make sure dates, authors, statuses, and tags look right. If anything is wrong, fix the source and re-import the full file.

If you want to start over after a test, filter All Posts by the import batch and bulk-delete.

Migration tips

From Trello

  1. Export your Trello board to CSV.
  2. Mapping suggestions:
    • Card Name -> Title
    • Card Description -> Description
    • List Name -> Status
    • Labels -> Tags
    • Due Date -> Created At (or ignore)

From Jira

  1. Issues -> Export -> CSV in Jira.
  2. Mapping suggestions:
    • Summary -> Title
    • Description -> Description
    • Status -> Status
    • Issue Type -> Category
    • Labels -> Tags
    • Reporter -> Author Email
    • Created -> Created At

From UserVoice / Canny

  1. Export feedback to CSV from each tool's admin.
  2. Map their vote counts to Number of Votes so historical popularity is preserved.
  3. Map user emails to Author Email to attribute posts to existing users (if they share the same email).

API import alternative

For automated, ongoing, or very large imports (tens of thousands of posts) you can skip the wizard and use the API directly. See: