Tools to Know 01: How to update a previous record from the same record table

How I Solved a Knack Limitation While Building a Permit Milestone Tracker

I work at a construction company where we use Knack to digitize field operations and track key milestones across multiple projects.

Recently, I faced a tricky challenge while building a Permit Milestone Tracker.


The Problem:

Each permit has multiple milestones. When a new milestone (e.g., Line 2) is completed and we input the Actual Date, we want Line 1 (the previous milestone) to automatically update its End Date.

Seems simple, right?

Not in Knack.

Knack doesn’t allow record-to-record calculations in a child table. Meaning: you can’t reference one row to update another without extra logic. Pulling all the data into a parent table wasn’t feasible either — we needed the data to stay in a columnar format for the team to review at a glance.


:hammer_and_wrench: Tools I Used:

  • Knack Builder

  • Knack Flow

  • Grids with Inline Edit + Record Action


The Solution:

  1. User updates Line 2 with the “Actual Date.”

  2. A Knack Flow is triggered to find Line 1 and update its “End Date” with the new “Actual Date” from Line 2.

  3. Everything is now synced visually and functionally in the same child table grid.


Here’s a quick Loom that explains it visually:

flows