Skip to main content
ON24 Knowledge Center

Veeva (Beta)



This document describes the workflow and steps needed to configure the ON24 integration with Veeva CRM. Veeva CRM is built on the Salesforce platform and uses standard Salesforce APIs.

This integration solution interacts with 4 Veeva objects:

  1. Events
  2. Remote Meetings
  3. Attendees
  4. Remote Meeting Attendees

An Event in Veeva corresponds to a Webinar in ON24. Event records are manually created in Veeva, and Webinars are manually created in ON24 Elite. When a Veeva Event record ID is added as a tag in an ON24 Webinar, a connection is made between the Event and Webinar. On the initial sync between the two platforms, ON24 will create a Remote Meeting record which is tied to the Event record in Veeva.

In Veeva, adding Accounts as invitees to Events creates Attendee records. A personalized URL can be generated in the Attendee records, and this URL can be sent to invitees to sign up via ON24 registration pages. The personalized URL contains the ID of the Attendee record, and ON24 will use this to lookup the Attendee record when synchronizing attendee activity.

For Webinar attendees, the integration can find existing Attendee records and add the ON24 engagement score. Additionally, the integration will create Remote Meeting Attendee records tied to the Attendee records. The Remote Meeting Attendee records will include the live and/or archive datetime values. Additional attendee activity will be added to the Remote Meeting Attendee records in future releases.


Configure App

Create a Connected App in Salesforce

You will need to first install an app for the ON24 service. Please follow the steps below on Veeva.

Go to Setup:


Select the App Manager:


Click on the New Connected App.


Register the basic information and name the app. For this example we will name the app “on24SyncAppEndpoint”.


Configure the fields below:

Callback URL:

Selected OAuth Scopes:

  • Access and manage your data (api)
  • Full access (full)
  • Perform request on your behalf at any time (refresh_token, offline_access)
  • Provide access to your data via the Web (web)


Once you create the app, click on the Manage button:


Click Manage Profiles:


Select “System Administrator” and click Save.


Click on the Edit Policies button:


Verify that the configuration matches the below and click Save:

  1. Permitted Users = "Admin approved users are pre-authorized"
  2. IP Relaxation = "Relax IP restrictions"
  3. Refresh Token Policy: Immediately expire refresh token



Create a Certificate

You will need to generate a certificate to send to ON24.

Go to Setup:


Select the Certificate and Key Management:


Click the Create Self-Signed Certificate:


Name the certificate “on24Certificate” and click Save:



Veeva Custom Fields for ON24

The required ON24 specific fields should already be added to the appropriate Event Management objects. If this is not the case, contact Veeva support, or you can also manually add the required fields below.

Object Custom Field API Name Type Description 
EM_Event_vod__c External_Id_On24_vod__c Text Unique ON24 event identifier
EM_Event_vod__c Audience_URL_On24_vod__c URL URL to register and access an event
EM_Event_vod__c Presenter_URL_On24_vod__c URL URL for presenters to manage the live event
EM_Event_vod__c Preview_URL_On24_vod__c URL URL to preview the audience experience
EM_Event_vod__c Reporting_URL_On24_vod__c URL URL to access online reporting
EM_Attendee_vod__c External_Id_On24_vod__c Text Unique event user identifier auto generated by ON24
EM_Attendee_vod__c Registration_Timestamp_On24_vod__c Date/Time Date and time of registration
EM_Attendee_vod__c Engagement_Score_On24_vod__c Text ON24 proprietary score of attendee engagement
EM_Attendee_vod__c Attendance_Type_vod__c Picklist Indicate attendee's attendance type
Remote_Meeting_vod__c External_Id_On24_vod__c Text Unique ON24 event identifier
Remote_Meeting_Attendee_vod__c Start_Time_Live_On24_vod__c Date/Time Date and time an attendee first entered the live event
Remote_Meeting_Attendee_vod__c End_Time_Live_On24_vod__c Date/Time Date and time an attendee last accessed the live event.
Remote_Meeting_Attendee_vod__c Start_Time_Archive_On24_vod__c Date/Time Date and time an attendee first entered an archived/on-demand event
Remote_Meeting_Attendee_vod__c End_Time_Archive_On24_vod__c Date/Time Date and time an attendee last accessed an on-demand event
Remote_Meeting_Attendee_vod__c Meeting_Type_On24_vod__c Picklist Value is 'Live_vod' for ON24 live event else 'Archived_vod'


To generate personalized registration URLs for Attendees invited to Events, add the below custom field:

Object Custom Field API Name Type Description Formula


Formula (Text) ON24 Audience URL for registration which also includes Attendee record ID. Account_vod__r.RecordType.DeveloperName


API Credentials

Generate/retrieve API credentials for ON24 and Veeva.

1. ON24 API Credentials:

a. Login to Elite, navigate to Analytics, and the API Dashboard. Click on the Provision a New API Access Token button to generate the Client ID, Access Token Key and Access Token Secret.


2. Veeva CRM login with proper permissions to retrieve the following values:

a. Consumer key and Consumer secret

In Salesforce Classic, go to Build > Create > Apps, and click on the Connected App Name “on24SyncAppEndpoint”.


Copy and save the Consumer key and Consumer secret.


b. Certificate

Go to Security > Certificate and Key Management, and click on the “on24Certificate”


Click Download Certificate to save the certificate locally.

3. The ON24 Q4 2021 release on December 17, 2021 will include a UI where you can add the above credentials to connect your ON24 and Veeva instances. Until the aforementioned release, please contact the Product Owner Jared Chappin to coordinate sending these via a secure channel to ON24 for the setup.

Sync Data

Create an Event in Veeva

Create an event in Veeva. Retrieve the ID from the URL.


Create a Webinar in ON24

Create a Webinar in ON24 and add the Veeva Event record ID as a tag.

In Elite for the Custom Tags, click on the + icon to add a new tag. Add “VEEVA:” followed by the Event record ID (example “VEEVA:a2v7e000003FdZyAAK”). Do not include a space after “Veeva:”.


After adding the Event record ID, ON24 will sync the Webinar to the Veeva Event and create a Remote Meeting record.


Add Accounts to Event

From your Veeva Event record, you can add Accounts as approved invitees.

Under More Actions, click on Manage Attendees.


Click on the Add Attendee button to pull up the Account search page.


Add Accounts as Attendees by clicking on the Add Attendee button.


Attendees will display as "Invited" Attendee records associated with your Event record.


Send URLs to Invitees to Register on ON24

After an Account is added to the event and the Attendee record is created, the “Attendee Audience URL ON24 vod” formula field will pull the Audience URL from the Event record and append the Attendee record ID as a query string value. The Attendee record ID will get captured in the ON24 field “ext_event_user_cd” along with the user submitted registration information from the ON24 registration page.

You can send the “Attendee Audience URL ON24 vod” personalized URL via email to your invitees to sign up on the ON24 registration page. This URL can be pulled into Veeva CRM Approved Emails via a token, or you can export these URLs and use them in other email distribution applications.


ON24 Attendee Activity Data Sync

The integration service will use the Veeva Attendee record ID that is stored in the ext_event_user_cd  field to lookup existing Attendee records.

When an Attendee record is found, the below updates are made:

1. The Attendee record is updated. See below for the specific fields:

a. Status
b. External Id On24 vod (ON24 unique ID per person per event)
c. Registration_Timestamp On24 vod (datetime of when the person registered)
d. Engagement Score On24 vod (ON24 engagement score)


2. Remote Meeting Attendee record is created. Below is the list of fields holding ON24 data:

a. Start Time Live On24 vod (first live activity datetime)
b. End Time Live On24 vod (last live activity datetime)
c. Start Time Archive On24 vod (first on-demand activity)
d. End Time Archive On24 vod (last on-demand activity)
e. Meeting Type On24 vod (Live or Archived)



If the integration service does not find an Attendee record ID, a new Attendee record will be created which is not directly associated with an Account. A manual “Attendee Reconciliation” will need to occur to associate the Attendee records with the appropriate Account.



  • Was this article helpful?