Copying Object Records


Copying records provides significant time savings, allowing you to quickly create a large number of similar object records. When copying from objects with child or grandchild relationships, you can often choose to copy the entire hierarchy of records. Copying a single record is sometimes referred to as “shallow” copying, whereas copying a structure of related records is called “deep” copy.

How to Copy Records

To copy a single object record (shallow copy):

  1. Navigate to the object record’s detail page. This may be in Admin or in a custom tab.
  2. Choose Copy Record from the action menu.
  3. Vault opens the details page for the new record. Many fields will default to the values on the original record. You can edit these as needed.
  4. When finished editing, click Save.

To copy a hierarchy of object records (deep copy):

  1. Perform the steps for a single record copy.
  2. If child records exist and hierarchical copy is enabled for the parent object relationship, a pop-up opens. The pop-up displays the objects which will have records copied.
  3. Select the Copy Related Records checkbox to copy the hierarchy of records identified in the pop-up.
  4. Click Save to complete the action.
  5. Vault validates and copies the highest level record and child records asynchronously. When complete, Vault sends a confirmation email. If there are any validation issues (non-unique name, etc.), the email will include a CSV file with details on the failed copy actions.

Field Defaulting

Vault defaults field values on the new record whenever possible, but fields will be blank or default to a different value in some situations:

  • A picklist field on the original record that points to a picklist value that is now inactive
  • An object reference field on the original record that points to an object record that is now inactive.
  • An object reference field on the original record that points to an object record that you do not have access to through Dynamic Access Control
  • A system-managed field, like Created By or Lifecycle
  • A field that requires a unique value
  • Status field, which defaults to Active for objects that do not use lifecycles and the lifecycle’s starting state for those that do

To copy a record, your security profile must grant Create permission on the object. For deep copy, you must have Create permission on all child or grandchild objects for which you’re copying records. If you do not have this permission on the child object, the deep copy action cannot copy records for the grandchild object. See example scenarios below.

If any objects within the hierarchy use Dynamic Access Control, this also affects whether you’re able to copy and how deep copying will work. You must have at least the Viewer role on a record for shallow copy, or on the top-level record in a deep copy.

In deep copy, you don’t need to have any role on child or grandchild records. If you do have at least the Viewer role, Vault will put you into the Owner role on the new records you create. If you do not have a role on the child or grandchild records, you can still copy them. However, you won’t be able to see the new records, just as you cannot see the original records. In order to prevent a situation where you create records that nobody can see, Vault automatically assigns the Vault Owners group to the Owner role on those records.

Example Permission Set Scenarios

Scenario 1

Object Create Permission
Product Yes
Product Label (Child) Yes
Product Sub-Label (Grandchild) Yes

In this scenario, when Gladys copies a Product record, she can also copy the related Marketing Campaign and Ad Buy records.

Scenario 2

Object Create Permission
Product Yes
Product Label (Child) Yes
Product Sub-Label (Grandchild) No

In this scenario, Gladys cannot copy any child records.

Scenario 3

Object Create Permission
Product Yes
Product Label (Child) No
Product Sub-Label (Child) Yes

In this scenario, Gladys cannot copy any child records.

Admin: How to Enable Hierarchical Copy

An Admin can enable hierarchical copy individually for each parent-child object relationship. If hierarchical copy is enabled, users can still choose to “shallow” copy, i.e., to not copy related records.

To enable, navigate to the Parent Object field details within the child object’s configuration (Admin > Configuration > Objects) and select the Allow hierarchical copy checkbox. This option does not appear when initially creating the field, so you may have to save a field first and then edit.

Note that standard objects are not editable, so you cannot enable hierarchical copy for these objects.