Configuring Call Reporting
Before using the Call Reporting module, you should understand the components, and then configure the functionality for all users.

The call reporting module consists of a parent call object, child call objects, and associated objects that the call functionality depends on, for example attendees, account, or call. The main objects that comprise the call reporting module are:
Call (call2__v)
The call object stores all of the information for planned, saved, and submitted calls, including the account, address, territory, and date and time for each call. There is one call row for each account on a call. For group calls, attendee details are captured as child call2__v records. For unique activities group calls, the attendee details are captured as additional related records.
The Copy Record action is not supported for call2__v records.
Call Detail (call2_detail__v)
The Call Detail object stores all of the information for any product details recorded on a call. The product detailing section on the call report enables users to identify which products or topics were discussed from a predefined list, based on products assigned to the user in My Setup Products.
Call Discussion (call2_discussion__v)
The Call Discussion object stores all of the information for product discussions captured on a call. The Call Discussion object also enables creation of different product discussion layouts, which can be applied based on call object type.
Call Sample (call2_sample__v)
The Call Sample object stores all of the information for samples or promotional items recorded on a call.
Call Key Message (call2_key_message__v)
The Call Key Message object stores all of the Key Messages recorded on a call.
Call Follow-up Template (call_followup_template__v)
The Call Follow-up Template object stores all of the information for any follow-up activities recorded on a call. There is one follow-up template record for each follow-up activity type recorded on a call.
Expense (expense__v)
The Expense object stores all of the expense data recorded on a call.
My Setup Product (my_setup__v)
Each user’s product assignments are stored in My Setup Products. See Using the My Setup Tab for details on the object.
Sample Lot (sample_lot__v)
The Sample Lot object holds all lot numbers for products available to users. The Sample Lot object is a private object, meaning that users only have access to the Sample Lot record they own. See Creating Records for Sample Management for more information.
Call Type
Depending on the primary account on a call report, the platform, and the types of activities captured, the value of the call_type__v field on the call2__v object is set as follows:
Call Type | Criteria |
---|---|
Call Only |
The call is against a person OR a business account. No details or samples are recorded. |
Detail Only |
The call is against a person account. There is at least one detail product selected. No samples are recorded. |
Group Detail |
The call is against a person account on a group call, a person account with call location, or a business account. There is at least one detail product selected. No samples are recorded. |
Sample Only | The call is against a person OR a business account. There is at least one sample, BRC, or alternative sample product selected. No details are recorded. |
Detail with Sample | The call is against a person account. There is at least one detail product selected AND at least one sample, BRC, or alternative sample product selected. |
Group Detail with Sample | The call is against a person account on a group call, a person account with call location, or a business account. There is at least one detail product selected AND at least one sample, BRC, or alternative sample product selected. |
Event Only |
The call is against a medical event. No details are recorded. |
Event Detail |
The call is against a medical event. There is at least one detail product selected. |
Configuring Call Reporting for

To configure this module:
- Ensure Configuring Accounts and Configuring the Product Catalog are complete.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
-
Grant the following permissions:
Object | Object Permission | Object Types | Fields | Field Permission |
---|---|---|---|---|
account__v | at least R | All appropriate object types | n/a | n/a |
call2__v | CRED |
|
|
Edit |
entity_display_name__v | Read | |||
call2_detail__v | CRED | n/a |
|
Edit |
call2_discussion__v | CRED |
|
|
Edit |
is_parent_call__v | Read | |||
call2_key_message__v | CRED | n/a |
|
Edit |
expense__v | CRED | call__v |
|
Edit |
local_currency__sys |
Read |
|||
expense_type__v | R | expense_type__v |
|
Read |
key_message__v | CRED | n/a |
|
Edit |
|
Read |

To configure this module:
- Ensure Configuring Accounts and Configuring the Product Catalog are complete.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
-
Grant the following permissions:
Object Object Permission Object Types Fields Field Permission account__v R All appropriate object types - account_identifier__v
- credentials__v (optional)
- do_not_call__v
- middle_name_cda__v (optional)
- preferred_name__v (optional)
- suffix_cda__v (optional)
Read address__v CRE repmaintained__v - name__v
- street_address_2_cda__v
- city_cda__v
- postal_code_cda__v
- primary_cda__v
- state__v
Read call_cycle_entry__v CRED n/a - name__v
- duration__v
Read call2__v CRED - callreport__v
- event__v
- address__v
- attendees__v
- attendee_type__v
- call_channel__v
- call_date__v
- call_datetime__v
- call_type__v
- call2_status__v
- child_account__v
- child_account_id__v
- controlling_parent_account__v
- detail_section_attribute__v
- detailed_products__v
- expense_amount__v
- expense_post_status__v
- last_device__v
- location_id__v
- location_name__v
- location_text__v
- mobile_last_modified_date_v
- submitted_by_mobile__v
- territory__v
- trigger_timestamp__v
- user__v
Edit entity_display_name__v
Read call2_detail__v CRED n/a - call2__v
- detail_group__v
- detail_priority__v
- product__v
- type__v
Edit call2_discussion__v CRED - callreport__v
- event__v
- account__v
- attendee_type__v
- call2__v
- call_date__v
- detail_group__v (optional; if using detail groups)
- mobile_id__v
- product__v
- user__v
Edit is_parent_call__v Read call2_key_message__v CRED n/a - account__v
- call2__v
- call_date__v
- detail_group__v
- key_message__v
- key_message_name__v
- product__v
- reaction__v
Edit expense__v CRED call__v - amount__v
- call2__v
- description__v
- expense_type__v
- transaction_date__v
Edit local_currency__sys
Read
expense_type__v R expense_type__v - active__v
- exclude_from__v
Read key_message__v R n/a - active__v
- description__v
- detail_group__v
- display_order__v
- language__v
- media_file_name__v
- product__v
Read my_setup_products__v CRED n/a favorite__v Read tsf__v R All appropriate object types address__v Read user__sys n/a n/a user_identifier__v Read - Grant users View permission for the following object controls on the call2__v object:
- call_attendees_section__v
- call_details_section__v
- delete__v - Optional; enables the Delete button
- key_messages_section__v
- expenses_section__v
- more_actions__v - Optional; enables the More Actions button
- product_discussion_section__v
- save__v
- submit__v
- Navigate to Admin > Configuration > Objects > call2__v.
- Select the Object Types tab.
- Ensure the following values are available under Picklist Values for the call_channel__v field on each call2__v object type:
- face_to_face__v
- video__v
- phone__v
- message__v
- email__v
- other__v
- Select the Layouts tab.
- Add the following app sections to the appropriate call2__v layouts:
- call_attendees_section__v - Enables Adding Call Attendees
- call_details_section__v - Enables Detailing Products on the Call Report
- key_messages_section__v - Enables Using Key Messages on the Call Report
- expenses_section__v - Enables Capturing Expenses on the Call Report
- product_discussion_section__v - Enables Capturing Product Discussions on the Call Report
Adding standard or custom fields to the Fields section on app sections (for example, call_attendees_section__v) is not supported, unless specified in feature configuration.
-
Ensure the buttons__c detail form section is included on all call2__v layouts, and add the following object controls to the section:
- save__v - Every layout on the call2__v object must include the Save object control in the buttons__c detail form section
- submit__v
- delete__v - Optional; enables the Delete button
- more_actions__v - Optional; enables the More Actions button
Fields are not supported in the buttons__c detail form section, unless specified in feature configuration.
-
Place the following fields on call2__v layouts:
- call_channel__v
Ensure the call_channel__v field is not set as read-only on call2__v layouts. If the call_channel__v field is read-only, sync errors may occur when users save calls.
- call_datetime__v
- call_type__v
- territory__v
- Navigate to Admin > Configuration > Objects > tsf__v.
- Select the Layouts tab.
- Place the preferred_account__v field on the appropriate tsf__v layouts.
- Configure additional fields for product discussions, besides the product__v field (optional):
- Navigate to Admin > Configuration > Objects > call2_discussion__v
- Select the Layouts tab
- Place the appropriate fields in the information_vod__c section on call2_discussion__v layouts to enable users to capture additional information about product discussions. By default, the section only includes the product__v field.
- Ensure VMOCs are enabled for call reporting:
- Navigate to Business Admin > Objects > vmobile_object_configuration__v
- Ensure VMOCs are active for the following objects, on the appropriate platforms:
- account__v
- address__v
- call2__v
- call2_detail__v
- call2_discussion__v
- call2_key_message__v
- expense__v
- expense_type__v
- key_message__v
- my_setup_products__v
- tsf__v
- user__sys
Defining Call Object Types
Call reporting supports multiple object types in order to meet the various business needs of different organizations and user roles. Each call object type can be assigned its own layout for each Security Profile. This enables different types of users to capture data relevant to their unique role. Each of the object types and layouts included in the Vault CRM application can be configured to further refine the data elements captured during a call. Additionally, new call object types can be created along with corresponding layouts. The call object type defaults based on the object type assignment for the user's profile.
By default, the following object types are available:
Object Type |
Description |
---|---|
callreport__v |
Used for Primary Care or Specialty sales representatives to record a call with one or more HCPs, and typically includes product detailing and discussions, and Key Messages, as well as samples and promotional items distributed |
engage_connect__v | Used for Engage Connect Chat Messages. For more on Engage Chat, see Using Engage Chat in CRM. |
event__v |
Used to record a call related to a medical event that typically includes product detailing, discussions, and Key Messages |
msl_meetingbrief__v |
Used to record an interaction between an HCP and a Medical Science Liaison that typically includes product detailing, discussions, and Key Messages |
medical_inquiry_fulfillment__v | Used for call2__v records created from medical inquiry fulfillment. For more on medical inquiry fulfillment, see Medical Inquiry Fulfillment. |
meetingbrief__v |
Used for a Managed Markets representative to record meetings with payers and typically includes product details and discussions |
Customers can also create custom object types as needed. When creating custom object types for Call Reporting, ensure the last_device__v field is enabled for all object types.
Defining a Default Call Object Type Based on the Account Object Type
When users create calls, a default call object type can be applied based on the account object type of the primary account of the call. This default overrides the call object type determined at the object level. If a default is not specified in the default_call_record_type__v Veeva Setting, the standard object type assignment is applied.
To set a default call object type for account object types:
- Navigate to Business Admin > Objects > veeva_settings__v.
- Populate the default_call_record_type__v Veeva Setting with the following text:
DEFAULT_CALL_RECORD_TYPE;;Common - Navigate to Business Admin > Objects > message__v.
- Populate the DEFAULT_CALL_RECORD_TYPE Veeva Message with the appropriate account__v object type and call2__v object type field names. List one call report object type per account object type. Use the following format:
<ACCOUNT_OBJECT_TYPE1>,<DEFAULT_CALL_OBJECT_TYPE>;;
For example, the following makes calls of type msl_call the default call type when recording a call against accounts of type hospital__v:
hospital__v,msl_call;;
The user must have access to the call object types specified in the Veeva Message. If the user does not have permission for the call object type, or the call object type is not included in the allowed_call_record_types__v Veeva Setting when Restricting Calls by Account Object Type is enabled, then the default object type for the call2__v object is used.
Enabling Object Type Selection for CLM Calls
To enable users to select a call report object type when creating a call from CLM:
- Navigate to Business Admin > Objects > multichannel_settings__v.
- Select the select_clm_call_record_type__v Multichannel Setting check box.
If the user has the ability to create a call for more than one object type, an object type selector pop-up displays when the user creates a call for an account. The pop-up displays when launching media from pages where the call object type cannot be edited before launching media.
If there is only one object type available to the user, it is automatically used.
Configuring the Record a Call Action
Users can create a call using the Record a Call action throughout Vault CRM. These buttons are available on the account__v and medical_event__v objects, and can be added to additional object types to provide specific functionality to users as needed.
Selecting the Record a Call action creates a call for the currently active account or medical event. The default object type of the call depends on the user’s profile, object type settings, and the default_call_record_type__v Veeva Setting, if configured. On mobile device platforms, the Record a Call action displays based on object permissions and any object type restrictions set by Restricting Calls by Account Object Type.
Configuring Layout Profiles for Call Reporting
To enable differing call report layouts based on the user's profile, configure layout profiles for the call report. Layout profiles are used to control the object layouts users see when viewing an object record detail page. This enables users to view different layouts depending on their assigned profile. For more on configuring layout profiles, see Configuring Layout Profiles.
This functionality is only available on the Browser platform.
Supporting Custom Fields
Custom fields can be added to the call2__v object to better support specific business processes. However, not all field types are supported on the call report. The following field types are available for all Vault CRM platforms:
- Yes/No
- Currency
- Date
- DateTime
- Number
- Picklist
- Picklist (Multi-select)
- Long Text
- Reference (Object Reference, Lookup)
- Text
Using Criteria VQL to Filter Records is not supported on the call report.
User Object References
For data capture and reporting needs in Vault CRM implementations where user attendees cannot be added to calls through the attendee search, create a generic object reference field from the call2__v object to the user__sys object. This enables users to indicate other Vault CRM users attended a call. When adding another Vault CRM user to a call via reference fields, a child call is created for the other user, but the other user is not treated as an actual attendee.
User object reference fields are not the equivalent of the Search User section attribute. Object reference fields are for data capture and reporting purposes only.