Skip to content
KeystoneJS LogoKeystoneJS
👋🏻 We're working on the next generation of KeystoneJS! If you're using the @keystone-next packages, click here to learn more

atTracking Plugin

Add createdAt and updatedAt fields to a list. These fields are read-only but they will be updated automatically when items are created or updated.


const { atTracking } = require('@keystonejs/list-plugins');

keystone.createList('ListWithPlugin', {
  fields: {...},
  plugins: [


createdAtFieldStringcreatedAtName of the createdAt field.
updatedAtFieldStringupdatedAtName of the updatedAt field.
formatStringMM/DD/YYYY h:mm AFormat of the generated DateTime field.
accessObjectSee: accessChange default access controls.


By default access control on at tracking fields is read only:

  read: true,
  create: false,
  update: false

Granular control

If you prefer, you can import either createdAt or updatedAt to apply a single tracking field:

const { createdAt, updatedAt } = require('@keystonejs/list-plugins');

Note: The API is the same for each export as atTracking.

On this page

  • Usage
  • Config
  • access
  • Granular control
Edit on GitHub