Uploading CLM Content Using FTP

Content admins can upload content directly into Veeva CRM via FTP, which allows for bulk load of multiple files at a time. Content can be loaded using any FTP client (for example, Filezilla).

Veeva CRM on Mac and Windows Desktop do not support FTP content.

FTP is not supported with the CLM Vault Integration. See Vault Help for information on how to manage CLM content in Vault and Packaging Custom CLM Content for information on packaging CLM content for Vault.

Setting Up the Content Server

If an FTP account and username is provided separately for the org by Support, use it to log in to the FTP server. If one was not provided, use the following instructions to allow a user to log in to the FTP server using their Veeva CRM username and password:

  1. Navigate to the User object page layout.
  2. Ensure the Content_Admin_vod field is on the page layout.
  3. Select Save.
  4. Edit the User record for the user who you want to have FTP credentials
  5. Select the Content Admin check box.
  6. Select Save.
  7. Clear Veeva Cache.
  8. Sign in to the FTP server (using the FTP client) with the Content Admin user's credentials:
    • FTP Host server: FTP Server value from the Main Veeva Common settings (Setup > Develop > Custom Settings > Manage (Veeva Common) > Main)
    • User: Veeva CRM username
    • Password: Veeva CRM password

If your company uses Delegated Authentication to log in to Veeva CRM, use the Unix username and password provided by Support.

Uploading CLM Content

When set-up is complete, create a control (CTL) file for every piece of content that is being uploaded. The format of the control file is as follows:

The file extension must be lowercase for the file to be processed when uploaded, for example, <filename>.ctl.

  • USER=<Veeva CRM User name >
  • PASSWORD=<Veeva CRM Password>
  • FILENAME= <Filename.zip>
  • EMAIL=<email address to receive log in error messages>

The EMAIL field is optional. It is only utilized in the event of a sign in error. If sign in is successful, the user's email address in Veeva CRM is used for success and failure messages.

Optionally, if your company uses Delegated Authentication to log in to Veeva CRM, the following should be added to the control file:

  • SAML
  • APPLIES_TO_URL=<Applies to URL>
  • AUTH_URL= <Authentication URL>
  • OpenToken
  • APPLIES_TO_URL=<Applies to URL>

The CTL file should be created using one of the following encoding formats:

  • ISO-8859-1
  • UTF-8
  • UTF-16
  • UTF-32

Files may not contain any of these special characters: ',/<>?;:{}[]~`!@#$%&*()=+

Additional fields on the Key_Message_vod object can be added to the control file. Each field should be entered in a separate line in the following format: <Field API Name>=<value>.

  1. Name the control file with the exact name of the associated file, with the ctl extension. For example, a control file for the Cholecap-Intro-1.zip slide should be named Cholecap-Intro-1.ctl.
  2. Upload the file and the associated content through FTP.

The content itself (zip file) is loaded to the content directory of the FTP server. The content folder may be your root directory, in which case you will not see a content folder.

  • The control file should be uploaded to the ctlfile directory
  • Always upload the zip file first, then upload the control file

When found, the control file is removed from that directory and then processed. After opening the ctl file directory on the right, you can right select and select Refresh to see when the file was removed.

If the control file was processed successfully, the zip file is also removed. After selecting the / directory on the right, you can right select and select Refresh to see when the file was removed.

The Media_File_Name_vod field is a unique external ID. If content is uploaded via FTP with the same name as an existing record, the existing content is replaced and the record updates with the information from the control file.

An example control file looks like the following:


Example CTL file

Name=Cholecap – Events
Description_vod__c=Cholecap - 5 53% Fewer Adverse Events


If no media is available on mobile devices, ensure the content server is set up correctly. See Setting Up the Content Server for more information.

If other media is available but the new content does not display, the following steps may be helpful in troubleshooting:

  1. Find a presentation online that users can view on a mobile device. Add your new key message as a presentation slide within that presentation. Check if the presentation slide with the new key message is available on the mobile device.
  2. View the newly created key message online and check that you can download the file by selecting the file name. If you cannot, upload the file again.
  3. Navigate to More > Options > Media on a mobile device and confirm that the new key message is listed as downloaded to the device. If it is not present, try syncing again to ensure the local data is up to date.
  4. Verify that the presentation and slide are available in the Media tab on a mobile device. If the presentation are not available, it could be that the presentation is missing a slide. Presentations only display if the user has all the slides required to show that presentation.