Upserting data to Salesforce


Customers that use Network and Veeva CRM can push object data from Network's file system to Salesforce®.

Supported objects

  • Veeva standard objects

  • Custom objects

Overview of tasks

To upsert data to Salesforce, the following tasks must be completed:

  • Add Salesforce credentials to Network - The credentials are used to connect to Salesforce.
  • Create a connector - Create a connection to push object data from Network's FTP server to Salesforce.

The following sections describe how to complete these tasks.

Add Salesforce credentials

Add the Salesforce credentials so they are saved in Network and you can refer to them when you are creating the Veeva Connector configuration.

To add the Salesforce credentials:

  1. In the Admin console, click Settings > External Credentials.
  2. Click Add Credentials.
  3. In the New External Credential dialog, select Salesforce. Click OK.
  4. On the New External Credential page, provide the following information:
    1. Name - Type a name for the credential. For example, Verteo CRM US. Names must be unique.
    2. Username - The Veeva CRM integration user ID.
    3. Password - The password for the Veeva CRM integration user.
  5. In the URL list, choose one of the following URLs for the Salesforce domain:

    • - Use for production instances.
    • - Use for test instances.
  6. Click Test Connection to ensure that the credentials are correct.

    A panel displays to provide information about the environment the credential is connecting to and to indicate if the credentials are valid or if there were issues connecting to the Salesforce server (not credential-related). Warnings display if you are potentially connecting to the wrong environment.

  7. Save your changes. If you did not test the credentials, they will be tested now. Invalid credentials will not be saved.
  8. The credentials are stored and can be used in the Veeva Connector configuration for Salesforce

Create a connector to Salesforce

Create a Veeva Connector  so you can push object data to Salesforce

  1. In the Admin console, click System Interfaces > Veeva Connector.
  2. Click Add Veeva Connector.
  3. In the Add Veeva Connector dialog, expand the lists to select the following values:

    • Connector Type - Salesforce
    • Operation - Upsert

    Click Next.

  4. In the Details section, define the following information:

    • Connector Enabled - Choose Yes.

      When the connector is enabled, you can test the connection between Network and the Veeva CRM org and you can push data to Salesforce

    • Name - Type a meaningful name for the connector.
    • System - Choose a system. If you do not have a system configured for CRM, create one by navigating to System Interfaces >Systems

  5. Choose the Salesforce credentials in the Connection Settings section so Network can connect to CRM.

    Click Test Connection to ensure that the credentials are valid.

    A panel displays to provide information about the environment the credential is connecting to and to indicate if the credentials are valid or if there were issues connecting to the Salesforce server (not credential-related). Warnings display if you are potentially connecting to the wrong environment.

  6. In the Upsert Settings section, define the Network FTP path where the .csv file will be extracted from and pushed to Salesforce.

    The FTP path can specify a directory, path, or a specific .zip file name. Directory paths must end in a forward slash (/). Wildcard characters are supported file names. If you specify a path and there are multiple files, the most recent file will be used during the job.

    FTP path examples

    Type Path Description
    Wildcard .zip file outbound/VCRM/crm_target_us/exp*.zip The Veeva Connector will find the most recent .zip file in the crm_target_us folder that starts with exp.
    Target subscription outbound/VCRM/crm_target_us/ Specify the directory path of a scheduled target subscription.

    Tip: To regularly upsert data from report results, specify the FTP path for the saved report results. The upsert connector will find the latest results in the path, including any subfolders the .zip file might be in. For more information, see Upserting data from reports.

    For information about accessing the files in your Network file system, see File Explorer.

  7. Beside Objects, specify the objects that will be pushed to Salesforce. For each object, define the following details:

    • Source File - The name of the file. If more than one file exists in the FTP folder, the latest file will be read.
    • CRM Object - The Veeva CRM object name; for example, Publication__c.
    • Field Mappings - Map a lookup to the Veeva CRM fields so you can load sub-objects and relationship objects from Network. Lookups are references to other objects.

      • File Column Header - The Network field name. For example, vid__v.
      • CRM Field - The Veeva CRM field name. For example, External_ID_vod__c.
      • ID Field - The ID field that you want to use to upsert CRM data. The ID field should either be the Salesforce ID field or External ID field. If a match isn't found using the ID field, a new record is created.
    • Note: The Date/Time field type is not supported for upsert because of its unique formatting. Do not include in the field mapping.

    • Generate Custom Keys for Newly Added Records - Select if you want to generate custom keys when new records are created in Salesforce. This enables you to more easily track records in Salesforce. Also, if you use the Export by VID feature with custom key filters for the target subscription, this ensures that the newly created records are updated because there is a custom key.

      Define the following key values:

      • Custom Key Source - The source; for example, ServiceCloud.

      • Custom Key Item Type - The object; for example, HCP.

      • Veeva ID File Column Header - The File Column Header field name that contains the Network Entity ID (VID). For example, vid__v.

      When the upsert job completes, a log file called customkey_job_<job_ID>_<object_name>.csv is added to the Job Details to provide information about the objects where custom keys were successfully created or failed.

    To include another mapping for the same object, click + Add Mapping.

    To include more objects, click + Add Object. You can order which object is loaded first using the handle beside Source File. For example, if you are loading objects and relationship objects, ensure the object is loaded before the relationship.

  8. In the Job Trigger Configuration section, define the schedule for the job and any subsequent actions that will start when this job finishes.

    Job Schedule - Run the job manually or on a scheduled basis. If you select Manual, the job only runs when you click the Start Job button on the configuration page.

    Job Triggers - Trigger other actions to start after a job runs.

    Available triggers:

    • Send email - Specify users that should be notified for successful and unsuccessful job outcomes.
    • Start a job - Start a subsequent job when this job successfully completes.

    For more information, see Subscription job triggers.

  9. Save your changes.

The integration is complete. When the upsert job runs, Network will connect to Salesforce to push the object data from Network's FTP server.

Empty files

The Salesforce connector will skip loading a file if it is empty. Target subscriptions can generate empty .csv files when they are set to delta.

The Upsert Summary section on the Job Details page displays any files that were skipped. The Records Processed and Records Failed columns display a zero (0) count.

Configuration management

Administrators can export a Veeva Connector to a target environment. Salesforce upsert configurations can be exported but credentials and schedules cannot; schedules and credentials must be defined on the target instance.

For more information, see Exporting configurations.