User System Variables

User system variables return the value of a user, user group, or comma-separated lists of users or groups. Controls like the User Picker also return a user or users, and system variables referencing a User Picker or Invite control also incorporate all of the User system variable attributes. So, any system variable option can be applied to Form system variables that return a user, e.g., {FORM:UserPicker1, format=email} will return the user's email address.

Options

System variables that return information about a user or users will have the following options:

  • AuthType: returns the method by which the user authenticates. This returns a number, 0 through 4. The numbers represent the following authentication methods:
  • 0: BuiltIn
  • 1: Windows
  • 2: LDAP
  • 3: External
  • 4: SAML
  • ShowManager: If set to 1 or True, this option returns the user’s manager. Additionally, using this in conjunction with the "format" option can return additional information about the manager. For instance, the manager's email address for the current user can be returned using the following syntax:
    {CURR_USER, ShowManager=1, format=email}
  • ShowDelegate: If the user has delegation turned on and this option is set to 1 or True, then this option returns the identify of the user’s delegate. Otherwise, it will return no value. Additionally, using this in conjunction with the "format" option can return additional information about the delegate. For instance, the delegate's email address for the current user can be returned using the following syntax:
    {CURR_USER, ShowDelegate=1, format=email}

User system variables also have formatting options, which change the format of the data being returned. The format parameter can be set to the following:

Example

{CURR_USER, format=FormatOption}

Format Options

  • BusinessUnit: Returns the Business Unit specified in Active Directory.
  • Culture: Returns the user’s culture.
  • Culture_String: Returns the user’s culture string.
  • Custom_Date: Returns the custom date stored in the User’s table entry.
  • Custom_Number: Returns the custom number stored in the User’s table entry.
  • Custom_String: Returns the custom string stored in the User’s table entry.
  • Display: Returns the Display Name of the User.
  • Domain: Returns the domain a user is in.
  • Email: Returns the user’s email address.
  • Groups: Returns the list of groups of which the user is a member.
  • UID: Returns the User's UID in GUID format.
  • ID: Returns the ID of an object or user.
  • LAST_LOGIN: Returns the data and time of the specified user's last login.
  • LegalEntity: Returns the Legal Entity specified in Active Directory.
  • Name: Returns the user’s name.
  • NUM_LOGINS: Returns the number of times the given user has logged in.
  • Picture: Returns the image of a user.
  • Signature: Returns the image of the user’s signature.
  • Userid: Returns the user’s User ID.
Example

{CURR_USER, format=Email}

When comparing User system variables, it is important to make sure that you are comparing the same kinds of values. Ensure that the format options for all the User system variables in a comparison are the same, or else you may end up with an unexpected result.

Active Directory Fields

If users are created on Process Director through synchronization with active directory, certain Active Directory data can be received by Process Director using the following formatting options:

  • Phone: returns the user’s phone number
  • Office: returns the value of the user’s Office active directory field
  • Title: returns the user’s title
  • Department: returns the name of the user’s department
  • Description:  returns the Active Directory description of the User
  • Company: returns the name of the company to which the user belongs
Example

{CURR_USER, format=Phone}

Return Values

User system variables return different default values based on how they are called. In all cases, the system variable will return a string value, but selecting a user variable from the user interface will return the string value of the user ID, while using the "curly brackets" syntax will return the formatted Name property string of the user. For example, let's assume a user named Diana Stuart is the current user, and the following condition exists in the Condition Builder:

In this case, the Current User system variable has been selected from the dropdown menu on the left side of the condition, while the string {CURR_USER} has been entered on the right side of the condition. With this configuration, the condition will never return true, because the condition will return a GUID string, e.g., "e74bebcc-c8b8-4567-9e27-925c0577c2c4" for the left side, and "Diana Stuart" for the right side. As such, the two values—even though they are attributes of the same user—will never match, because they aren't the same string values.

So, to match two user variables, you should ensure, if possible, that both variables are selected from the user interface. If not, you can format the "curly brackets" side of the comparison with the ID formatter, as described below, which will return the ID instead of the Name of the user.

Usually, this issue arises when you are trying to compare a User form field with the current user. In that case, the form field can always be selected from the left side of the Condition Builder, while the Current User can be selected from the right side.

Now, both values have been selected from the UI, hence, both will return the GUID string for a proper comparison.

Note In general, If you have a form field that is meant to represent the identity of a user, then the underlying control should always be a User Picker.

System Variables

The following user system variables are available in Process Director.