Skip to main content

Data Format Overview

TurnWise uses a hierarchical JSON format to represent AI agent conversations. This format captures the full context of conversations including messages, tool usage, and agent reasoning.

Structure

Dataset (top level)
├── conversations[] (required)
│   ├── name (optional)
│   ├── description (optional)
│   ├── agents[] (optional)
│   │   ├── name
│   │   ├── description
│   │   └── tools{}
│   └── messages[] (required)
│       ├── role (required)
│       ├── content (optional)
│       └── steps[] (optional)
│           ├── model_name
│           ├── thinking
│           ├── tool_call
│           ├── tool_result
│           └── output_content

Minimal Example

The simplest valid TurnWise file:
{
  "conversations": [
    {
      "messages": [
        {
          "role": "user",
          "content": "Hello"
        },
        {
          "role": "assistant",
          "content": "Hi there!"
        }
      ]
    }
  ]
}
Note: Message order (sequence_number) and step order (step_order) are automatically inferred from array positions.

Required vs Optional Fields

Required Fields

FieldLevelDescription
conversationsRootArray of conversation objects
messagesConversationArray of message objects
roleMessageOne of: user, assistant, system, tool

Optional Fields

FieldLevelDescription
nameConversationHuman-readable name
descriptionConversationDescription text
agentsConversationAgent definitions
contentMessageMessage text content
stepsMessageProcessing steps
thinkingStepModel’s reasoning
tool_callStepTool invocation
tool_resultStepTool output
output_contentStepFinal output
metaAll levelsCustom metadata

The meta Field

Every level supports an optional meta field for storing custom data:
{
  "conversations": [
    {
      "name": "Support Chat",
      "meta": {
        "customer_id": "cust_123",
        "session_id": "sess_456",
        "channel": "web"
      },
      "messages": [...]
    }
  ]
}
This data is preserved but not used by TurnWise evaluations unless referenced in custom metrics.

Next Steps