Get Started with Enterprise Sales App (Managed Package)

Manage Enterprise quotes more efficiently using the Enterprise Sales App.

Managed Package Icon This feature is part of the Communications Cloud managed package.

The Enterprise Sales App utilizes the Salesforce console framework to provide a tab-based workspace. In this workspace, work on multiple quotes and related records simultaneously without losing context. Access the standard Enterprise Quote functionality through this streamlined interface, designed for faster navigation and multitasking.

Enable Enhanced Console App Handling

To ensure the Enterprise Sales App functions correctly when multiple quote tabs are open and is accessible to the intended users, enable two settings: enhanced event handling via Custom Labels, and app visibility via Profile settings.

Enabling enhanced event handling modifies how component events (PubSub) are processed. The CMEXUseConsoleAppEnhancedHandling custom label appends a unique identifier (Tabld/Cartld) to event names. For example, b2b_update_cart becomes b2b_update_cart_<unique TabId>. After enabling this setting, you must verify that any custom code interacting with standard Enterprise Sales Management components continues to function correctly. Update custom event listeners if necessary to match the new event naming convention.

Helper methods are useful in a Salesforce Console App for refreshing or updating components in the tab in which the event is registered. Helper methods for handling events with the unique identifier are available in b2bBaseComponent and b2bGuidedBaseComponent. These base methods provide wrappers for a pub-sub utility, making it easier to communicate when there are multiple quote tabs open.

Tip
Tip

Developer Consideration

For custom components or code interacting with standard components in a multi-quote console environment, make sure that the unique TabId value is passed correctly after enabling this label. Pass this key to HTML components (for example, <c-b2b-offer-config unique-tab-id={uniqueTabId}>) and include it in calls to b2bNavigationUtils methods (for example, routeDetails (this.getUniqueTabId()), getCacheData(key, this.getUniqueTabId()))). Update your PubSub method calls to use the this context from pubsub.register(event_name, callbackFn) to this.pubsubregister(event_name, callbackFn), from pubsub.fire(event_name, pubsubType, data) to this.pubsubfire(event_name, pubsubType, data), and from pubsub.unregister(event_name, callbackFn) to this.pubsubunregister(event_name, callbackFn).

Although recommended for multi-quote console use, these adjustments aren't required if you use only a single quote tab at a time, because enabling the label has no functional impact in that scenario.