Personalized Content Generation
Content creators can deliver account-specific PDFs to HCPs directly from a CLM presentation based on user-provided information, enabling highly relevant, personalized information to be provided to accounts quickly and easily. Personalized content is prepared as a PDF containing form fields in PromoMats or MedComms. Generation of the content is initiated within CLM slides and the resulting content is stored and published as a Veeva Content record in Vault CRM. End users can then send an Approved Email with the generated content automatically attached.
Who can use this feature?
- Content Creators – Browser
- Creating Personalized Content Templates
- End Users – iPad
- Using Personalized Content Generation
- HCPs – Browser
- Viewing Personalized Content
- Business Admin Users – Browser
- Expiring Personalized Content
- Users require an Approved Email license
Configuring Personalized Content Generation for
To configure this feature:
-
Ensure the following features are configured:
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate Permission Set.
- Select Objects.
-
Grant the following permissions:
Object
Object Permission
Object Types
Fields
Field Permission
email_activity__v
CRE
veeva_content_player_activity__v
- activity_datetime__v
- client_name__v*
- client_os__v*
- client_type__v*
- device_type__v*
- duration__v
- event_type__v
- ip_address__v*
- media_type__v
- transaction_type__v
- user_agent__v*
- veeva_distribution__v
- veeva_content__v
Edit
veeva_content__v
CRE
dynamic_content__v
- account__v
- allow_source_download__v
- dynamic_content_vault_doc_id__v
- dynamic_content_vault_instance_id__v
- expiration_date__v
- name__v
- publish_for_distribution__v
Edit
veeva_distribution__v
CRE
crm_content__v
- distribution_channel__v
- processing_status__v
- veeva_content__v
- related_attachment_id__v
- related_object_name__v
- related_object_record_id__v
Edit
*These fields are optional and enable capturing additional recipient details.
To configure this feature:
-
Ensure the following features are configured:
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate Permission Set.
- Select Objects.
-
Grant the following permissions:
Object
Object Permission
Object Types
Fields
Field Permission
sent_email__v
CRE
clm__v
- veeva_content__v
Edit
veeva_content__v
R
- dynamic_content__v
- crm_content__v
- account__v
- allow_source_download__v
- content_status__v
- dynamic_content_vault_doc_id__v
- dynamic_content_vault_instance_id__v
- expiration_date__v
- name__v
- publish_for_distribution__v
Read
veeva_distribution__v
R
crm_content__v
- cdn_status__v
- cdn_path__v
- cdn_path_contains_org__v
- content_status__v
- distribution_channel__v
- processing_status__v
- veeva_content__v
- related_attachment_id__v
- related_object_name__v
- related_object_record_id__v
Read
- Navigate to Admin > Configuration > Objects > veeva_distribution__v > Object Types > crm_content__v > distribution_channel__v.
- Add the Published Content picklist value to the picklist override list.
- Select Save.
Creating Personalized Content Templates as
In the appropriate PromoMats or MedComms Vault, content creators can define the template end users personalize, the CLM content that collects the input, and the Approved Email content that delivers the result.
Creating a Personalized Content Template
The personalized content template determines which values end users supply and where those values land in the generated document. Each form field in the template carries its own identifier, and that identifier is the key the CLM content references later.
To create a personalized content template:
- Create the template as a PDF.
- Define all form fields in the PDF for each value for end users to personalize. Ensure each form field has a unique identifier.
- Create a document of the appropriate document type, for example, Promotional Piece or Reference Document.
- Upload the template.
- Move the document to a Steady State.
- Record the Vault Instance ID and the Vault Document ID of the document as this is needed for referencing in CLM content.
Adding Content Personalization to CLM Content
After publishing the template, add the following functions to the appropriate CLM content to retrieve the template, generate the personalized version, publish it to Vault CRM, and launch the Send Email page:
-
generateDynamicContent() – Retrieves the specified dynamic content template from PromoMats/MedComms, then creates and publishes a personalized PDF version of CLM content with the field values provided
The generateDynamicContent() function is only supported on iPad. Do not include the function in content presented on Windows, Mac, or iPhone.
- launchApprovedEmailWithVeevaContent() – Launches the specified email template in Approved Email from CLM content containing a link to the personalized PDF
Adding the DynamicContentLink Token to Approved Email Content
Content creators must also specify where within the email template defined by the launchApprovedEmailWithVeevaContent() function to attach the generated content. After the CLM content generates the document, the Approved Email content delivers it. The {{DynamicContentLink}} token resolves to the HCP Content Player URL of the generated content.
To add the token to an email template or fragment:
- Edit the appropriate Email Template or Email Fragment in the BEE Editor.
- Select the appropriate content block.
-
Navigate to Special Links > Content Links > Dynamic Content Link. The token is inserted with the following properties:
- Link Type – URL
- URL – {{DynamicContentLink}}
- Underline Link – TRUE
- Text to display – Dynamic Content Link
- Target – New window
- Select Save.
Templates and fragments reserved for distributing personalized content are not intended for manual selection. To hide this content from the end user’s template and fragment lists, ensure the crm_hidden__v checkbox is selected.
Using Personalized Content Generation as
To generate personalized content:
- Open the appropriate CLM presentation.
- Navigate to the slide that collects the personalized values.
- Enter the appropriate values in the form.
- Select the action the content creator defined to generate the document via the generateDynamicContent() function. An internet connection is required.
After the document is generated, end users can review the generated content by selecting the Dynamic Content Link in the subsequent Approved Email preview.
Note: The preview link remains valid for 10 minutes from the time Vault CRM generates it. The content opens in the HCP Content Player, but activity on the preview link is not tracked and content cannot be downloaded via the preview link.
After confirming the document is correct, end users can send the email to provide the HCP the personalized content. The Veeva Content record ID stamps on the veeva_content__v field of the resulting sent_email__v record, and a sent_document__v record with an object type of sent_veeva_content__v is also created.
Viewing Personalized Content as
HCPs view personalized content in the HCP Content Player and, when the content creator permits it, download the document.
To view personalized content:
- Open the Approved Email message.
- Select the content link. The HCP Content Player opens in a new tab in the device’s default browser.
After viewing the document, HCPs can download the content by selecting the Download button in the top-right corner of the HCP Content Player.
An email_activity__v record with the Veeva Content Player Activity object type is created for each page viewed for more than two seconds, as well as for each initiated download.
Expiring Personalized Content as
Generated content remains available to recipients until a business admin user expires it or removes it from distribution.
Users cannot delete a veeva_content__v record that has been approved and published, so the record must first be either expired or withdrawn from publication:
- Navigate to Business Admin > Objects > Veeva Content.
- Open the appropriate Veeva Content record with the Dynamic Content object type.
-
Edit one of the following fields:
- content_status__v – Update to expired__v
- publish_for_distribution__v – Unselect this checkbox
- Select Save.

