Conversation result field types
The conversation result schema is the YAML that tells an agent which data to extract from each conversation. You edit it in the Conversation result section of an agent in Advanced mode. Each entry is one field, and its field_type sets the kind of value the agent records.
This page lists the field types you can use in field_type. For the rest of the entry — field_name, field_description, field_title, and kind — see Define conversation results.
How field_type works
Every field is one list item with a kind of FormInfoField. The field_type key is optional: when you omit it, the field is treated as text.
- field_name: HumanFullName
field_description: The name of the human
field_title: Name
field_type: str
kind: FormInfoField
The agent fills the field from what the customer says and stores the value in the type you declared. Choose the type that matches how you will use the value later: a number you want to compare, a boolean you want to branch on, or a fixed choice you want to count. A looser type than the data needs (for example, free text where a fixed list would do) is harder to filter and aggregate.
Field types
field_type | Captures | Example value |
|---|---|---|
str (or string) | Free-form text. The default when field_type is omitted. | John Smith |
int | A whole number. | 42 |
bool (or boolean) | A true/false flag. | true |
date | A calendar date. | 2026-02-15 |
datetime | A date with a time. | 2026-02-15 14:30 |
list[str] | A list of text values that the agent can append to during the conversation. | ["billing", "delivery"] |
Literal[...] | One value from a fixed set you define. | PROMISED |
Text
Text is the default. Use it for names, free-form notes, summaries, and anything that does not fit a stricter type. If you leave field_type out, the field is text.
- field_name: ConversationSummary
field_description: Running summary of the conversation. Update after every message from the human.
kind: FormInfoField
Number
Use int for a whole number the customer states — a quantity, a count, or a rating on a numeric scale.
- field_name: PartySize
field_description: Number of people in the booking
field_type: int
kind: FormInfoField
Boolean
Use bool (or boolean) for a yes/no fact you want to filter or branch on later, such as whether the customer agreed or confirmed something. Describe the condition in field_description so the agent knows when the value is true.
- field_name: IsClientSatisfied
field_description: True or false flag for whether the client is satisfied by the conversation
field_type: bool
kind: FormInfoField
Date and date-time
Use date for a calendar date and datetime when the time of day matters — for example, a promised payment date or a scheduled callback.
- field_name: PromisedPaymentDate
field_description: Date the payment is promised. Leave empty if no date is given.
field_type: date
kind: FormInfoField
List
Use list[str] when the field can hold several values that grow over the conversation — for example, topics the customer raised or questions the agent could not answer. Note in field_description that the list is appendable.
- field_name: InterestTopics
field_description: List of topics the customer is interested in. An appendable list of strings.
field_type: list[str]
kind: FormInfoField
Fixed choice
Use a Literal type when the value must come from a fixed set of options. The agent picks one of the listed values instead of writing free text, which keeps the data consistent and easy to count. List the allowed values in square brackets:
- field_name: ProspectStatus
field_description: Outcome status for the prospect
field_type: Literal["PROMISED", "NOT_INTERESTED", "NOT_ABLE", "DECLINED"]
kind: FormInfoField
Short codes also work — for example, a two-letter language code:
- field_name: CurrentLanguageCode
field_description: The language the customer used in their latest message, as a 2-letter code. Default is es.
field_type: Literal[es, en]
field_content: es
kind: FormInfoField
Optional keys that work with any type
These keys are optional on any field, regardless of its field_type:
| Key | What it does |
|---|---|
field_content | A starting value for the field before the conversation fills it — for example, a default language code. |
hidden | When true, keeps the field out of the displayed results while the agent still collects it internally. Defaults to false. |
llm_editable | When false, the agent cannot change the field after it is set. Defaults to true. |
Where the collected values appear
After a conversation, the value of each field shows up wherever sessions are reviewed:
- The Session results block of the Parameters & results panel on the Sessions screen — one entry per configured field. (The neighboring Session parameters block is different: it shows the context the session started with, not what the agent collected.)
- The customer's profile in 360 View.
- The Results tab in the Playground while you test the agent.
- The public API, which returns a session's collected results so you can send them to a CRM or other system.
The field_title you set is the label shown in these places; without it, the field_name is used.
Related pages
- Create an Agent in Advanced Mode — where the conversation result schema is edited
- Sessions — review collected results per session
- Flow nodes — campaign conditions that test these values