Data Paths

What data paths are and how to use them.

Overview

Data Paths are strings that can be included in system config locations - like mail merge placeholders in emails, or column entries in layout listings which the ATS can evaluate at run-time to a value from the database specific to the current context (i.e the current application or another object, or relative to some other feature, like the current user).

You will likely come across data paths when querying layout listings and form configurations, amongst other areas. They are particularly useful in forms to control conditional visibility of form items based on the value entered in previous fields.

The syntax allows relationships to be followed through related objects. You can follow from an application to the user that made the application and eventually through to the target property on the (possibly distantly) related object.

The final value may be a direct property of an object (equivalent to what is stored in the database), or it could be the return of a method (function called on that object).

For example, in the context of an application, the path application.user.firstname will be evaluated to the firstname of the user who made the current application.

Example: Getting Form Data

To get to item values on a Formable class (Such as Application or Opportunity) you follow the formdata relationship e.g.

application.formdata
application.opportunity.formdata 

The formdata relationship requires three indexes to uniquely identify an individual data element.

  • Item ID
  • Section instance
  • Form instance (If fewer are given then the first instance is assumed.)

For example:

application.formdata.21:2:1

This will return the value stored in the second section instance of item ID 21, for the application in question.