Vault primarily uses a Person record’s Training Eligibility field value to determine whether to create Training Assignments. By default, Training Admins must manually set this value when creating and maintaining a Learner’s training matrix.

With additional configuration, the Auto-Manage Persons job can instead reference the User object as the source of truth for creating and maintaining Person records, based on a User record’s Status and other supported field values shared between the User and Person objects. The job also supports automatically creating Individual Learner Role records.

Feature Dependencies

Your Vault must use the Person object’s Training Eligibility field to determine whether to create Training Assignments.

The Training Eligibility field and supporting functionality is automatically available in Vaults created on or after the 19R3 release. If the Training application was enabled in your Vault in 19R2 or earlier, you must contact Veeva Support to enable it.

Use Cases

VernBio’s Vault user management process is partially supported by an HR system. This Vault-integrated system requires that certain aspects of Vault remain synchronized with or otherwise do not interfere with HR activities, specifically in the below situations.

  • When VernBio employees go on leave, their Vault User accounts remain active for payroll purposes in the HR system. For training activities, however, these employees are not expected to complete training, and therefore their Person records must be updated to Ineligible for training. The Auto-Manage Persons job ensures the Training Admin can rely on Vault to maintain User and Person records both for trainable Learners and training-exempt employees on leave, without interrupting HR system functionality.
  • Without the Auto-Manage Person feature, the Training Admin uses a report to monitor the updates the HR system pushes to Vault User records, then adds any new or updated information in the corresponding Person records. This manual process frequently falls out of sync with organizational updates in the HR system, which can cause confusion when Learners are assigned training, for example, as the result of a Dynamic Enrollment rule based on department. The Auto-Manage Persons job synchronizes User and Person records on the Training Admin’s behalf, and allows other training processes to operate seamlessly.

In addition to allowing VernBio’s training program to operate independently from HR activities, the Auto-Manage Persons job assists the Training Admin in managing VernBio’s training process, which requires that all new Learners are assigned an Individual Learner Role. With the job’s related application setting, Vault automatically creates related Individual Learner Role records, instead of the Training Admin manually executing the Assign to Learner action from individual Curricula for each new VernBio employee.

How Vault Auto-Manages Person Records

The Auto-Manage Persons job checks for new User records, as well as updates to existing User records. When a new User record is created with a given Status, or a supported field within an existing record is updated, Vault creates or updates the related Person record according to the following logic:

  • When a new or existing User record’s Status is Active or Pending, the Auto-Manage Persons job:
    • Checks for an existing Person record, and creates one if one does not already exist. When there are multiple Person records linked to a single User, Vault references the Person record with the most recent Last Modified Date.
    • Sets the Person record’s Training Eligibility field to Eligible.
    • Sets the Person record’s supported fields with User field values.
    • Sets the Person record’s lifecycle state to Eligible, when configured.
    • Creates a corresponding Individual Learner Role record, when configured.
  • When a User record is set to Inactive, the Auto-Manage Persons job:
    • Updates the existing Person record’s Training Eligibility field to Ineligible.
    • Sets the Person record’s supported fields with User field values.
    • Sets the Person record’s lifecycle state to Ineligible, when configured.

In contrast to the above, any updates to the Person record do not impact the User record, including the Training Eligibility field. This means that Training Admins can indicate a Learner is Ineligible while their User account remains active.

Configuration Overview

To auto-manage Person records in your Vault:

  1. Confirm your Vault uses the Training Eligibility field on the Person object to determine whether Learners should receive Training Assignment tasks.
  2. Review your Vault’s Person and User object field configuration. For each User field your organization wishes to populate on Person records, ensure corresponding fields are configured on both objects. For example, to populate a Person’s job_title__v, configure a corresponding object field named job_title__c on the User object. See additional details on how custom and standard fields are supported between the User and Person objects.
  3. Activate the Auto-Manage Persons job and, optionally, update the Job Owner and Schedule according to your organization’s requirements.
    • Job Owner is set to “System” by default. We recommend updating this to a Training Admin group or other recipient(s) whom Vault should notify in the event of job failures.
    • The Schedule is hourly by default. We recommend scheduling the job to run at least 10 minutes prior to the Update Training Assignments job.
  4. Optional: Configure the Person object lifecycle to allow Vault to automatically move records to a given lifecycle state based on state type mapping. For example:
    • Mapping the Initial State and Eligible state types to the Eligible state allows Vault to create new Person records in the Eligible state.
    • Mapping the Ineligible state type to the Ineligible state allows Vault to transition existing Person records to the Ineligible state.
  5. Navigate to Admin > Settings > Application Settings and enable the Auto Manage Persons setting. Optionally, enable the Auto Manage Persons: Create Individual Learner Role for New Persons setting. You can enable these settings at any time.

Once the Auto-Manage Persons job is active and running, Vault begins managing Person records based on the User when a new User is created, or when an existing User’s supported fields are updated. This means that any existing Person records remain in their current state unless and until the related User record is updated within these parameters.

User & Person Field Support

Vault maintains a Person record according to the source User record when both fields are:

  • Of the same supported field type: Number, Yes/No (boolean), Date, DateTime, Object, Picklist, Text, Long Text, Rich Text.
  • Configured with matching properties applicable for the field type, for example minimum/maximum value and maximum length.
  • Configured with matching label and name values, excluding the suffix indicating whether the field is custom or standard, for example, employee_type__c and employee_type__v. To aid in implementing this feature, the below standard Person fields are automatically supported when properly configured as custom User fields:
    • Department (department__v)
    • Employee Type (employee_type__v)
    • Job Level (job_level__v)
    • Job Title (job_title__v)
    • Organization (organization__v)
    • Person’s Organization (persons_organization__v)
    • Person’s Site (persons_site__v)
    • Sub-Department (sub_departent__v)
    • Working Location (working_location__v)

See Limitations for information on specific unsupported fields.

Limitations

Generally, this feature does not support User fields with names ending in __sys.

Additionally, this feature is not supported for Users which are:

  • Auto-managed QMS external collaborators, when the Managed by Quality Automation (managed_by_qms_automation__v) field is “Yes”.
  • Study Training or CDMS Training Learners, according to the Managed by Training (managed_by_training__v) field.
  • VeevaID users, according to their assigned Security Policy (security_policy__sys).