Uploading an Existing Dataset
If you have already collected feedback outside BAI Analytics (survey exports, support-ticket dumps, interview transcripts, document libraries, or call recordings) you can upload it directly into a Feedback Group. The platform parses your files, infers what each column or section means, runs the same analysis as native surveys, and lands the result in your dashboards within minutes.
This page covers the upload flow end-to-end: supported formats, column mapping, document and audio ingest, whole-folder imports, and what happens after import.
For other ways to bring feedback in, see Creating a Survey, Connecting a platform, and Web scraping. For the container that holds uploaded data, see Feedback Groups.
When to upload
Use the upload flow when:
You have historical data in spreadsheets you want to analyse alongside new feedback.
You have a batch of spreadsheet exports (one file per wave, store, or region) that share the same columns.
You have interview transcripts (text or JSON) and want them clustered into themes.
You have a stack of documents (PDFs, Word files) that contain qualitative feedback you would otherwise have to read manually.
You have call recordings or interview audio, from a single voice memo to a whole folder of field recordings, and want them transcribed and analysed automatically.
You exported responses from another survey tool and want to keep tracking them in BAI Analytics.
Uploads land inside a Feedback Group as a source, so they participate fully in cross-source analytics, Grouped Themes (previously called Super-Themes), Custom Monitoring, and reports.
Supported file types
BAI Analytics accepts three broad classes of files, plus whole folders.
Structured files (column-mapped)
Microsoft Excel
.xlsx, .xls
Multi-sheet workbooks supported; you pick which sheet to import.
Comma-separated values
.csv
UTF-8 recommended; other encodings auto-detected.
Structured files go through the mapping flow: BAI Analytics shows you a preview of your columns and suggests a question type for each, which you can review and adjust before importing.
Select several Excel or CSV files at once (or a folder of them) and BAI Analytics switches to the Import spreadsheets flow: you map the columns once, and each file becomes its own source in the group. See Importing a batch of spreadsheets below.
Document files (auto-extracted)
.pdf
Text-based PDFs; scanned/image-only PDFs are not OCR'd. Speaker detection supports transcripts.
Word documents
.docx
Tables and lists preserved. Speaker detection supports transcripts.
JSON interview transcripts
.json
One conversation or thousands per file; the shape is detected automatically. Speaker roles are read from the file; supports common call-centre and meeting-tool exports.
Document files skip column mapping and go through an AI conversion step that extracts question-and-answer pairs (or theme/evidence pairs for free-form transcripts) before being analysed like any other upload.
Files are checked by their actual content, not only their extension. A file whose contents do not match its name (for example a spreadsheet renamed to .pdf) is rejected with a clear message instead of being imported badly.
Audio (auto-transcribed)
Upload call recordings or interview audio (.mp3, .wav, .m4a, .aac, .flac, .ogg, .opus, .amr, .caf) through the same upload dialog as any other file. BAI Analytics transcribes each recording automatically, with speakers separated, then runs the transcript through the same analysis as a document upload. Long recordings are handled automatically, so there is no need to split a call in advance, and a single-speaker monologue is broken into passages rather than collapsing into one response.
You can select one recording or many: a multi-recording selection becomes one merged source, with a Source column tracking which recording each row came from. See Audio uploads in detail below for the recording options.
Whole folders
Click Import a whole folder (or drag a folder onto the upload area) to import everything inside it in one action. Subfolders are kept as metadata, so a folder organised by segment or site stays segmentable after import. See Importing a whole folder below.
Limits
File size: up to 500 MB per file. Large files are uploaded directly to cloud storage in chunks, so a slow network does not force a restart.
Columns: up to 1,000 columns per spreadsheet. Beyond that, the mapping table becomes unwieldy in the browser.
Rows: no hard cap; very large files just take longer to process.
Documents per upload: up to 30
.pdf/.docxfiles in one selection. They are merged into a single source with a Source column tracking which file each row came from.Recordings per upload: up to 200 audio files, 10 GB combined, in one selection or folder.
Spreadsheets per batch: up to 20 Excel/CSV files, 500 MB combined, when importing several spreadsheets at once.
In-depth thematic analysis: available for uploads of up to 50 documents, conversations, or recordings; larger uploads use one response per source (see Choosing how conversations become rows).
The upload flow
The flow has up to four steps, depending on what you upload. Single-sheet files skip step 2; documents and audio skip steps 2 and 3.
Step 1: Upload your file
Open the Feedback Group you want the data to land in.
Click Upload File.
Drag-and-drop your file into the upload area, or click to pick from your device. To import a folder, click Import a whole folder or drag the folder onto the upload area.
Files start uploading immediately. Large files use a resumable upload session, so the progress bar reflects real bytes-on-the-wire rather than waiting for the whole file to finish. If a brief network blip interrupts one file of a multi-file selection, the upload retries it; if it still cannot be transferred, that file is left out and named in the completion notice while the rest go through.
Step 2: Pick a sheet (multi-sheet Excel only)
If your workbook contains more than one sheet, BAI Analytics shows Choose a sheet. Select the sheet that holds your feedback data and continue. Single-sheet workbooks skip this step automatically.
Step 3: Review the column mapping
BAI Analytics scans the first rows of your file and auto-suggests a question name and type for every column, using both the column header and a sample of the values. Each column gets dropdowns so you can confirm or override the suggestion, and a confidence label (high, medium, low) with a Why? link explaining the choice.
See Column mapping in detail below for the full list of question types and how the AI inference works.
Step 4: Confirm the details
Fill in:
Upload Name: required. Used to identify this dataset inside the Feedback Group; pick something descriptive (e.g. "Q1 2026, Customer Satisfaction Export"). For a folder import, the folder name is filled in for you.
Selected File: read-only confirmation of which file (or how many files) is about to be imported.
The step also shows the language the group's AI summaries will be written in ("AI summaries for this group will be generated in French"), with a change link that opens the group's analysis-language setting. Check it before a large upload: it is set at the Feedback Group level and applies to every source in the group.
If the group tracks feedback over time, a When did this feedback happen? panel asks how to place the responses on the timeline; see Dating responses in time-tracking groups below.
If the destination Feedback Group has monitors with Auto-cover new sources switched on, this step also lists which of them will watch the uploaded data. There is nothing to configure: coverage is automatic, and detection runs as part of the first analysis. To change what's monitored, use the group's Manage monitoring panel; see Custom Monitoring.
Click Upload Survey to start the import.
Column mapping in detail
This is where the platform learns what your spreadsheet actually contains.
Available question types
Long Answer
Detailed open-ended responses (the columns the AI will analyse for themes and sentiment).
Short Answer
Brief free-text: names, one-line comments, identifiers.
Multiple/Single Choice
Columns where each cell is one of a small set of values (Yes/No, satisfaction labels) or several values separated by commas or pipes.
Rating/Scale
Numeric ratings on a custom range (1 to 5, 1 to 7, 1 to 10 outside NPS).
NPS (0-10)
The standard 0 to 10 likelihood-to-recommend column.
Metadata (Context)
Context columns that should not be analysed but should be available for segmentation: IDs, timestamps, demographics, channel, country.
The richest analytical signal comes from Long Answer columns; metadata columns power segmentation in the analysis view.
Above the table, Where does your data start? lets you point at the row holding your column names and the first data row when a file has a title block above the headers. The Ignore empty columns toggle (on by default) hides columns where every cell is empty; turn it off to keep them, in which case they are imported as Metadata.
How auto-mapping works
The auto-mapping is driven by AI, backed up by a few reliable rules:
AI inference reads the column header and a sample of the values for context, then proposes a type.
Pattern recognition catches clear cases the AI sometimes misses, for example, columns whose values are only Yes / No / True / False are treated as Multiple/Single Choice, and headers like "Reason for…", "Tell us about…", or "Comments" with sentence-length answers are treated as Long Answer.
Multilingual support: BAI Analytics recognises common patterns in English, French, and Spanish, so a column called "Pourquoi recommanderiez-vous…" is auto-detected as a long-answer free-text column without needing manual review.
Conservative default: columns the AI cannot confidently classify default to Metadata (Context), which is non-destructive: they will not be analysed, but their values are still imported and remain available for segmentation.
Required fields
Before you can finalise the mapping, BAI Analytics checks that:
The upload has a name.
Every column has both a question name and a question type.
The file contains at least one row of data.
If any of these fail, the validation dialog tells you exactly which columns to revisit. You can fix the mapping in place and continue without re-uploading the file.
Changing a type after import
A mis-mapped column no longer means deleting the source and starting over. In the analysis view, open the question's 3-dots menu and choose Change type to convert it in place (for example Metadata to Long Answer, or Rating/Scale to NPS). The dialog lists the types the data actually fits and warns about anything downstream that references the question. See Analysing results for details.
Tips for clean mapping
Use clear, human-readable column headers before uploading. "Q1_LongAns" gives the AI nothing to work with; "Why did you choose this option?" is unambiguous.
Split combined fields into separate columns. A single "Major, Semester" column should be two columns (Major and Semester) so each can be mapped independently and segmented separately.
Use standardised date formats (
YYYY-MM-DDor your local long format). Excel serial-number dates are detected and converted, but consistent formatting reduces edge cases.Map internal columns as Metadata (Context) rather than deleting them. That way you keep one master file, the values stay available as filters, and nothing is analysed that shouldn't be.
Identifiers stay consistent across uploads if you intend to update or join data later.
Dating responses in time-tracking groups
When the destination group tracks feedback over time, the details step shows When did this feedback happen? with two options:
Each response has its own date: pick the Date column from your file. BAI Analytics pre-selects the most likely column by checking both the header (in English, French, or Spanish: Date, Horodatage, Créé le, Fecha de envío) and whether the cells actually parse as dates, so a column such as Candidate or Date of birth is never picked by mistake. The suggestion is refreshed if you change the mapping or switch sheets. A preview shows the date range found, how many rows are dated, and how many will fall back to today. Use Day comes first (e.g. 03/04 = 3 April) if your dates are written day-first.
It's all from one time period: for a closed survey or a one-time snapshot, pick a single date (defaults to today). Every response is placed in the period containing that date.
If no date column is detected, the panel says so and offers the single-period option; to date each response individually, add a column named Date formatted as YYYY-MM-DD and re-upload.
If the date column you chose cannot be found in the file at upload time, the import stops with a clear error instead of silently stamping every row with the upload date. Pick the column again and retry.
Document and transcript ingest
When you upload a .pdf, .docx, or .json interview file, BAI Analytics bypasses column mapping and runs an AI conversion step instead.
Documents (PDF, DOCX)
The system extracts text from the document and detects speakers in transcript-style files. Where the file is structured as question-and-answer pairs, BAI Analytics preserves that structure during import. The output then runs through the same theme-and-sentiment analysis as a normal upload.
PDFs must be text-based. Image-only or scanned PDFs are not currently OCR'd; convert them to searchable PDFs first.
Speaker roles
When speakers are detected in a transcript, the details step shows an optional Speaker Roles section where you can assign a role to each speaker (e.g. Interviewer, Customer). For a multi-document upload the list covers every speaker found across the files.
Whether or not you assign roles, BAI Analytics works out who is asking the questions and keeps the interviewer's speech out of the analysed text and out of quotes. The interviewer's turns stay in the full-text evidence so the transcript still reads as a conversation, but themes, sentiment, and verbatims are built from what the participant said.
Multi-document upload
Drop multiple .pdf or .docx files at the same time and BAI Analytics processes them in parallel, then merges the results into a single source. A Source column on every imported row tracks which document the text came from, so you can segment the analysis by document.
This is useful for things like:
A library of customer interview write-ups (one Word doc per interview).
A folder of feedback emails or letters exported as PDFs.
A set of focus-group transcripts.
Tagging each file with metadata
For any multi-file upload (documents or recordings), the details step offers Add metadata per file (optional). It opens a small grid with one row per file where you can add columns such as Region, Store, or Team and fill in a value for each file. Columns can be renamed in place; the name Source is reserved because it is added automatically. These tags become filters in the analysis, exactly like Metadata columns in a spreadsheet.
JSON conversation exports
For transcripts produced by call-centre tooling or meeting platforms, BAI Analytics accepts JSON exports, and a single file can hold one conversation or thousands. On upload, the file's shape is detected automatically: a single conversation, an array of conversations, or a dictionary of conversations keyed by ID. Speakers are detected and their labels preserved, so the analysis can distinguish what the participant said from what the interviewer said.
Very large transcripts are supported, and consecutive turns from the same speaker are merged so the AI sees full statements rather than fragmented utterances.
Two edge cases are rejected with a clear message rather than imported badly: tabular JSON (plain records rather than conversations) should be converted to Excel or CSV and uploaded through the mapping flow, and a mixed bundle of JSON plus Word/PDF files should be split into two uploads.
Choosing how conversations become rows
When an upload contains two or more conversations, documents, or recordings, the details step asks How should we analyze these sources? and offers two modes:
In-depth thematic analysis: the AI breaks each source into thematic passages, one row per passage. Best for a handful of interviews or documents; available for uploads of up to 50 sources.
One response per source: each conversation, document, or recording becomes a single response, summarised during analysis. Best for large batches.
BAI Analytics marks one of them Recommended based on the size of the upload (in-depth for ten sources or fewer, one response per source above that), but the choice is always yours within the limits. Single-conversation and single-document uploads skip the choice entirely.
Joining a metadata sheet
Upload an Excel or CSV lookup sheet together with a JSON export and BAI Analytics joins the sheet's columns onto the conversations as metadata. In the Link the metadata sheet section, pick the key on both sides (an ID, phone number, or email that appears in both files); matching is exact, ignoring case and surrounding whitespace. The joined columns land as segmentation metadata on each conversation, and a column whose name collides with an existing field gets a "(sheet)" suffix.
This is how you attach CRM context (region, segment, agent, satisfaction score) to raw conversation exports in one pass, with no manual re-keying.
Audio uploads in detail
Audio goes through the same wizard as documents: select the recordings (or a folder of them), name the upload, and confirm.
Recording options
The details step shows a Recording options section for audio. Both settings are optional and apply to every recording in the upload:
Recording language: defaults to Auto-detect, which works well for most recordings. Set the language explicitly when it is hard to detect: a short clip, a noisy room, or a conversation that mixes languages. Around a hundred languages are available.
Enhanced transcript cleanup: off by default. Adds an extra pass that fixes speaker attribution (answers welded onto the interviewer's turn, phantom speakers) and improves transcription accuracy, and holds background announcements out of the analysis. It also enables a stricter language check: if a recording's language is unclear, the recording is re-examined in several segments before transcription. Recommended for noisy field recordings; it adds a few minutes of background processing per hour of audio.
Several recordings at once
Select several recordings in one go and BAI Analytics transcribes them in parallel and merges them into one source, with a Source column naming the recording behind each row. The per-file metadata grid and the processing-mode choice work exactly as for documents: In-depth thematic analysis for a small batch of interviews, One response per source (one row per recording, the whole transcript in that row) for large batches.
Recordings cannot be mixed with other file types in the same upload; select them on their own.
When a recording cannot be transcribed
In a multi-recording upload, a recording that fails (a corrupt file, or a language that cannot be determined even after the segment check) is skipped and named in the completion notice while the rest go through. If a recording is skipped for an unclear language, re-upload it with Recording language set explicitly.
Importing a whole folder
Click Import a whole folder in the upload step, or drag a folder onto the upload area, to import its contents in one action instead of selecting files by hand.
What gets imported: audio recordings, Word/PDF documents, or Excel/CSV spreadsheets. If the folder mixes types, a chooser shows the categories present with their counts (Audio recordings (135), Word/PDF documents (12), Excel / CSV files (4)); one import handles one type, and the rest is left out and listed. Hidden and system files are ignored, and unsupported files are summarised.
Subfolders become metadata: one level of subfolders adds a Folder column, two levels add Folder and Subfolder, pre-filled in the per-file metadata grid and editable there. A folder organised like
Interviews/Premium/Terminal 1/…therefore arrives already segmentable by Premium and Terminal 1. Deeper levels are ignored.Naming: the folder name is used as the upload name (you can change it). Two files with the same name in different subfolders are kept apart automatically.
Limits: the usual per-upload caps apply (200 recordings and 10 GB combined for audio, 30 documents, 20 spreadsheets). An oversized folder is refused before any transfer starts.
Folder import is built for field studies: a study delivered as 135 recordings in segment subfolders goes in as a single upload, with the segments ready as filters.
Importing a batch of spreadsheets
Select several Excel or CSV files at once (or a folder of them) from inside a Feedback Group and BAI Analytics opens Import spreadsheets. Each file becomes its own source in the group, and you only map the columns once.
Review files
Check the list. For a multi-sheet workbook, choose the Worksheet to import; if the column names are not on the first row, pick the row they are on. Remove any file that should not be part of the batch.
Map columns
Map the first file's columns with the usual column editor. These question names and types become the mapping reference for every file in the batch.
Preview and column matching
Columns in the other files are matched to the reference by name, not position, so reordered columns are fine and extra columns are simply left out. A file whose columns do not match is marked Needs attention; open Fix column matching to pick the right column for each question, or remove the file.
Source names and dates
Give each source a name (the file name is proposed). In a group that tracks feedback over time, either choose a shared date column under Response dates or turn on Set a date for each file and pick a Feedback date per file. Then click Create N sources.
Files upload one after another with a status per file (Uploading, Upload accepted · Processing in background, Source created). Keep the window open until every file is accepted; accepted files continue processing in the background and their notifications track completion. If a file is not confirmed, Retry resends only the unconfirmed ones, so nothing is imported twice. If you hit the upload limit mid-batch, the dialog waits and resumes on its own.
A batch holds up to 20 files and 500 MB combined. To import a single spreadsheet, or a spreadsheet that needs its own mapping, use the standard single-file flow.
What happens after import
Importing is the start, not the finish. Once the file is in, BAI Analytics runs an automatic process that:
Cleans the text: removes stray control characters, normalises encoding, and strips obvious noise.
Redacts personal data if PII redaction is enabled for your organisation or for the Feedback Group: emails, phone numbers, card and account numbers, and other configured patterns are replaced before anything is stored, so the original values are never kept. There is nothing to do in the upload wizard; the setting is managed at organisation or group level.
Detects the language of each response (which can differ from the group's analysis language for mixed datasets).
Scores sentiment for every open-ended answer.
Detects themes by clustering similar answers and labelling each cluster.
Runs Custom Monitoring for every group monitor that covers the new source (see Custom Monitoring).
Enriches metadata: source provenance, timestamps where inferable.
A progress toast in the corner of the screen tracks the analysis through each stage. You can keep working while it runs; when processing completes, the source appears in the Feedback Group's source list and the Open analysis link becomes active.
If the analysis fails part-way (rare: usually a malformed cell or a network blip), the toast reports the error and you can re-upload the file once the underlying issue is fixed.
Validation, errors, and recovery
Errors that block import
These stop the import outright; you must fix them before continuing:
Incomplete mapping: a column is missing a question name or a question type. Use the dropdowns in the mapping table to complete it.
Empty file: no rows of data after the header.
Bad encoding: the file is not in a text encoding the parser recognises. Re-export as UTF-8.
Corrupted or password-protected file: re-export without the password.
File over 500 MB: split into smaller files or remove unused columns.
Too many columns: more than 1,000 columns. Remove the extra columns and try again.
Date column not found: the date column chosen for a time-tracking group is missing from the uploaded file. Pick the column again and retry.
Content does not match the extension: the file is not what its name says it is. Re-export it in the right format.
Mixed file types in one selection: recordings, Word/PDF documents, and spreadsheets each go in their own upload (a JSON export may be accompanied by one metadata sheet).
Warnings (non-blocking)
These let you continue but call out potential issues:
Sparse rows: many empty cells. The import proceeds; affected rows simply contribute less signal.
All-empty column: hidden by default; if kept, it is imported as Metadata.
Files left out: in a multi-file upload, a file that could not be transferred or a recording that could not be transcribed is skipped and named in the completion notice; the rest of the upload goes through. Re-upload the skipped files on their own.
Recovery
If the validation dialog catches an issue, you can fix the mapping in place and retry without re-uploading. The file stays parsed in memory between attempts, so corrections are quick.
Best practices
Clean column names before uploading. "How likely are you to recommend us?" gives the AI a much stronger signal than "Q4_NPS". The five minutes you spend tidying headers saves you ten minutes of mapping review.
Keep one column = one variable. Compound columns like "Major, Semester" should always be split into separate columns.
Standardise dates and identifiers. A consistent ISO date and a stable user/email column keep cross-upload joins clean, and a column named Date in
YYYY-MM-DDis always detected in time-tracking groups.Map unused columns as Metadata, don't delete them. Keeping the master file intact makes future re-uploads predictable.
Check the group's analysis language before a big upload. It is shown on the details step; mismatched language degrades summary quality more than people expect.
Use multi-file or folder upload for qualitative libraries. Don't manually concatenate ten interview docs into one; drop them all in and let BAI Analytics keep the source attribution and the folder structure.
Organise recordings in subfolders by segment before a folder import. Each level becomes a filter, which is far quicker than tagging files one by one.
Leave audio options on their defaults unless a recording is difficult. Turn on Enhanced transcript cleanup for noisy rooms or interviews where speakers talk over each other, and set Recording language only when auto-detection has struggled.
Set up group monitors before big uploads. Monitors with auto-coverage on watch a new upload from its first analysis pass, so the signals you care about surface immediately, with no re-run.
Match the upload to the right Feedback Group. Uploading into Individual Surveys is fine for a one-off, but a recurring dataset belongs in a custom group so it can be tracked over time.
Last updated