AnyKanban

Docs › Shape the board

Color cards by any date field

If you are here for "how long has this been sitting?", you do not need a rule for that. Every card shows its days in the current state, and Aging colors, in the ⋯ menu in the board header, marks what has sat longest in each column: Read a card's age at a glance. That is a better answer than the recipe below, because it needs no configuration and it counts from the last state change rather than from the last edit of any kind.

This page is still worth reading for a different job: coloring cards by a date field you care about: an SLA, a regulatory deadline, a renewal.

A card carrying a deadline looks exactly like one that does not. A style rule on a date field makes it visible. The example below uses the last change date, which is the simplest one to try; the same shape works on any date field.

Before you start

A named board in the AnyKanban hub, with its work item type chosen on the General tab.

Steps

  1. Open the board and select Settings.
  2. Open the Styles tab.
  3. Select Add rule and name it, for example Untouched for a week. Pick an amber or red swatch.
  4. Select Add condition and set: field Changed Date, operator <, value @Today-7. The value box names the macros it accepts: Value (@Today, @Me supported).
  5. Select Save.

What you should see

Every card whose last change is older than midnight seven days ago now carries the tint; a card someone touches today loses it at the next refresh. While Aging colors is on, no style rule colors any card. Turn it off and your rules come back.

⚠️ Changed Date is not the same clock as the card's age counter. It resets on any edit, whether a tag, an assignment or a comment, while the counter on the card resets only on a state change. A card someone re-tagged this morning has been in its column for three weeks and this rule will not say so. That difference is exactly why the age counter exists. Which cards those are depends on when the items were last edited, so the honest test is to open one aged card and check its Changed Date against the number you typed.

@Today resolves to local midnight of the current day, and takes day arithmetic: @Today-7, @Today-30, @Today + 3, with or without spaces around the sign. Use < and > for "before" and "after": they compare exact times against local midnight. Use = and <> for "on that day" and "on any other day": they compare the calendar day on your own clock, the same day @Today names. So Changed Date = @Today matches anything changed today, and Changed Date <> @Today matches anything last changed on another day.

The same shape works on any date field. On the demo board over support requests, SLA due < @Today picks out the requests whose SLA has already passed: "Kestrel Logistics: claim 2026-04417 stuck after adjuster upload" and "Lakeshore Hospitality: duplicate payout on claim 2026-03980" carry the earliest due dates in the set.

A styling rule coloring cards nobody has touched

Notes

The field a rule reads does not have to be shown on the card: the board loads every field its rules refer to, precisely so a rule cannot silently never match. Remember that the first matching rule wins and new rules are appended at the bottom, so an aging rule added after a Priority = 1 rule will not recolour a priority-1 card. The @Me macro resolves to the signed-in user's display name, so a rule built on it shows something different to each person looking at the same board.