To configure Conversation Capture in Riva:
- Stop the Riva sync service.
- Configure the sync policy for Conversation Capture.
- Configure the Salesforce connection for Conversation Capture.
- Start the Riva sync service.
Appendix: Configuring Conversation Capture for a Salesforce custom module.
Step 1: Stop the Riva Sync Service
- In Windows Services, stop the service named "Omni Riva (Sync Service)".
Step 2: Configure the Sync Policy for Conversation Capture
Start the Riva Manager application.
In the right pane, double-click the policy to edit it.
In the policy, on the SmartConvert page, select one or two check boxes:
under Processing Requirements, select Automatically synchronize emails based on conversation.
If you sync contracts or want to set up an automatic relationship between a conversation and an account, then on the SmartConvert page, under Advanced Options, select Assign to Account of matched Contacts.
If you sync contracts, then on the Inbox and Sent Items pages, under Advanced Options, select Assign to Account of matched Contacts. If at the top of those pages, you had to select the Enable check box to be able to select Assign Account of matched Contacts, clear the check box, and double-check that the Assign Account of matched Contacts check box is still selected even though it appears in light grey characters.
Optional: configure the number of days that a conversation can remain idle before timing out.
Note: By default, if no activity has occurred in a conversation for 180 days, Conversation Capture stops for that conversation.
To change that number of days, do as follows:
On the Advanced Options page, near the bottom, select Manage Conversation Mode.
In the Configure Conversation Mode Time Frame window that appears, enter the number of days to be calculated from the conversation's last email's Create Date.
Note: If the Create Date cannot be found, the Register date is used instead.
Save the policy.
The policy's Advanced Options page now displays this advanced option: Sync.Ex.ProcessConversation.Enabled = True.
If you have configured the number of days that a conversation can remain idle before timing out, the policy's Advanced Options page also displays this advanced option: Sync.Ex.ProcessConversations.ImplicitTracking.ExpiryInDays = d, where d is the number of days since the conversation's last email's Create Date. If the Create Date cannot be found, the Register date is used instead.
Step 3: Configure the Salesforce Connection for Conversation Capture
In the Riva Manager application, in the right pane, double-click the Salesforce connection to edit it.
In the CRM Connection Edit window, on the Options page, select this check box: Email: Enable Managed Package for Conversation Capture.
When you are asked to refresh the metadata,
if you are certain that all the Object Definition fields that should be locked are locked, select Yes.
Otherwise, select No and navigate to the Object Definition page to lock the fields that might otherwise be deleted if you refresh the metadata. Watch out especially for the fields that are required for customizations.
Note: The Connection Advanced Options window now displays this advanced option: Crm.Salesforce.SyncEmailBasedOnConversation = true.
Save the connection.
Step 4: Start the Riva Sync Service
In Windows Services, start the service named "Omni Riva (Sync Service)".
Result: If Salesforce has been configured for Conversation Capture, Conversation Capture can be started for conversations that are not prevented from syncing by filters.
Example of a filter that may prevent syncing: On the SmartConvert page, both of these options are cleared (= not selected): "Must match or create at least one Contact or Lead" and "Users and Contacts are mutually exclusive". If everyone on the To, Cc, and Bcc fields are users on your CRM, then the email conversation is not synced.
Appendix: Configuring Conversation Capture for a Salesforce Custom Module
Riva 184.108.40.206496 or higher.
To configure Conversation Capture for a Salesforce custom module:
Configure the following advanced option on the connection:
Sync.Crm.CustomObjectConfig.PrimaryParentIdField.Conversation = Custom1 (Replace Custom1 with the string that represents the custom module.)
Note: You may also need to configure the following advanced options:
Sync.Crm.CustomObjectConfig.DescriptionField.Conversation = Riva__Body__c
Sync.Crm.ProcessConversations.TrackConversationInCrm.Enabled = true
Sync.Crm.ProcessConversations.TrackConversationInCrm.ObjectType = Conversation
Sync.Crm.CustomObjectConfig.ModuleClass.Conversation = Riva__Conversation__c
Sync.Crm.CustomObjectConfig.ModuleDisplayName.Plural.Conversation = Conversations
Sync.Crm.CustomObjectConfig.ModuleDisplayName.Singular.Conversation = Conversation
Sync.Crm.CustomObjectConfig.NameField.Conversation = Name
Sync.Crm.CustomObjectConfig.PrimaryAccountIdField.Conversation = Riva__Account__c
Sync.Salesforce.CustomObjectConfiguration.FieldsToSet.Conversation = Name,Riva__RelatedItemTextId__c,Riva__Account__c