Prepare your data
Inquio's analysis is only as good as the transcript you give it. A file can pass validation and still produce a misleading report card if button labels are missing, numbers are masked with asterisks, or utterances the bot failed to understand were stripped out before export.
This page covers the format Inquio requires and the content decisions that affect the quality of your results. Read it once before your first export, then use the checklist for every upload after that.
Before you export
- One row per utterance, from both the user and the bot
- Timestamps with millisecond precision
- Button clicks recorded as the text the user saw, not the technical payload
- Nothing masked with asterisks, you can use placeholders if needed
- Utterances the bot did not understand included exactly as written
- Each conversation contained entirely within one file
File format
- CSV
- UTF-8 encoded
- comma-delimited
- with a header row
Column order does not matter.
Required columns
| Column | Description | Format | Example |
|---|---|---|---|
| session_id | Unique identifier of the conversation. The format is up to you, but the value must be unique across every file you ever upload, not just within one file. | string | fda097fd0d5844f6b55ae7d58c90283f |
| utterance | The text of the message. User and bot messages go in separate rows. Must include the entire utterance, including buttons and graphical components. Markup can be any structured format: HTML, JSON, YAML. | string | Hello. How can I help? |
| timestamp | Date and time of the utterance, to millisecond precision. Time zone optional; UTC is assumed if omitted. | ISO 8601 YYYY-MM-DDTHH:MM:SS.sss±HH:MM | 2023-11-22T14:07:00.123+01:00 |
| channel | How the utterance was entered: VOICE (spoken), TEXT (typed), BUTTON (clicked). | Enum: VOICE / TEXT / BUTTON | TEXT |
| side | Who is speaking: USER or BOT. | Enum: USER / BOT | USER |
Optional columns
Any extra columns you include are ignored, with one exception: custom_meta is read and displayed in the app. Use it to carry anything you want visible alongside the conversation.
| Column | Description | Format | Example |
|---|---|---|---|
| custom_meta | Any parameter/flag of given utterance, such as thumbs up or down, client ID, etc. | string | success |
A complete example
session_id,timestamp,side,utterance,channel
cc145dc461eefd1ff1,2024-06-01T00:00:12.197,BOT,"Hello, I am your virtual banking assistant. How can I help you?",TEXT
cc145dc461eefd1ff1,2024-06-01T00:00:30.883,USER,"Hi, where are my account statements?",TEXT
Size limits
File size limits depend on your plan: 1 MB on Starter, 500 MB on Growth and custom size on Enterprise. Starter also caps a single dataset at 1,000 conversations covering no more than 30 days; on Growth and Enterprise neither cap applies. See Plans and limits.
Enterprise customers analysing data at this volume normally send it through the API rather than uploading files.
If your dataset is larger than your limit, split it into several files.
An oversized file is accepted rather than refused: Inquio keeps the oldest data that fits — on Starter, the first 30 days and at most 1,000 conversations — discards the rest, and notes on the report card that the data was truncated. An untrimmed two-month export therefore produces a card about the first month.
Before you upload
- CSV, UTF-8, comma-delimited, header row
- All five required columns present
- Both user and bot rows included
- channel is TEXT on every bot row
- Button clicks carry the visible label, not the payload
- No speaker prefixes, menu IDs, or launch metadata
- Masked values look realistic; ratings and feedback left intact
- Unrecognised utterances included verbatim
- Timestamps to the millisecond
- Every conversation contained in a single file
- File within your plan's size limit
Next step
Related
- Plans and limits
- CSV schema — the column table on its own, for quick reference
- When processing fails