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

If someone else pulls the data for you, give them this list:
  • 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

Your file must be:
  • CSV
  • UTF-8 encoded
  • comma-delimited
  • with a header row

Column order does not matter.

Required columns

ColumnDescriptionFormatExample
session_idUnique 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.stringfda097fd0d5844f6b55ae7d58c90283f
utteranceThe 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.stringHello. How can I help?
timestampDate 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:MM2023-11-22T14:07:00.123+01:00
channelHow the utterance was entered: VOICE (spoken), TEXT (typed), BUTTON (clicked).Enum: VOICE / TEXT / BUTTONTEXT
sideWho is speaking: USER or BOT.Enum: USER / BOTUSER

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.

ColumnDescriptionFormatExample
custom_metaAny parameter/flag of given utterance, such as thumbs up or down, client ID, etc.stringsuccess

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

Upload your first dataset

Related