A .csv file, comma-separated rather than semicolons, UTF-8, with a header row. Then Settings → Integrations → Import CSV and upload it.
01Prepare a CSV
02Map the columns
Annsa auto-detects the usual names:
- Feedback text:
feedback,text,message,content - Customer name:
name,customer_name,first_name,surname - Customer email:
email,customer_email - Revenue:
revenue_band,tier,plan,sku
Use the column mapper if yours differ.
03Large files
Over 10,000 rows an import can take several minutes, with a progress bar throughout. Splitting into files under 10,000 rows is more reliable.
04Import from Google Sheets
Connect Google Drive first — Sheets uses the same connection. Then Settings → Integrations → Google Sheets, pick the spreadsheet and sheet, preview, map and import. Good for NPS responses, survey data and support exports.
05Add one by hand
On Priorities, + Add → Add Feedback. Paste the text, optionally add a customer name, email and revenue (what they pay you, as a number).
06Send it programmatically
Authenticate with your API key from Settings → Integrations → Survey. Duplicates are skipped by text hash, same as CSV.
POST /feedback
{
"text": "The export is too slow on large datasets",
"customer_name": "Jane Smith",
"customer_email": "jane@example.com",
"revenue_band": 199,
"source": "api"
}
Or a batch:
POST /feedback
{
"items": [
{ "text": "...", "customer_email": "..." },
{ "text": "...", "customer_name": "..." }
]
}
See the API article for the full reference.
07Why customer fields are worth filling
| Field | Purpose |
|---|---|
| Name | Displayed in Customer Voice quotes |
| Sends the "we shipped it" notification | |
| Revenue | What the customer pays you — the input to revenue impact scoring |
| SKU / plan | Customer tier tracking |
08Undoing a CSV import
Click Undo on the completion screen and every item from that import is removed. It applies to the most recent upload only, and priorities and specs recalculate automatically.