Installation & Setup
Initialize Managed Package
This section indicates how to install the managed package.
PREREQUISITES
- In order to successfully execute this chapter, access to the App Portal is needed. See Initialize Salesforce as the Identity ProviderNo Content found for /db/organizations/conga/repositories/current/content/documents/Production/Smart_CPQ/user_guide/integration_salesforce_crm_and_performance_quoting/integration_salesforce_crm_and_performance_quoting_installation_and_setup_initialize_salesforce_as_the_identity_provider.dita below.
- In order to generate a private key, you will need OpenSSL.
- For Windows machines, you can download the Win64 OpenSSL v1.x.xk Light executable on this page: https://slproweb.com/products/Win32OpenSSL.html.
INSTALL THE MANAGED PACKAGE
Download the Package
Download and install the CPQ package from AppExchange using the link sent by your Customer Services.
We advise you to choose to grant access to admins only. Then during the post-installation steps you will be able to refine the access to Smart CPQ Quote CRM entities.
Enter your password and click on Install.
Then, approve the Third-Party access and click on Continue:
You should see the following screen:
After having installed the package, the following screen should be displayed in the “App setup > Deploy > Installed package” section:
It gives an overview of the installed components.
Check the Installed Components
CUSTOM OBJECTS
- Click on Setup
- Click on Create in “App Setup”
- Click on Objects
The custom objects of the Smart CPQ package are listed here:
| OBJECT | DESCRIPTION |
|---|---|
| Smart CPQ Quote (CameleonCPQ QxQuote c) | Main entity of the CRM package. The Smart CPQ Quote contains all quote related data to be synchronized. |
| Smart CPQ Quote Line (CameleonCPQ QxQuoteLine c) | CRM entity used to synchronize quote lines in Salesforce. |
| Smart CPQ Setup (CameleonCPQ QxSetup c) | CRM entity used to link a Record Type to a set of functional settings (Quote Model, Mapping Set). |
| Smart CPQ Mapping Set (CameleonCPQ MappingSet c) | CRM entity used to define data mapping between Salesforce and Smart CPQ. |
| Smart CPQ Asynchronous Job Queue (CameleonCPQ QxAsyncJobs c) | CRM entity used to drive the asynchronous jobs queue. |
| Implementation objects | |
| Custom1 | The [Custom1] entity allows to extend the standard CRM Smart CPQ Quote capabilities by adding a custom object and benefit from Force.com parameterization capabilities. Please contact your customer representative for more details. |
| Custom2 | The [Custom2] entity allows to extend the standard CRM Smart CPQ Quote capabilities by adding a custom object and benefit from Force.com parameterization capabilities. Please contact your customer representative for more details. |
| Custom 3 | The [Custom3] entity allows to extend the standard CRM Smart CPQ Quote capabilities by adding a custom object and benefit from Force.com parameterization capabilities. Please contact your customer representative for more details. |
| Custom 4 | The [Custom4] entity allows to extend the standard CRM Smart CPQ Quote capabilities by adding a custom object and benefit from Force.com parameterization capabilities. Please contact your customer representative for more details. |
VISUALFORCE PAGES
In order to check whether the necessary Visualforce Pages have been installed, proceed as follows:
- Click on Setup
- Click on "Visualforce Pages” in Custom Code
- Click on Pages
The custom pages which have been installed are listed here:
| PAGE | DESCRIPTION |
|---|---|
| QxQuoteProcess | This page displays the Smart CPQ Quote (Steps, grids, etc.) which is hosted outside Salesforce.com (Classic theme) |
| QxQuoteProcessFS | This page displays the Quote content in Full Screen mode. |
| QxQuoteInError | This pages displays the red/green/grey indicators on the quote detail page that inform the user about errors raised by quote content (QxQuoteProcess). |
| QxRefreshQuote | This page triggers a quote content (QxQuoteProcess) refresh operation and manages the display of a waiting spinner during the process |
| QxCloneQuote | This page triggers a quote clone operation and displays a waiting spinner during the process |
| QxReportGenerator | This page displays the list of available report actions and triggers the generation of a chosen report (Classic theme) |
| QxWaitingScreen | This page displays a waiting screen when synchronization is in progress. |
| QxSetActiveQuote | This page sets the Quote as the active quote of an Opportunity. |
| QxActiveQuoteInfo | This page displays a color indicator that shows if the quote is the active quote of the related opportunity (if one is selected). |
LIGHTNING COMPONENTS
In order to check whether the necessary Lightning Components have been installed, proceed as follows:
- Click on Setup
- Click on Lightning Components in Custom Code
The custom Lightning components which have been installed are listed here:
| LIGHTNING COMPONENT | DESCRIPTION |
|---|---|
| QxQuoteProcess | Displays the Smart CPQ Quote (Steps, grids, etc.) which is hosted outside Salesforce.com |
| QxReportGenerator | Displays the list of available report actions and trigger the generation of a chosen report |
| QxQuoteBundle | Manages the display of QxQuoteProcess and QxReportGenerator components into a single bundle Warning: The QxQuoteProcess and QxReportGenerator components must not both be installed independently. If you require to use both, you must leverage the QxQuoteBundle component instead. |
| QxQuoteProcessSpinner | Manages the display of the spinner icon in steps panel |
| QxQuoteProcessStepButton | A CPQx Step button and related action |
| QxQuoteUIClient | The page that displays the quote process UI in full-screen mode |
| QxTemplate | Technical component |
LIGHTNING CUSTOM PAGES
In order to check whether the necessary Lightning Components have been installed, proceed as follows:
- Click on Setup
- Click on Lightning App Builder in User Interface
The custom Lightning pages which have been installed are listed here:
| LIGHTNING PAGE | DESCRIPTION |
|---|---|
| QxQuote_Record_Page_Bundled (Recommended for org. default) | Overrides the standard Lightning page used to display the quote entity. This page embeds the Quote Steps and the Report Templates components. Those components are encapsulated into a single bundle to optimize the communication with Performance Quoting server. Warning: Custom Record pages created for customization purposes must be a copy of this packaged record page. In MP release 8.39, there was a bug that prevented the Report Action to work. This was later fixed in FIX 8.39.1. If your Lightning Quote Record page has been customized and/or copied from the deprecated packaged one, you should build a new page by copy of QxQuote_Record_Page_Bundled page and activate it for all Performance Quoting users. To help you identifying that you are working with the deprecated version of the quote page, we have added an alert at UI level: When the user opens a quote in Lightning UI, check the components where the Steps are displayed. If a warning icon is displayed besides the title (Smart CPQ), put the mouse on the icon to see "A new version of the component is available. Please contact your system administrator." This message either means that you are working with a customized record page that is a copy of the deprecated managed page or that the wrong packaged page has been activated through the Lightning App Builder. In that case, check assignments using Object Manager in Salesforce setup and check "Lightning Record Pages" assignments for QxQuote object. |
| QxQuote_Record_Page (Deprecated) | Overrides the standard Lightning page used to display the quote entity. This page embeds the Quote Steps and the Report Templates components. |
APEX CLASSES
In order to check whether the necessary Apex Classes have been installed, proceed as follows:
- Click on Setup
- Click on Apex Classes in Custom Code
The Apex Classes which have been installed are listed here:
| APEX CLASS | DESCRIPTION |
|---|---|
| CPQAuditUtils | Utilities for the audit of managed package components permissions. |
| CPQMappingDesigner_VFCtrl | The Controller of the VisualForce page CPQMappingDesigner |
| CPQMappingSet | The APEX class that stores and manage the Smart CPQ Mapping Set object. |
| CPQMappingUtils | Utilities for the mapping between the CRM and CPQ. |
| CPQUtils | Misc. utilities. |
| QxApiClient | The Apex client of Smart CPQx Public API. All calls to Smart CPQx APIs go through this class. This class must be used by customers, integrators, and services teams who want to customize or extend the quoting process. |
| QxAttachFile | Manages the creation of Salesforce Files for report generated by Smart CPQx |
| QxAuraQuoteBundleController | The controller of the Lightning component QxQuoteBundle |
| QxAuraQuoteProcessController | The controller of the Lightning component QxAuraQuoteProcess |
| QxAuraReportGeneratorController | The controller of the Lightning component QxAuraReportGenerator |
| QxAuthTokenUtil | Utilities for authentication |
| QxHttpFormBuilder | Utilities for sending files to Smart CPQx |
| QxLinesSynchro | The class that manages the synchronization process between Smart CPQx and Salesforce for CRM Smart CPQ Quote Lines. |
| QxMonitorSynchroJobs | Unused. |
| QxOppPrSynchro | The class that manages the synchronization process between CRM Smart CPQ Quote Lines and CRM Opportunity Line Items. |
| QxQuoteStep | The representation of a Smart CPQx quoting process step |
| QxQuoteTriggerHandler | The class that manages all operations to execute upon a Quote event (creation, deletion, update). Relates to QxQuote trigger |
| QxQuoteUtil | Utilities for operation on quotes (such as quote opening) |
| QxRefreshActionController | The controller of the Visualforce page QxRefreshQuote |
| QxReportGeneratorUtil | Utilities for reports |
| QxSessionContext | The representation of a quoting session context |
| QxSetupTriggerHandler | The class that controls the consistency of information entered in a CRM Smart CPQ Setup record. Relates to QxSetup trigger |
| QxSharedContext | The representation of a quoting session context shared across multiple UI components |
| QxSynchroUtils | Synchronization utilities. Manages the mapping between Smart CPQx and Salesforce and the update of Salesforce objects. |
| QxVFActiveQuoteInfoController | The controller of the Visualforce page QxActiveQuoteInfo. |
| QxVFCloneQuoteController | The controller of the VisualForce page QxCloneQuote |
| QxVFGenerateReportController | The controller of the VisualForce page QxReportGenerator |
| QxVFQuoteProcessController | The controller of the VisualForce page QxQuoteProcess |
| QxVFSetActiveQuoteController | The controller of the Visualforce page QxSetActiveQuote. |
APEX TRIGGERS
In order to check whether the necessary Apex Triggers have been installed, proceed as follows:
- Click on Setup
- Click on Apex Triggers in Custom Code
The Apex Triggers which have been installed are listed here:
| APEX TRIGGER | DESCRIPTION |
|---|---|
| QxQuoteTrigger | The trigger invoked when creating or updating a Quote. Addresses Inheritance: When the Quote Addresses fields are all blank, the trigger attempts to fill them with the following: Contact Address If no Contact Address is found then Account Address |
| QxSetupTrigger | The trigger invoked when creating or updating a CRM Smart CPQ Setup record. |
CUSTOM SETTINGS
In order to check whether the necessary Custom Settings have been installed, proceed as follows:
- Click on Setup
- Click on Custom Settings in Custom Code
The Custom Settings which have been installed are listed here:
| OBJECT | DESCRIPTION |
|---|---|
| Smart CPQx Settings (CameleonCPQ QxSettings c) | The Salesforce integration settings for CPQx (technical) |
MODIFY THE CONNECTED APP FOR SMART CPQ AUTHENTICATION PURPOSES
A connected app is a framework that enables an external application to integrate with Salesforce using APIs and standard protocols, such as SAML, OAuth, and OpenID Connect. Connected apps use these protocols to authenticate, authorize, and provide single sign-on (SSO) for external apps.
Proceed as follows:
- Connect to Salesforce as a System Administrator.
- Click on Setup.
- Navigate to Apps > Manage Connected Apps.
- Click on Smart CPQ Authentication.
- Click on Edit Policies.
- In the OAuth policies section, set Permitted Users to Admin approved users are pre-authorized. You can ignore following message:
- Click Save.
ASSIGN SMART CPQ AUTHENTICATION APP TO ALL RELEVANT PROFILES
To do this:
- Connect to Salesforce as a System Administrator.
- Click on Setup.
- Navigate to Users > Profiles.
- Open the System Administrator profile.
- Click on Assigned Connected Apps
- Add the Smart CPQ Authentication app
- Click Save
- Repeat the same actions for the CPQ end users profile.Note: This action must be repeated for every profile needing access to Smart CPQ.
ASSIGN LICENSES TO ALL RELEVANT USERS
In order to enable the Smart CPQ Quote tab for all relevant users, proceed ad follows:
- Connect to Salesforce as a System Administrator.
- Click on Setup.
- Navigate to Installed Packages.
- Click on Manage Licenses for the Smart CPQ package.
- Click on Add users and select the users who need access to Smart CPQ.Note: This action needs to be repeated for every new user that is added later on in Salesforce in order to get access to Smart CPQ.
At this point in time, each user should see Smart CPQx Lightning in the Salesforce AppLauncher.
SETUP A REMOTE SITE
In order to allow for outgoing traffic from Salesforce to external applications (Smart CPQ is an external application), proceed as follows:
- Connect to Salesforce as a System Administrator.
- Click on Setup.
- Navigate to Remote Site Settings.
- Click on New Remote Site button.
- Provide the name "PROS_Application_Portal"
- Provide the URL of the application portal, e.g. https://login.us1.proscloud.com
- Click Save
- Navigate to Remote Site Settings.
- Click on New Remote Site button.
- Provide the name "PROS_Performance_Quoting"
- Provide the URL of the quote application, e.g. https://quote.us1.proscloud.com
- Click Save
SETTING UP A SERVICE ACCOUNT TO USE PERFORMANCE QUOTING FROM SALESFORCE
In order for the users to access Performance Quoting, a service account needs to be setup in the Application Portal. In the context of Salesforce, the public key will have to be crafted manually. Proceed as follows:
- Retrieve the self-signed certificate that was generated in this step: Initialize Salesforce as the Identity Provider.
- Click on Setup.
- Navigate to Certificate and Key Management.
- Click on the created self-signed certificate.
- Click on Download certificate.
- Using command prompt (on Windows) or terminal (on MacOS), navigate to that folder and execute the following (make sure to replace mycert by the name of your certificate (ex: cert_q2o_oct21). Be aware that the label and the name of your certificate could be different:
openssl x509 -pubkey -noout -in mycert.crt > mycert.pub
- Open Salesforce as a System Administrator .
- Open AppLauncher.
- Click on Application Portal.
- Click on the Service Accounts tab.
- Click on Create a service account and provide the following information:
| NAME | KEY 1 ALGORITHM | PUBLIC KEY 1 |
|---|---|---|
| CRM | <leave defaults> | <past the content of the generated mycert.pub here> |
- Assign the QuoteX (technical name for Performance Quoting) application:
- For the QuoteX assignment, choose the role CRM.
SETUP CUSTOM SETTINGS
In order to set up the custom settings for the package, proceed as follows:
- Connect to Salesforce as a System Administrator
- Click on Setup.
- Navigate to Custom Settings.
- Click on Manage for the Smart CPQx Settings.
- Click New (on the top of the page) and provide the following information:
| FIELD | VALUE |
|---|---|
| Quote Service Account | |
| AppPortal Certificate name | ServiceAuth. This must match the name given to the certificate created in the step Initialize Salesforce as the Identity Provider In the previous example: cert_q2o_oct21 |
| AppPortal IDP identifier | <your_domain>, eg. @pros.cpq1.pros.com This is the username format used in Initialize Salesforce as the Identity Provider. |
| AppPortal URL | <your AppPortal URL>. https://login.us1.proscloud.com (United States realm) https://login.eu1.proscloud.com (Europe realm) |
| Correlation Context Apex Class | Provide the name of a local Apex class used to provide correlation context to the Quote. Correlation information must be aggregated in JSON format : { "customer-key1": "customer-value1", "customer-key2": "customer-value2", } |
| CPQxBase URL | <your CPQx URL>, eg. https://quote.us1.proscloud.com for US |
| Debug Mode | When checked, the debug mode helps troubleshooting the errors raised by Smart CPQ application. All error messages are displayed at the UI and provide detailed debugging information to application administrators to help them quickly solve the problem. |
| Environment Id | The environment ID is the identifier of a given CPQ environment in the App Portal. The expected value here is a UUID that you can retrieve in the App Portal if you have the required admin rights: Login the App Portal with Admin rights. In the Admin menu, navigate to Environment Management. |
| Tenant Id | Your tenant id Ex: 9867e0a7-xxxx-xxxx-xxxx-4a2eef9c5fad |
| Tracing active | Activate traces on Azure side - use for debug |
| Display CPQx UI in full screen mode | If this setting is checked, the Performance Quoting UI will be opened in full screen mode (no iframe), which will solve issues related to third-party cookies and identity providers requesting UI interaction. |
| User event tracking enabled | If this setting is checked, additional events can be tracked: Quote refresh, quote cloning, document generation. Please note that the Buyer Journey Tracking must have been activated for Performance Quoting. These events are in addition to other captured Performance Quoting Events. |
| Max Number of SFDC Queued Jobs | The maximum number of simultaneous CPQ synchronization jobs in a "In Progress" state. When over-passing this limit, any new CPQ synchronization job is managed in a dedicated CPQ job queue to avoid hitting the Salesforce governor limits. |
Smart CPQ Setup and Record Types
With the previous setup section completed we are set to create Smart CPQ Quotes in the CRM and open Smart CPQ.
This section will detail:
- The notion of different Smart CPQ Quote Record Types - to allow different experiences of Smart CPQ Quotes in the CRM
- The link between Record Types and PROS Setup to open a quote
RECORD TYPES
To allow different experiences in the Smart CPQ Quote for different business processes (picklist values, page layouts, quote models with their quotation logic: Steps, grids and catalogs, fields, proposal actions, etc.), it is possible to define multiple Record Types. if only one experience is needed with a unique quote model, the Record Type is not needed.
Creating Record Types
- In the Setup menu, open the Object Manager.
- Open the Smart CPQ quote object named CameleonCPQ__QxQuote__c.
- In the left panel, open the Record Types tab.
- Select the profiles that will be able to create quotes for this Record Type. When a user creates a new quote:
- If they are only allowed to use one Record Type they will not have to select the Record Type. Their quote is automatically set to that Record Type.
- If they are allowed to use more than one Record Type upon creating a quote they will have to select which Record Type to use. The default Record Type will be pre-selected.
Smart CPQ Setup for Your Record Types
For each of your Record Types you need to specify how to open the Quote. This is done in the Smart CPQ Setup object.
Even if no record type is defined, this step is still mandatory. Smart CPQ Setup is defined in the Smart CPQx Lightning app.
Create a new Smart CPQ Setup for your Record Type
| FIELD | DESCRIPTION |
|---|---|
| Smart CPQ Quote Record Type | Name of the record type: Example "Food" |
| Quote Model Name | Name of the quote model. You must to align with the person creating the quote model in the Quote Designer. Example: "QuoteModelFood" |
| Mapping Set Name | The name you will set for the Mapping Set. Can be left blank. Example: "MyMappingSet" |
| Line Management Policies | To disable line synchronization. Should be 1 for most of cases. |
| Refresh / Synchronize Actions | The name of the actions for refresh and synchronize that will be set in the quote model. You must to align with the person creating these in the quote model in the Quote Designer. Example: REFRESH_ALL, SYNCHRONIZE |
| Theme | The name of the custom theme that will be set in the quote model. You must align with the person creating these in the quote model in the Quote Designer. This field is optional. |
| Propagate Quote Status to CPQx | More details here: Status & Currency Synchronization |
| Propagate Quote Currency to CPQx | More details here: Status & Currency Synchronization |
| Synchronization in System Mode | When checked, all the CPQ content defined in a given sync view, whatever your profile and access rights, is synced back to the CRM. You can thus synchronize data that you do not have access to. When the data is synced to the CRM, permissions defined by the CRM and CPQ administrators still apply, and only the data which access is authorized for your profile is visible to you. This mode requires to be also activated in the CPQ Quote model, in the definition of the corresponding Close & Sync action. If it is activated in the CRM only, you might experience new behaviors on CRM environments with customizations running on top of the Smart CPQ Managed Package. |
| Fields List To Clone | List of fields being cloned when the standard Clone action of the Smart CPQ package is triggered. You must provide the technical name of each field, separated by a ',' (comma). By default, no field is provided in the list. In that case, all fields of the Smart CPQ Quote object with edit permissions granted are cloned. If one or more fields are provided in the list, only those fields with edit permission granted are cloned, as well as the following system fields: ExternalQuoteId c SyncStatus c QuoteErrors c QuoteWarnings c SyncExportId c SyncExportParts c SyncInfos c CameleonCPQ PrimaryContactId c Name OwnerId Mandatory fields The fields listed above are always cloned as they are mandatory for the creation of the quote clone. |
| Mapping IN Custom Apex class | To add information in the mapping IN. More details here: Custom Mapping IN & Fetching |
| Account / Contact address inheritance | A trigger can populate the Quote Addresses field when creating or updating a Quote. Addresses Inheritance: When the Quote Address fields are all blank, the trigger attempts to fill them with the following: Contact Address If no Contact Address is found then Account Address |
| Synchronous Redirection | When activated, upon clicking the Smart CPQ Close button, you will see a spinner until synchronization is over. As long as the spinner is visible you will not be able to interact in Salesforce (editing quote object, navigating to accounts / opportunities, etc.). When deactivated, user will be taken to the Smart CPQ Quote in the CRM. |
Give Access to PROS Quote Entity
CPQ is accessible from a tab (Smart CPQ Quotes) or as an application (Smart CPQx Lightning) within the Salesforce environment.
Although the installation of the CPQ package has created all pieces needed to access CPQ, it did not associate the “Smart CPQ Quote” application to each user/profile.
Because of the fact that the usage of CPQ could be restricted to certain groups of users within your organization, you must first identify the user profiles that will be able to access CPQ and then associate the correct access rights to these profiles.
HOW TO CREATE A STANDARD SFDC PROFILE WITH ACCESS TO SMART CPQ QUOTE
In order to create a new profile, log on as an administrator and navigate as follows:
- Click on Manage Users in Administration Setup.
- Click on Profiles.
- Select an existing profile and Clone it. The Profile page opens.
- Choose a name for you profile and click on Save.
- On the profile, give access to the CPQ App by setting it as Visible.
You can additionally activate the Smart CPQ Quote tabs as follows in the Tabs Settings:
GRANTING THE CORRECT PROFILE PERMISSIONS
The profiles used by Salesforce users that have access to Smart CPQ Quote must allow creating the objects. To authorize the creation of new quotes, make sure that the appropriate access rights have been set up for Smart CPQ Quote objects in the Custom Object Permission section of the profile:
ALLOWING THE EXECUTION OF APEX CLASSES
The CPQ package downloaded from AppExchange includes Apex classes and Visualforce pages. Salesforce.com user profiles that will grant access to CPQ must enable execution for all Apex classes and Visualforce pages belonging to the CPQ package.
CPQ Apex classes and Visualforce pages all have a name starting with “CPQ,” which will facilitate their selection.
Hover over the Enabled Apex Class Actions shortcut and click on the Edit button:
In the following page, you will see both the Available Apex Classes as well as the Enabled Apex Classes. You should see all CPQ classes in the Available Apex Classes list. In order to authorize the execution of the CPQ APEX classes, select them and add them to the right column. All Classes prefixed with CameleonCPQ should be enabled.
After having enabled the APEX classes, click on Save.
The authorization to access Visualforce pages will be also be done in the Salesforce Profile entity. In order to authorize them, hover over the Enabled Visualforce Page Access shortcut and click on
the Edit button:
In the following page, you will see both the Available Visualforce Pages as well as the Enabled Visualforce Pages. You should see all CPQ classes in the Available Visualforce Pages list. In order to authorize the execution of the CPQ Visualforce Pages, select them and add them to the right column.
All Pages prefixed with CameleonCPQ should be enabled.
After having enabled the Visualforce Pages, click on the Save button. The user profile will be updated accordingly.
ACCESS RIGHTS SUMMARY
Depending on the User profile and the way Force.com
Setup Integrity
This page lists the different permissions that need to be set for the Managed Package to run properly.
PROFILES / PERMISSION SETS - REQUIRED PERMISSIONS
| PERMISSION NAME | REQUIRED VALUE | USAGE/COMMENT | TROUBLESHOOTING/ TYPICAL ERROR |
|---|---|---|---|
| API enabled | Checked | Required for synchronizing data between CPQ and Salesforce | Error visible on CPQ side : [REST FORBIDDEN(403) Response received by client] [URL=xxxx] [{"message":"API is disabled for this User","errorCode":"API_CURRENTLY_DISABLED"}] |
PROCESS AUTOMATION SETTINGS
| SETTING | REQUIRED VALUE | USAGE/COMMENT | TROUBLESHOOTING/ TYPICAL ERROR |
|---|---|---|---|
| Enable record locking and unlocking in Apex | Checked | PQ: Required to check if Quote record is locked to skip data synchronization between CPQ and Salesforce and avoids error when closing the CPQ spreadsheet. Smart CPQ: Open the CPQ content in read-only mode if the Smart CPQ Quote is locked in Salesforce. |
CUSTOM OBJECTS & CUSTOM FIELDS
You can add any custom field you wish to managed package objects and reference/use any of the existing fields. Regarding Access Rights on package objects, you must strictly follow these recommendations for Performance Quoting and these recommendations for Legacy CPQ.
You must also ensure that ALL fields of the managed package objects, regardless if they are "managed" fields or "local" fields created by implementation, have the correct FLS (Field Level
Security). A specific attention is required for fields that are not included in page layouts but which can be synchronized from CPQ.
| OBJECT | |
|---|---|
| CameleonCPQ QxAsyncJobs c | CameleonCPQ ApexJobId c CameleonCPQ EntityId c CameleonCPQ SeqNumber c CameleonCPQ Settings c |
| CameleonCPQ QxQuote c | CameleonCPQ ExternalQuoteId c CameleonCPQ LocaleSidKey c CameleonCPQ SyncExportId c CameleonCPQ SyncExportParts c CameleonCPQ SyncStatus c CameleonCPQ Status c CameleonCPQ LocaleSidKey c CameleonCPQ QuoteErrors c CameleonCPQ QuoteModelId c CameleonCPQ SyncInfos c |
| CameleonCPQ QxQuoteLine c | CameleonCPQ ParentLineId c CameleonCPQ QuoteId c CameleonCPQ ExternalLineId c CameleonCPQ DisplaySequence c CameleonCPQ ItemName c CameleonCPQ LineTemplateId c CameleonCPQ LineTemplateType c CameleonCPQ Quantity c |
| CameleonCPQ QxSetup c | All fields must be readeable Administrators/Designers: All fields must be editable and included in page layout |
Detailed Views of Object & Field Permissions
The following recommendations apply for regular end-users. Implementation designers and administrators will need extended access rights (create / edit / delete permissions, edit access on fields). Access rights can be defined at Profiles or Permission Set level.
Performance Quoting
Object: CameleonCPQ QxQuote c / Smart CPQ Quote
Object: CameleonCPQ QxQuoteLine c / Smart CPQ Quote Line
Object: CameleonCPQ MappingSet c / Smart CPQ Mapping Set
Object: CameleonCPQ QxAsyncJobs c / Smart CPQ Asynchronous Job
Object: CameleonCPQ QxSetup c / Smart CPQ Setup
