Salesforce Integration Enhancements
Here's a summary of the updates we have released to our Salesforce integration over the past 2 months.
Version 1.6 was released to the AppExchange on 6/18.
With this release we added new performance and UX enhancements as outlined below.
Custom Field Mapping Modal
- Made the custom field mapping modal taller to avoid picklists going off the bottom of the screen
- Updated sorting for the Boomtown API field picklist to be alphabetical
- Update the sort order of the Salesforce field picklist to be alphabetical
Future Method Update
Salesforce does not allow batches to be triggered from future methods for third party applications. We have updated our application to delay the batch updates from the Boomtown app until after the future method is completed in order to avoid these errors.
Skipping Unneeded Batch Updates
We added a performance enhancement that is an additional check on the workflow rules to first check if any of the mapped fields changed. We will only call the data sync if the change on the record is for a field that is mapped. Otherwise, we skip the sync since no data will transfer between systems.
Account Name Mapping Update
We updated the Account Name mapping to update both the Boomtown Customer Name and the Boomtown Location name. If the Salesforce Account Name changes, the Customer Name and Location Name will remain in sync between Salesforce and Boomtown.
Enhanced Contact Mapping
We enhanced our Contact mapping for when Cases are synced from Boomtown to Salesforce and Contact record are not synced. If the Boomtown Case is related to a Contact that is not synced, we will check the email, phone number, and name of the Contacts on the related Account to see if we can find a matching Contact. If one is found, we will relate that Contact to the Case in Salesforce. This increases the likelihood that Contacts in Salesforce will be appropriately tagged even when Contact data syncing is turned off.
Additional Control Over Case Comment Syncing
We added an additional field on the Mappings tab that allows users to select the direction of how Case Comments get synced. You can set comments to not sync, unidirectional, and bidirectional. Case Comment syncs are still only triggered when Case Workflow Rules evaluate to true.
Additional Mapping Options for Lookup Fields
You can now use Lookup Fields in your Workflow Rules (previously hidden). This will provide additional flexibility for building custom Workflow Rule logic.
Version 1.7.0 was released to the AppExchange on 7/14.
This is a minor release that had a few bug and performance enhancements.
Updated Custom Field Data Sync on Initial Case Creation
Previously custom field data would only sync after the record was created and then updated. We updated this workflow so custom field data syncs from Salesforce to Boomtown on initial record creation. We also fixed a bug where this was causing fields in Salesforce to become blank after the sync back from Boomtown.
Added Flex Queue Check
We added an extra check on the data sync to make sure that adding the batch job to the flex queue will not push it over the 100 job limit that Salesforce imposes. If we find that the batch job will push the Flex Queue past 100 jobs, we will skip the sync for those records. In the future we will add a queue mechanism to hold those syncs until after the Flex Queue has returned to lower levels.
We updated our app for test classes. We added a check for the existence of custom settings in our code and test environment. This will allow organizations to run automated tests that include our managed package.
Other Small Updates
- We found that in the Performance Edition of Salesforce, the standard Subject field was not available as one of the field mapping options. We updated our logic to ensure this field is accessible as a mappable field and will also appear as the default mapping option from Boomtown Case Name when the app is installed.
- We fixed a bug preventing organizations from changing the tokens and keys once the app was configured.
Version 1.7.2 was released to the AppExchange on 8/4.
- Fixed a LimitException when too many queable jobs were added to the queue from simultaneous background processes
- Fixed a bug preventing new tokens from saving in some Salesforce environments
Version 1.8.0 was released to the AppExchange on 8/11.
- Updated our sync logic to queue requests coming from a Batch in the same way we queue requests form from Future Methods
- Updated the app with a performance enhancement making the evaluation logic 13% faster
Version 1.9.1 was released to the AppExchange on 8/31.
- Moved all bulk changes to a new queueable class that will trigger earlier in the code flow
- Additional performance optimization on syncs from both single and bulk edits