Skip to main content

Updated Oct 8, 2026Verified against the product Oct 8, 2026

Model history

Model history is the record of every change to a data model: who made it, when, why, and what changed. Use it to review an edit, to see what a model looked like before it, or to put the model back after a change that didn't work out.

How it works​

Each save that changes a model's definition records a version. The definition is the model's name, description, whether it is active, its connection, its query and data source options, its mappings, and its joins. A save that changes none of these records nothing. Deleting a model records a final version, so the history shows when it was removed.

Changes made in the product, by an AI assistant through the MCP server, and by FunnelStory itself are all recorded, and the history says which. A model that existed before history was introduced has no versions until its next change. When it changes, the definition it had before is kept as its first version, shown as made by FunnelStory.

The newest version is the one that is running. It is marked Running, unless the model is a draft or has been deleted, since neither is running.

Opening the history​

The Data Models list shows Changed 3 hours ago by Jane under Refreshed on each model that has a recorded version. Click that line to open the model with its history showing.

On the model's Configure page there are two ways in:

  • Click History at the top right.
  • Click the Changed … by … line in the details card on the right.

Hover a time to see the exact date and time.

Reading the history​

The history opens in a panel, newest version first. Each row shows:

PartWhat it tells you
SummaryA short plain-language description of the change, written by AI shortly after the save, so it can appear a moment after the row does. A version has no summary when FunnelStory made the change itself, or when the query is very large (over about 4 KB).
WhenHow long ago it was saved.
WhoThe person who saved it. A change FunnelStory made itself shows FunnelStory, and a change made through an AI assistant is marked (MCP).
RunningMarks the version that is running now.

Click a row to open it. One row is open at a time. It shows:

  • Reason, if the person gave one when they saved. See Giving a reason when you save.
  • What changed, one line each: the name, the description, active or inactive, the connection, the data source options (parameters, table, dataset or limit), and every mapping and join that was added, removed or changed.
  • The Query as a diff, with removed lines in red and added lines in green. Stretches of unchanged lines are collapsed into a line such as 9 unchanged lines, and a line longer than 300 characters is cut, saying how many characters were left out. View the version to read the query in full.

A version that changed nothing in the definition says so.

A version opened in the History panel, showing its reason and the query as a diff, with the View this version and Restore this version buttons

Viewing an earlier version​

Open a row and click View this version to see the model as it was. The Configure page shows that version in its steps, Connect Data, Write Query and Map Information:

StepWhat it shows
Connect DataThe model's name and description, its connection, and the table or dataset it reads.
Write QueryThe query in full.
Map InformationWhich column each property reads from, marked (required) where it is, and the joins.

A banner at the top says when the version was saved and by whom, and that it is read-only. Nothing on the page can be edited or saved, and Refresh is hidden, because a refresh runs the model as it is now. The steps follow the model's connection type, so a connection that has no query step doesn't show Write Query.

Click Back to the current definition to return to the editor. Changes you had typed but not saved are not kept when you view an earlier version, so save first if you want them.

The version is part of the page's address, so you can bookmark it or send it to a teammate who has access to the model.

An earlier version shown read-only on the Configure page, with the banner and the Write Query step

Restoring a version​

Restoring puts the model back to how an earlier version had it. The history isn't rewritten: the restore is saved as a new version at the top, so you can undo it the same way.

  1. Open the version in the History panel, or view it, and click Restore this version.
  2. Optionally, enter why you are restoring it, up to 500 characters.
  3. Click Restore. Click Cancel to leave the model as it is.

You see Restored that version of the model, and the new version appears at the top of the history. Its Reason starts with Restored version, followed by the version you restored and your reason, if you gave one.

Whether the model is active doesn't change when you restore. Changes in the editor that you haven't saved are replaced.

The restore confirmation under a version, with the reason field and the Restore and Cancel buttons

Restore this version is disabled, with the reason when you hover it, in three cases:

CaseWhy
The version that is RunningIt is already the model's definition, so there is nothing to restore.
A version that records the model being deletedA deletion can't be restored.
Any version of a deleted modelNone of its versions can be restored.

A restore can also be refused. If the model is active and the version can't run any more, for example because the connection it used has been removed, you see Restoring that version would leave the model unable to run, so nothing was changed, and the model stays as it was.

Giving a reason when you save​

A reason explains a change to the people who read the history later. It is always optional.

  • In the editor, type it in the field at the bottom, Why are you changing this model? (optional). It is there on every step, next to Save, Continue and Save Model.
  • In the Save Model dialog, it is the Reason for this change row. It is the same text as the field in the editor.

A reason can be up to 500 characters, and the spaces around it are dropped. It is saved with the version that save records, and the history shows it as Reason. After a save goes through the field is cleared. If the save fails, the reason stays so you can try again. An AI assistant that changes a model through the MCP server can give a reason too.

Who can use it​

Seeing the history and viewing earlier versions needs permission to view configuration. Restoring needs permission to edit configuration, the same as saving a model.

History in the audit log​

Creating and updating a model also appear in the Audit Log. Each of those rows has a View version link that opens the version that save recorded, read-only, in a new tab.