Vault Loader: Create, Update & Delete Object Records
Vault Loader allows you to perform bulk Create, Update, and Delete actions on object records within your vault. Loader also provides an Upsert action that lets you create new records and update existing records using a single CSV input. You can also create and update users with the User and Person objects.
How to Load Object Records
Before loading object records, prepare the CSV input file containing object record field names and values.
To load object records:
- In the left panel of the Loader tab, click Load.
- For the CSV File, click Choose and select the CSV input file.
- In the Object Type drop-down, select the object on which to perform bulk actions.
- In the Action Type drop-down, select Create, Update, Upsert, or Delete.
- Click Start Load.
Before processing this request, Vault validates the selected CSV file. If the file is valid, Vault begins processing the request. When finished, you’ll receive a Vault notification and email with the request details and CSV output files.
How to Delete Object Records
To delete with Vault Loader, you will upload a CSV input file that lists the records you wish to delete. CSVs for delete actions only require the ID field. The rest of the process works as described in How to Load Object Records. Note that you cannot delete User object records, but you can make user accounts inactive. To do this, use the Update action type and set the status__v
field to inactive in your input file. This deactivates the user on the current vault.
Cascade Delete
When deleting records for certain objects, Vault can “cascade” delete an entire hierarchy of related records. When deleting records for an object that uses the cascade deletion setting, you can only delete one record (and it’s related records) in a single load.
Preparing CSV Input Files
Fields vary between objects. The following list includes the fields that are always or usually required, as well as several sample fields that cover the different field types. We recommend using Loader to extract column headers and basing your CSV input on that file.
Column Header | Field | Example Value | Notes |
---|---|---|---|
id | ID | 00P000000000101 | Required for updating or deleting records. In update and delete actions, this is required for all rows. In upsert actions, you can leave this blank for new records but must fill it in for existing records. |
name__v | Name | WonderDrug | Required for record creation unless the object uses auto-naming. |
object_type__v | Object Type | 00P000000000304 | Sets the object type using the object field name as the column header and the ID value of the record; if left blank, the object record will use the “base” type, for example, Base Product. |
object_type__vr.api_name__v | Object Type > Name | Pharmaceutical | Sets the object type using the relationship name (object_type__vr) plus object field name (name__v) as the column header and the object type name value; if left blank, the object record will use the “base” type, for example, Base Product. |
campaign__c | Campaign | 00P000000000101 | References an object record using the object field name (campaign__c) as the column header and the ID value of the record. You can reference an object record using any object field for which the value must be unique, as in the examples below. Do not include more than one column header for each object reference. |
campaign__c.name__v | Campaign > Name | Rise Above | References an object record using the object field name (campaign__c) plus object field name (name__v) as the column header. |
family__c | Product Family (picklist) | Wonder | References a picklist option using the picklist value name (not label). |
generic_avail__c | Generic Available | FALSE | Indicates “No” for a Yes/No type field. |
date_approved__c | Date Approved | 2017-01-29 | Dates must be formatted as YYYY-MM-DD. |
datetime_approved__c | DateTime Approved | 2017-08-04T19:53:00.000Z | DateTime values must be formatted as {YYYY-MM-DD}T{HH:MM:SS.SSS}Z and use 24-hour time. Time must be in UTC, not in your time zone. DateTimes must end with the .000Z UTC expression; the zeros may be any number. |
Name | Field | Example Value | Notes |
email__sys | ewoodhouse@email.com | The user’s email address. | |
first_name__sys | First Name | Elaine | The user’s first name. |
last_name__sys | Last Name | Woodhouse | The user’s last name. |
username__sys | User Name | ewoodhouse@veepharm.com | The user’s vault username (login credential). For example, ewoodhouse@veepharm.com |
language__sys | Language | 0LU000000000101 | The user’s preferred language. |
locale__sys | Locale | 0LO000000000104 | The user’s location. |
timezone__sys | Timezone | america_los_angeles__sys | The user’s time zone. |
license_type__sys | License Type | full__v | Optional: The user’s license type. If omitted, default value is full__v. |
security_profile__sys | Security Profile | 0SP000000000106 | The user’s security profile. For example, Vault Owner. |
status__v | Status | active__v | The status of the user. |
See example inputs:
File Validation
Before beginning the Vault Loader job, Vault checks that the selected CSV file meets certain criteria:
- Includes at least one record
- Includes a valid header row (Invalid header rows are those with no columns that match to metadata for the records you’re loading or those with extra empty columns.)
- Total number of records in the vault, plus new records created by the CSV, would not exceed your vault’s limits
If your file is not valid, Vault displays a notification, stops the process, and allows you to select a new CSV file. If some of the header columns do not match metadata for your vault, the notification will allow you to stop the load or ignore those columns and proceed.