---
title: Conversation field values
summary: Each conversation keeps a value per field. The online admin, a person, the assistant or a program can set it, a value set by a person is not overwritten by the online admin, and Messages counts and filters conversations by values.
tools: [talemo_set_conversation_fields, talemo_list_conversation_fields, talemo_list_conversations, talemo_get_conversation]
related: [conversation-fields, remove-and-restore-fields, conversation-script, online-admin-follows-script]
search: [chat answers, lead data]
---

# Value of a field in a conversation

A conversation can hold one value for each [field](conversation-fields.md).
The shape of the value follows the kind of the field:

- choice: one option;
- list: several options of the field;
- number: a number;
- yes or no: yes or no;
- short text: up to 200 characters.

A value that does not fit the field is refused, and a removed field takes no new
values.

## Where the values are seen

- In a conversation, under **About the conversation**. Each value shows who set
  it and when: "online admin", "{name} via the assistant", "{name} via a program"
  or the person's name. The block also names the version of the chat steps that
  was in force ("Chat steps — the version of {date}").
- In the list of conversations, as filters and counts.
- In the CSV export, as columns (see
  [Exporting conversations](../conversations/export-conversations.md)).

## Who sets a value

A person on the web (**Correct** in About the conversation), the assistant at a
person's request, a program connected with a person's key, and the online admin
while it follows the script. Setting the same value again changes nothing. A button
the client pressed does not set the value by itself: the online admin reads the
answer and writes it. Setting values is a right at the branch level, and a role
limited to its own conversations sets them in those it is responsible for.

## A person's value wins

A value that a person set or cleared is not overwritten by the online admin. If
the online admin tries to change such a value, its whole call is refused, and the
conversation shows the value as it was: "A person set this field in the chat, so
the online admin leaves it as it is." Only a person clears a value, and a cleared
value shows as "cleared · name · when".

If the client later says something different, the new words stay in the
conversation and the field does not change. After saving a correction, Talemo says
that the online admin leaves what was set as it is.

## Counts and filters in Messages

**Field** in the filter bar of Messages ("Filter by field") narrows the list by a
field:

- options of one field are combined with "or", and different fields with "and";
- **Filled in** finds conversations with any value, and **Not answered** finds
  those without one, including values a person cleared;
- for a yes or no field the options are yes and no, and for a number or short text
  only filled in and not answered are offered.

The pop-up shows how many conversations chose each option under the other
filters. In the table of fields, **Filled in** counts the chats where the field has
a value. Both numbers count only the conversations that this person sees in the
list: a role that sees only its own conversations counts its own, and Spam is
counted only for roles that can see that category.

## The ad is a separate column

Messages also has an **Ad** filter and column. It is set from the first message of a
conversation that came from an Instagram, Facebook or WhatsApp ad, nobody fills it
in by hand, and the online admin does not see it.

## Tools and refusals

- `talemo_list_conversation_fields` names the fields and their options; `talemo_set_conversation_fields` sets or corrects the values of one conversation by key: `conversation_id` and `values`. The same value changes nothing.
- A value that does not fit the field is refused with `conversation_field.value_invalid`, a removed field with `conversation_field.retired`, and an unknown key with `record.reference_missing`, where `params.field` names it.
- A value a person set or cleared is the person's: the online admin does not change it, and its whole call is refused with `conversation.field_by_person`. Only a person clears a value. When the client later says something different, the new words stay in the conversation and the field does not change.
- `talemo_list_conversations` finds conversations by field values and by the ad they began with, and counts the options of a field. Options of one field combine with "or", different fields with "and"; **Filled in** and **Not answered** are two more choices. `talemo_get_conversation` shows each value with who set it, when, and by which run.
