Skip to main content

Veeva Vault

If the application uses Veeva Vault as a document repository, it must be configured properly to ensure compatibility with .

Configuration

To configure Veeva Vault as a content management system for , follow the steps outlined in the sections below:

Step 1 - Configure a delegated authentication in Veeva Vault

Delegated authentication enables Salesforce users to be able to access Vault documents directly in the Salesforce user interface. To configure delegated authentication, log into Vault, and complete these steps:

  1. Create a new Security Policy for your Salesforce Organization.

  2. Create a corresponding Vault user for every Salesforce user that needs to search Veeva Vault.

Note: The Vault User must log into Vault at least once before searching Vault from within .

Note: If the user's Vault password expires, the user will not be able to search Vault until the user resets the Vault password.

For more information, visit About Delegated Authentication and Vault Developer Portal.

Step 2 - Create a Vault URL custom setting

To specify the URL for accessing Vault pages and documents via delegated authentication:

  1. Navigate to the Vault URLs custom setting records list.

    1. In the Quick Find box in Setup, search for and select Custom Setting.

    2. In the Vault URLs row, click Manage.

  2. Click New.

  3. Enter information. Fields include:

    • External Viewer URL - the full URL for the External Viewer. This could be the Vault URL or a URL for a custom page with the viewer embedded in it. For the Vault URL, enter https://\<vault_domain\>.veevavault.com/ui/approved_viewer and replace \<vault_domain\> with the domain of your Vault instance.

    • Vault Domain - the Vault domain to connect to. Do not include https:// or .veevavault.com. For example, if your Vault is at https://myvault.veevavault.com, enter myvault.

  4. Click Save.

Step 3 - Create a Remote Site Setting

To register your Vault instance as a remote site:

  1. In the Quick Find box in Setup, search for and select Remote Site Settings.

  2. Click New.

  3. Enter the information below.

    • Remote Site Name - enter Veeva_Vault.

    • Remote Site URL - enter https://\<vault_domain\>.veevavault.com and replace \<vault_domain\> with the domain of your Vault instance.

    • Disable Protocol Security - leave the box unchecked. The value must be false.

    • Active - check the box. The value must be true.

  4. Click Save.

Step 4 - Create a Trusted URL

To specify your Vault instance as a trusted site:

  1. In the Quick Find box in Setup, search for and select Trusted URLs.

  2. Click New Trusted URL.

  3. Complete all of the required fields. Values for select fields are listed below.

    • On the URL field, enter https://\<vault_domain\>.veevavault.com where \<vault_domain\> is the domain of your Vault instance.

    • In the CSP Context dropdown, select All.

    • In the CSP Directives section, check every box.

  4. Click Save.

Step 5 - Create Named Credentials record for the Vault instance

To specify a callout endpoint and its required authentication parameters:

Note: Only perform this step if you are using External Viewer links.

  1. In the Quick Find box in Setup, search for and select Named Credentials.

  2. Click New Legacy.

  3. Enter information. Values for select fields are listed below.

    • URL - enter https://\<vault_domain\>.veevavault.com and replace \<vault_domain\> with the domain of your Vault instance.

    • Identity Type - select Named Principal.

    • Authentication Protocol - select Password Authentication.

    • Username and Password - the credentials for the single integration Vault user that is used to generate viewer links. The Username and Password fields only display after you select Password Authentication for the Authentication Protocol field.

Note: In Vault, the Public Content Distribution add-on feature must be enabled, and the single integration Vault user must have the license type and the security profile labeled View-Based User. Visit Vault's How to Set Up Public Content Distribution documentation.

  • Generate Authorization Header - uncheck the box. The value must be false.

  • Allow Merge Fields in HTTP Header - check the box. The value must be true.

  • Allow Merge Fields in HTTP Body - check the box. The value must be true.

  1. Click Save.

Step 6 - Set up a CMS Connection

To set up a CMS Connection to hold connection information and group field and value mappings by connection:

  1. Navigate to the CMS Connection custom metadata records list.

    1. In the Quick Find box in Setup, search for and select Custom Metadata Types.

    2. In the CMS Connection row, click Manage Records.

  2. Click New to create a new record or Edit to modify an existing record.

  3. Enter data. For field descriptions, visit CMS Connection.

  4. Click Save.

Step 7 - Map document fields

To map Interaction Document fields to those in the content management system:

  1. Navigate to the CMS Field Mapping custom metadata records list.

    1. In the Quick Find box in Setup, search for and select Custom Metadata Types.

    2. In the CMS Field Mapping row, click Manage Records.

  2. Click New to create a new record or Edit to modify an existing record. Each field that requires mapping needs its own record.

  3. Enter data. For field descriptions, visit CMS Field Mapping.

Note: MED_Request_Document__c.MED_Name__c must be mapped to ensure users have access to the appropriate documents.

  1. Click Save.

Step 8 - Map data values

If and the content management system have different data values (e.g. different picklist values), use the CMS Value Mapping custom metadata to specify which data values to display in the user interface. To create or edit a CMS Value Mapping record:

  1. Navigate to the CMS Value Mapping custom metadata records list.

    1. In the Quick Find box in Setup, search for and select Custom Metadata Types.

    2. In the CMS Value Mapping row, click Manage Records.

  2. Click New to create a new record or Edit to modify an existing record.

  3. Enter data. For field descriptions, visit CMS Value Mappings.

  4. Click Save.

Step 9 - Specify a content management system

To specify that content searches should retrieve files from Veeva Vault:

  1. Navigate to the Local Setting custom metadata records list.

    1. In the Quick Find box in Setup, search for and select Custom Metadata Types.

    2. In the Local Setting row, click Manage Records.

  2. Click Edit to modify an existing record.

  3. Select a picklist value for CMS Sources. Relevant picklist values include:

    • Vault (Custom) - only Veeva Vault files are retrieved when a content search is executed.

    • MIC & Vault - both and Veeva Vault files are retrieved when a content search is executed. search results display first followed by Veeva Vault search results.

    • Vault & MIC - both Veeva Vault and files are retrieved when a content search is executed. Veeva Vault search results display first followed by search results.

  4. Click Save.

Picklist translation considerations

Due to limitations with the Vault API, translating Vault picklist values can sometimes cause issues. Here is a list of the known limitations when translating values inside Vault:

  • Search: when searching on a Vault picklist, Salesforce should use/pass the picklist base value.

  • Changing the base translation of picklists does not change the base value for existing documents and causes them to have a "different" value than new documents as far as the API is concerned. This means that one or the other won't show in search so changing base values should be avoided.

  • The following fields must have CMS Value Mapping of all value translations for all languages that users will use in Vault back to the single expected value in :

    • Language

    • Subtype

    • Delivery Method

Custom labels

The labels listed in the table below can be configured within the Salesforce translation workbench to change display text values for Veeva Vault error messages. For example, if you want the fields listed in an error message to appear in a user's language, you can reference a custom label.

Veeva Vault custom labels
#Label NameDescription
1MED_Access_Privileges_Vault_ErrorUsed to return an error message when the user has not been granted access to Vault.
2MED_Invalid_Session_Vault_ErrorUsed to return an error message when the system is unable to log into Vault due to an Invalid Session.
3MED_User_Locked_Out_Vault_ErrorError displayed with the user has been locked out of Vault.
4MED_Vault_Inactive_User_ErrorError displayed when the Vault user is inactive.