Object Time Machine

Let's walk through how to set up the GRAX Object Time Machine in order to track changes to every field on a particular set of defined objects.

Configure Page Layout


Salesforce Lightning vs Classic

The configuration section is divided into two sections: Lightning and Classic. Please follow the instructions that coincide with your environment.


  1. Go to your Salesforce environment where you have installed the GRAX Application
  2. Go the page where you would like to update the page layout and select the gear in the top right corner and then “Edit Page”
  3. Click on the list of tabs and click “Add tab” and give it an appropriate name
    a. Our recommendation is to name the tab “Object Time Machine”
  4. Click on the tab and from the left drag on Lightning Component “Visualforce”
  5. Set the options as below:
    a. Visualforce Page Name: GraxTimeMachine
    b. Height: We recommend 700, but use your discretion
  1. Click “Save” and make sure that the page has been “Activated”
  2. You should now see a tab for “Object Time Machine”, similar to below:


  1. Go to your Salesforce environment where you have installed the GRAX Application (Classic Environment).
  2. Once logged in, click the Setup button at the top right.
  3. In the Quick Find / Search search box (top left) type Visualforce and select Visualforce Pages from the menu.
  4. Select New to create a new VisualForce page.
  5. In the label and name fields enter GRAX Restore and paste the following code into the Visualforce Markup and click Save:

The following example will display related records on the Account object:

<apex:page standardController="Account" showHeader="false" sidebar="false">
  <apex:variable var="recordId" value="{!Account.Id}" />
  <apex:variable var="recordName" value="{!Account.Name}" />
  <apex:variable var="groupVersionsByRecord" value="false" />
  <apex:variable var="height" value="700px" />
  <apex:variable var="width" value="100%" />
  <apex:variable var="scrolling" value="true" />
  <apex:iframe src="/apex/grax__GRAXTimeMachine?Id={!recordId}&recordName={!recordName}&groupVersionsByRecord={!groupVersionsByRecord}&isEmbedded=1" height="{!height}" width="{!width}" scrolling="{!scrolling}"/>

Parameter Breakdown:






This is the Id of the sObject that the Time Machine VF page resides on.



This is the name of the sObject that the Time Machine VF page resides on.



This toggle removes grouping of records, where only the latest would be shown.



This field embeds the Restore iFrame into the VF page.



This parameter defines the height of the Restore iFrame.



This parameter enables scrolling in the Restore iFrame.



The suggested default values are noted in the table above. Fields marked with "*" can be changed on a per object basis. Changing other values may have unintended results.

  1. Navigate to the sObject record that you want to add the Visualforce page to (ie. Account).

  2. On the record page, click Edit Layout at the top right of the page.

  3. Add a new section and label it Object Time Machine. Set the layout to 1-Column, deselect Edit Page and click OK.

  4. In the dropdown at the top of the page, scroll down to Visualforce Pages on the left hand column. Once selected, find the GRAX Restore page and drag it into the corresponding section.

  5. In the new section where you dragged the Visualforce page into, click on the wrench on the far right (Properties). Set the height to recommended value of 700, select Show scrollbars option, and click OK.

  6. Select Save in the dropdown at the top of the page to save the page layout.