Integrating Vault CRM and PromoMats / MedComms for Approved Email
- Document Model
Customers have the option to use PromoMats or MedComms to build Email Templates, Email Fragments, and Template Fragments that are reviewed and approved in PromoMats and MedComms, without Content Creators maintaining a separate copy of that content in Vault CRM.
When Approved Email content is developed this way, PromoMats and MedComms remain the single source of truth for approved email content, and the Approved Email Integration syncs that content, its related documents, and their relationships into Vault CRM as documents.
The integration is an inbound standard Vault to Vault integration under the PromoMats - CRM and Medical - CRM Connections, and supports connecting many PromoMats and Medical Vaults to many Vault CRMs. It syncs Email Templates, Email Fragments, Template Fragments, and their related documents as Crosslinks, so the source file and viewable renditions continue to be maintained in the source Vault, and Vault CRM controls the publishing of Approved Email content to the Vault CRM CDN.
Because the integration runs closer to real time than the legacy Approved Email integration, Content Creators publish approved content once and End Users compose emails from the current approved version. The Country Integration limits each regional Vault CRM to the content assigned countries that Vault actually uses, and the standard configuration of Integration Rules, Query Object Rules, Field Rules, and Reference Lookups can be added to, modified, or disabled.
Who can use this feature?
- Content Creators – Browser
- Using Approved Email Integration
- Integration Users – Browser
- Syncing Approved Email Content
- Users require an Approved Email license
Configuring Approved Email Integration for
To configure this feature:
- Ensure Configuring Approved Email as Document Model is complete.
- 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 user_exception_message__v
R
All
All
Read
user_exception_item__v
R
All
All
Read
connection_settings__v
RE
Approved Email Integration Settings
country_filter__v
Edit
-
Navigate to the Application tab of the permission set.
-
Select the Manage Connections checkbox.
-
Navigate to Admin > Settings > General Settings.
-
Select the Enable CrossLink Documents checkbox.
-
Navigate to Admin > Configuration > Document Types.
-
Select the Email Template type.
-
Select Edit Details from the All Actions menu.
-
Select Source document’s source file and rendition for the CrossLink Source Type field.
-
Repeat this process for the Email Fragment and Template Fragment types.
-
Activate the Approved Email Integration and its Integration Points in the Connection. The following records are automatically provisioned as Inactive by default:
Record Name API Name Integration PromoMats-CRM: Approved Email Integration promomats_crm_ae_i__v Integration Medical-CRM: Approved Email Integration medical_crm_ae_i__v Inbound Integration Point <Connection Name>: Approved Email <connection_name>_approved_email_iip__v Outbound Integration Point <Connection Name>: Approved Email Country Available values are:
-
promomats_crm_ae_country_oip__v
-
medical_crm_ae_country_oip__v
Integration Rule <Connection Name> Approved Email Integration Rule Available values are:
-
promomats_crm_approved_email_ir__v
-
medical_crm_approved_email_ir__v
Duplicate integration record names, and the names of all records under the integration, are appended with a number, for example PromoMats-CRM: Approved Email Integration 001.
-
Mapping Document Types
The following standard Document Type Reference Lookups in the Connection are defined by default and cannot be edited:
| PromoMats/MedComms Document Type | Vault CRM Document Type |
|---|---|
| Email Template (email_template__v) | Email Template (email_template__v) |
| Email Fragment (email_fragment__v) | Email Fragment (email_fragment__v) |
| Template Fragment (template_fragment__v) | Template Fragment (template_fragment__v) |
| Reference > Labeling (reference__v.labeling__v) | Reference > Labeling (reference__v.labeling__v) |
| Reference > Important Safety Information (reference__v.important_safety_information__v) | Reference > Important Safety Information (reference__v.important_safety_information__v) |
To map custom Document types between Vault CRM and PromoMats/MedComms:
-
Navigate to the appropriate Connection record.
-
Create a Document Type Reference Lookup record in the Connection, then create a Reference Lookup record for each custom document type configured as Related Piece, Related Medical Content, or Other Related Documents.
Only document types with Reference Lookups defined sync through the integration.
-
Populate the source key with the document type API name in PromoMats/Medical Vault, defined down to the classification level where applicable:
- doctype__v
- doctype__v.subtype__v
- doctype__v.subtype__v.classification__v
Each source key must be unique, and the Reference Lookup must be Active to apply. Document Type Reference Lookups on the PromoMats - CRM and Medical - CRM Connections apply when Active without being added to a Field Rule.
Mapping Document Lifecycles
For document types that do not use the Vault CRM Content Lifecycle, customers must define a Document Lifecycle State Reference Lookup record in the Connection for each lifecycle state that maps to Vault CRM.
Populate the source key with the Document lifecycle and lifecycle state API name in PromoMats/Medical Vault, for example general__c.draft__c. Each source key must be unique, and the Reference Lookup must be Active to apply.
There is no default lifecycle, and Documents that are not assigned to the CRM Content Lifecycle and do not have Document Lifecycle State Reference Lookups defined fail to sync. Email Templates, Email Fragments, and Template Fragments are hard-coded to the Vault CRM Content Lifecycle and use the following mappings:
| PromoMats/Medical Vault State Type | Vault CRM Lifecycle State |
|---|---|
| Steady State | Approved |
| Obsolete State | Expired |
| Superseded State | Superseded |
| All Other States | Staged |
Default Reference Lookups are also provisioned to the General Lifecycle (general_lifecycle__c) in Vault CRM for the Reference > Labeling and Reference > Important Safety Information document types, which are assigned that lifecycle by default:
| Source Key | Vault CRM Lifecycle State |
|---|---|
| medical_library__c.approved_for_use__c reference_documents__c.approved_for_use__c |
approved__c |
| medical_library__c.expired__c reference_documents__c.expired__c |
obsolete__c |
| medical_library__c.draft__c reference_documents__c.draft__c |
draft__c |
Customers must also add the Rendition Transfer Status (rendition_transfer_status__v) field to any additional Document type configured to sync through the integration. This field is automatically provisioned on the dynamic_word_template__v, reference__v.important_safety_information__v, reference__v.labeling__v, and slide__v Document types and is hidden by default. It is used only by Vault CRM processes to determine when all renditions for a document are available, and should never be viewed or set manually.
Mapping Reference Fields
Reference fields on Documents in PromoMats/MedComms can also be mapped to Vault CRM, enabling these fields to resolve correctly during the sync and integration via Field Rules on the Approved Email Integration Rule.
The following standard fields map from PromoMats/Medical Vault to Vault CRM:
| Vault CRM Document Field | PromoMats/MedComms Query Object | Query Field |
|---|---|---|
| brand__v | document_product__vr – For PromoMats document_local_product__vr – For MedComms |
name__v |
| product_family__v | document_product_family__vr – For PromoMats document_product__vr – For MedComms |
name__v |
| indication__v | document_indication_disease__vr | name__v |
| language__v | documents | language__v |
| restrict_fragments_by_product__v | documents | restrict_fragments_by_product__v |
| audience__v | documents | event_audience__v |
| bcc__v | documents | bcc__v |
| check_consent__v | documents | check_consent__v |
| target_platform__v | documents | crm_target_platform__v |
| content_type__v | document_content_type__vr | external_id__v |
| title__v | documents | title__v |
| document_host_url__v | documents | document_host_url__v |
| email_builder__v | document_content_module__vr | name__v |
| email_domain__v | documents | email_domain__v |
| events_management_subtype__v | documents | crm_template_subtype__v |
| email_from_address__v | documents | from_address__v |
| email_from_name__v | documents | from_name__v |
| hidden__v | documents | crm_hidden__v |
| key_message__v | document_key_message__vr | external_id__v |
| email_replyto_address__v | documents | reply_to_address__v |
| email_replyto_name__v | documents | reply_to_name__v |
| email_subject__v | documents | subject__v |
| survey__v | document_crm_survey1__vr | external_id__v |
| territory__v | documents | territory__v |
| email_template_type__v | documents | email_template_type__v |
Older instances of PromoMats/MedComms will need to manually map reference fields if they use the __c Document Types.
To configure this feature:
-
Ensure Configuring Approved Email as Document Model is complete.
-
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 Document
R
All appropriate object types
All mapped fields
Read
Using Approved Email Integration as
Content Creators create, review, and approve Email Templates, Email Fragments, and Template Fragments in PromoMats and MedComms, and the integration transfers them to Vault CRM. Documents are created with bound reference to the corresponding Document version in PromoMats and MedComms, meaning that new draft versions can be created in PromoMats or MedComms without affecting availability in Vault CRM. When a new Approved version of a Document is synced via the integration, a new version of the Document is created in Vault CRM.
In addition, the integration syncs the fields mapped through Field Rules and the Assets rendition. Content Creators can confirm in PromoMats/Medical Vault that documents were successfully crosslinked to Vault CRM.
The following fields are populated automatically on Approved Email documents in Vault CRM and are not mapped through Field Rules:
| Vault CRM Document Field | Populated With |
|---|---|
| name__v | The source Document's name__v |
| detail_product__v | The crm_product__v value in PromoMats/Medical Vault, matched on external_id__v to vexternal_id__v in Vault CRM. If crm_product__v is null, the product__v value is used. If neither field is populated, Detail Product remains null and the document syncs successfully. |
| product_group__v | The crm_product_group__v value in PromoMats/Medical Vault, matched on the combination of the referenced Product and Detail Group. |
| detail_group__v | The crm_detail_group__v value in PromoMats/Medical Vault, matched on external_id__v to vexternal_id__v in Vault CRM. If crm_detail_group__v is null, the detail_group__v picklist value label is matched to name__v in Vault CRM. If neither field is populated, Detail Group remains null and the document syncs successfully. |
| vexternal_id__v | <vault DNS>__<source vault doc ID>__<source vault doc version> |
| source_vault_dns__v | The source Vault's DNS. |
| source_vault_document_id__v | The source Vault document's ID. |
| publish_method__v | vault_user_published__v |
| cdn_processing_status__v | waiting_for_assets__v, if the document has an Assets rendition. |
| email_allows_documents__v | True, if the Email Template contains the {{insertEmailFragments}} or {{insertEmailFragments[Minimum,Maximum]}} token. |
| ai_enabled_template__v | True, if the Email Template contains the {{aiRewriteStart}} or {{aiRewriteEnd}} token. See Agentic Email Overview for more information. |
Syncing Approved Email Content as
To sync Approved Email content to Vault CRM:
- Create or update an Email Template, Email Fragment, or Template Fragment in PromoMats/Medical Vault.
- Move the document to a lifecycle state that syncs through the integration. By default, only Steady State documents sync.
- Confirm the document is assigned a country included in the Country Filter of the target Vault CRM, if the Approved Email Country Integration Point is active. Documents with no countries assigned always sync.
PromoMats/Medical Vault records all changes to Approved Email documents and notifies Vault CRM, which schedules a job to run five minutes later. Vault CRM then queries only the documents that changed since the last successful run. Changes that sync include document versions and renditions that are created, updated, or deleted, changes to document metadata, and changes to Approved Email document relationships. On the first full sync after the integration point is activated, only the latest minor version and the latest steady state version sync. Superseded and Obsolete versions are maintained in Vault CRM after incremental and subsequent full syncs.
To sync Documents related to Approved Email content, relate the document to an Email Template, Email Fragment, or Template Fragment in PromoMats/Medical Vault using one of the following relationships:
| PromoMats/Medical Vault Relationship | Vault CRM Relationship |
|---|---|
| Related PI | Related PI |
| Related Email Fragments | Related Email Fragments |
| Related Template Fragments | Related Template Fragments |
| Related Piece (PromoMats) Related Medical Content (Medical) |
Related Piece |
| Related ISI | Related ISI |
| Other Related Documents | Other Related Documents |
Related documents sync as version-specific Documents, in the same way that Approved Email content syncs.
To remove Approved Email content from Vault CRM, delete the Document in PromoMats/Medical Vault, or move it to an Obsolete state. The corresponding document in Vault CRM moves to the Expired state instead of being deleted, which maintains the references other records in Vault CRM have to it. A related document that is expired or obsolete in PromoMats/Medical Vault is expired in Vault CRM, and its Approved Email document relationships are preserved. A related document that is removed from all Approved Email document relationships in PromoMats/Medical Vault is expired in Vault CRM.
Documents that sync through the integration are read-only in Vault CRM. Modifying document metadata or document relationships in Vault CRM, including adding or removing related documents, is not supported.
When a document fails to sync, Vault CRM creates a User Exception Message with User Exception Items that contain the IDs of the documents that failed. Documents fail to sync and move to the Sync Error lifecycle state, if they were previously synced, in the following scenarios:
- The document has a mapped field that references a Vault Object record that does not exist in Vault CRM
- The document has a required field in Vault CRM that is not populated in, or mapped from, PromoMats/Medical Vault
- The document has a mapped field that references a picklist value that does not exist in Vault CRM
- The Email Template or Email Fragment has a relationship to a document that fails to sync
When a related document fails to sync, it also causes a sync failure for any Email Templates or Email Fragments related to it. When a text field in PromoMats/Medical Vault is longer than the mapped field in Vault CRM, the value truncates when it syncs and a warning displays in the logs, but the sync does not fail and no User Exception Message is created.
User Exception Messages are set to Inactive when the user runs the Reprocess Request action on the User Exception Message, or the next time the related integration runs successfully.
When the Document Transfer Integration is active in the same Connection and is configured to sync the same documents, the two integrations do not run at the same time. When one integration receives a notification while the other is running, it waits for the running integration to complete before starting. Documents are not duplicated, because each integration checks whether the document was already created or updated by the other. Where the Approved Email Integration is configured to sync non-steady state related documents and the Document Transfer Integration is not, the Approved Email Integration syncs the latest non-steady state version and the Document Transfer Integration syncs only changes to Steady State versions. If one integration encounters an error syncing a document, the other still attempts to sync it, and each integration checks whether the other has already resolved the error before retrying.

