# Track how a value changed across meetings, with the quote behind every change

> For anyone who keeps a table of facts from client meetings on Google Meet or Microsoft Teams and needs to show where each one came from: what a cell's history holds in a TrackHeros tracker, how each value is tied to the words said, why an older meeting never overwrites a newer value, how a confirmation differs from a change, and how to restore or undo a value.

Canonical: https://trackheros.com/blog/a-history-of-every-change-with-the-quote/  
Author: Sami Kanafani  
Updated: 2026-11-04

**In short:** Every cell in a TrackHeros tracker keeps its history. Each value records the Google Meet or Microsoft Teams meeting it came from, who said it, when, and the words they used, with links that open the transcript and recording at that moment. An older meeting read late never overwrites a newer value, a repeated value counts as a confirmation, and an earlier value can be restored.

| Fact | Detail |
| --- | --- |
| Each value records | The meeting, the speaker, the moment and the words used |
| Quote | Rebuilt from the stored transcript, never written by the model |
| Older meeting read late | Lands in history, labelled as older; the newer value stays |
| Same value said again | Recorded as a confirmation, not a change |
| Restore and undo | Any earlier value can be restored; an applied change can be undone |

A table of facts from client meetings is only as useful as your ability to say where each fact came from. This guide is for freelancers, consultants and project leads who keep such a table from Google Meet and Microsoft Teams calls, and who need to answer "who said that, and when?" without searching a transcript. It explains what the history behind each cell of a [TrackHeros tracker](/features/trackers/) holds, how values are tied to the words that produced them, and how to correct the record without losing it.

## What does a cell's history show?

Every value the cell has held, in order, each with the meeting it came from, who said it, when in the meeting, and the words they used. The current value is marked as current, and nothing earlier is thrown away.

Take a go-live date discussed on a weekly call with a fintech client:

| Meeting                 | Who   | Value    | Words used                                                      | Label       |
| ----------------------- | ----- | -------- | --------------------------------------------------------------- | ----------- |
| Weekly call, Tue 10 Feb | Priya | 3 March  | "We're aiming to go live on the third of March."                | first value |
| Weekly call, Tue 17 Feb | Tom   | 3 March  | "Still the third, nothing's changed there."                     | confirmed   |
| Weekly call, Tue 24 Feb | Priya | 17 March | "Staging came late, so realistically the seventeenth."          | changed     |
| Weekly call, Tue 10 Mar | Priya | 2 April  | "With payments sign-off slipping, call it the second of April." | changed     |

The table shows 2 April. The history shows how it got there: 3 March, then 17 March, then 2 April, and the reason for each move in the words of the person who moved it. A date that slides like this has its own guide, [track a date that keeps moving](/blog/track-a-date-that-keeps-moving/).

## Where does each value come from?

From lines in the transcript that the model has to point to. A value with no line behind it is dropped, and the quote you see is rebuilt from the stored transcript rather than written by the model.

That rule is what makes the history worth keeping. The model is told to fill only what the meeting actually says and to leave everything else empty, so a salary nobody mentioned stays blank rather than estimated. It can still be wrong, which is why changes wait for review by default, but every value it proposes can be checked against the sentence it came from. More detail is in [where a tracker value comes from](/answers/where-does-a-tracker-value-come-from/) and [does the tracker guess values that were not said?](/answers/does-the-tracker-guess-values-that-were-not-said/)

TrackHeros is an AI meeting notetaker that connects every Google and Microsoft calendar you hold, recognises close to 100 spoken languages on its own, writes the notes in nine of them, and keeps every client's notes in a sealed workspace of its own. Trackers read the same transcript as the notes, so a meeting held in Spanish, in Hindi or across two languages is read once its audio pass is done, and text values are written in the notes' language. The spoken languages are listed on [languages](/languages/).

## Can you jump to the moment a value was said?

Yes. Each value in the history links to the transcript at the moment it was said, and the recording jumps to the same point. Checking a value takes a few seconds of listening rather than a search through an hour of transcript.

This matters most when the value is disputed. "You said the 17th" is an argument; the sentence, the speaker and the timestamp settle it. Recordings play inside the app over short-lived links, so following a value back never needs a public URL.

## What happens when an older meeting is read after a newer one?

Its value lands in the history, labelled as older, and the table keeps the newer value. An older meeting never overwrites a newer one, whatever order the meetings are read in.

This comes up more often than it sounds. A tracker created today can read your recent past meetings in scope, oldest first, but you can also send last week's meeting to it by hand after this week's has already been read. In both cases each value is placed at the meeting it came from, not at the moment it was processed. If last week's call said 17 March and this week's said 2 April, the table says 2 April and the history shows both in the order they were said.

If you accept an older value from the review queue, it is recorded in the history and the table still keeps the newer one. Making the older value current is then a deliberate choice, made by restoring it.

## How is a confirmation different from a change?

A confirmation is the same value said again; a change is a different value. A confirmation is recorded in the history with its meeting and date, but it does not change the cell or need review.

The difference keeps the table honest in two ways. The quote shown for the cell stays the sentence where the value was set, not the latest echo of it, so you can always find the moment a decision was made. And the filter for rows changed several times counts only real changes, so a deadline repeated at every standup does not look unstable when it has not moved once.

Columns can also follow a different rule. A column set to keep the first value, such as the date a client first asked for something, treats a later different value as a conflict for you to decide rather than a change, and both values stay in the history. [What happens when two meetings disagree](/answers/what-happens-when-two-meetings-disagree/) covers conflicts in full.

## How do you restore an older value or undo a change?

From the cell's history panel. Restoring makes an earlier value current again, recorded as a person's choice; undoing takes back a change the AI applied. Neither deletes anything: both are recorded in the history.

| You want to                          | Do this               | What the history shows                          |
| ------------------------------------ | --------------------- | ----------------------------------------------- |
| Go back to an earlier value          | Restore it            | The earlier value, now current, set by a person |
| Take back a change applied by the AI | Undo it               | The change, marked as undone                    |
| Put in a value no meeting gave       | Edit the cell by hand | Your value, set by a person                     |
| Stop a wrong value returning         | Reject or undo it     | It stays rejected when the meeting is re-read   |

An undone or rejected value does not come back when the same meeting is read again. A cell you edit by hand is protected: later changes to it from meetings wait for your review rather than replacing your value. More on each in [undo a tracker change](/answers/undo-a-tracker-change/) and [edit a tracker cell by hand](/answers/edit-a-tracker-cell-by-hand/).

## Can you take the history out of TrackHeros?

Yes. The current table and the full history, with the quote behind every change, can be downloaded as CSV and opened in Excel or Google Sheets. Export is not on every plan; [pricing](/pricing/) says which.

A history file is useful at the end of a project, or when a client's new manager asks how a date got to where it is. Deleting a tracker deletes its table and every value and quote in it, deleting a client deletes its trackers, and deleting your account deletes everything; how long backups are kept is on the [privacy section of the homepage](/#privacy). For decisions in particular, the [decision log guide](/blog/decision-log-for-client-projects/) explains why an append-only record is the one people trust, which is the same reason a tracker's history is added to rather than rewritten.

## Frequently asked

**Can a tracker value appear without a quote?**

Not from a meeting. A value the model cannot point to in the transcript is dropped, and the quote you see is rebuilt from the stored transcript. Values you type yourself are marked as set by a person instead.

**Does restoring an older value delete the newer one?**

No. Restoring makes the older value current again and records that a person chose it. The value it replaced stays in the history with its own quote.

**Does rewriting the notes in another language change the history?**

No. Regenerating a meeting's notes in another language does not re-read the meeting for its trackers, so the values and their history stay as they were.

---

TrackHeros is in early access: https://trackheros.com/#early-access
