The Scenario
You're a customer success manager who spent the last two weeks collecting feedback from 120 Zendesk tickets into a Google Sheet — customer email in column A, feedback text in column B, feature name in column C. The feature prioritization meeting is Friday. If those notes aren't in Productboard and linked to the right features before then, the product team is going to prioritize based on incomplete signal. They've told you three times that notes in a spreadsheet don't count.
The bad version:
- Open Productboard, click "Add note," paste the feedback text, type the customer email, search for the feature name, link it, click save. Repeat for note 2.
- By note 12 you've started abbreviating. By note 30 you've stopped linking to features entirely because the search is slow.
- You finish 60 of the 120 and send a Slack message saying "I got halfway through, the rest are in the sheet."
The product team has a prioritization model that only works if the notes are actually in Productboard. Doing this in two sittings, or three, isn't a failure of discipline — the task just wasn't designed for a human to execute at this scale.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the data in your sheet and talks to Productboard for you through its built-in integration. Open the SheetXAI sidebar and describe what you need.
For each row in columns A through C — customer email in A, feedback text in B, feature name in C — create a Productboard note using the v2 API and paste the returned note ID into column D
What You Get
- A Productboard note created for every row, with the feedback text and customer email linked as entered.
- Each note linked to the named feature in Productboard (SheetXAI resolves the feature name to its ID).
- The returned note ID written into column D so you have a record of every import.
- Any rows that failed (feature name not found, API error) flagged with the error message in column D instead of an ID.
What If the Data Is Not Quite Ready
The customer emails aren't verified addresses
For each row in columns A through C, create a Productboard note with the feedback text from column B. If the email in column A contains no "@" symbol, use "unknown@placeholder.com" as the customer email and mark column E "email-missing"
The feature names don't match Productboard exactly
Before importing, list all Productboard feature names and write them into Sheet2 column A, then for each row in Sheet1 column C, find the closest matching feature name from Sheet2 and write the matched name into Sheet1 column D. I will review column D before confirming the import.
Some rows are duplicates from different ticket exports
Before creating notes, check columns A and B together — if the same customer email and feedback text appear more than once, skip all but the first occurrence and mark the duplicate rows "skipped-duplicate" in column E
The full cleanup-and-import chain
Check column B for any feedback text shorter than 10 characters and mark those rows "too-short" in column E. For the remaining rows, resolve each feature name in column C against Productboard's feature list, then create notes for all matched rows and write the note ID into column D. Anything that didn't match a feature, mark "feature-not-found" in column E.
The pattern throughout: combine the data validation and the import into one ask rather than cleaning first and importing second.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet where you've collected customer feedback — from Zendesk, Intercom, support tickets, or sales calls — then ask SheetXAI to push it all into Productboard in one shot. You can also see how this connects to exporting your feature roadmap or the hub overview.
