Post-Installation
Link MSCRM with a CPQ Server
CPQ is not immediately operational after having installed the MSCRM integration solution. Manual configuration tasks must be completed for you to be able to create quotes using CPQ. Those tasks must be performed in the Smart CPQ Configuration app part of the managed solution.
OVERVIEW
In order to connect to CPQ Server, several tasks must be performed:
- Setup your Identity Provider so it can connect to App Portal. Communication with Smart CPQ is done through App Portal.
- Setup Smart CPQ Settings for the communication between CPQ and MSCRM.
INTEGRATING YOUR IDENTITY PROVIDER WITH APPLICATION PORTAL
The Customer Identity Provider must connect to the Application Portal to access Smart CPQ.
The following page details the different ways for you to connect to the Application Portal: Application Portal Configuration.
The Application Portal supports integration with external IdP such as Salesforce, Azure AD, or any SAML-Based Identity Provider.
Please see the following page for more details: Azure Active Directory Authentication
Smart CPQ licenses in the CRM
MSCRM does not provide formal ways to manage Smart CPQ licenses from the CRM. The best practices recommended by Conga are thus the following:
- As pre-requisites, you must setup your identity provider and plug it to the Application portal as described in this chapter (see above links).
- Once done, in Azure, create a group of users dedicated to the access to Smart CPQ from MSCRM.
- As part of that group, set the permissions for users to access the entities leveraged by the Smart CPQ solution. See Access Rights Management for more details on required permissions.
- Grant the required access rights to this group in the App Portal (see above links)
- Assign the corresponding Azure group to the list of Smart CPQ users.
This procedure may vary depending on your identity provider.
These best practices will help us to monitor the usage of Smart CPQ done by this group of users.
SMART CPQ CONFIGURATION APP
The setup of the integration between MSCRM and CPQ is done via the Smart CPQ Configuration app. This app can be accessed in the CRM as a separate app, part of the Smart CPQ Managed Solution.
This app is responsible for the solution configuration, including the management of Smart CPQ Settings, Smart CPQ Setup and Smart CPQ Mapping Set entities.
To access the Smart CPQ Configuration app, proceed as follows:
- Click on the name of the current app on the top Dynamics 365 ribbon (e.g. "Sales Hub" on the image below)
- Select the Smart CPQ Configuration app
- Access the entities from the left pane
SMART CPQ SETTINGS OVERVIEW
The Smart CPQ Settings entity provided as part of Smart CPQ managed solution rules the communication between CPQ and MSCRM. As one instance of MSCRM can be connected to only one CPQ instance, only one Smart CPQ Settings entity must be declared in Dynamics. When trying to establish the connection, the CRM searches for the unique Smart CPQ Settings entity declared and uses it to get the corresponding settings. Note that the connection fails if several of those entities are declared.
CREATE A SMART CPQ SETTINGS ENTITY
To create Smart CPQ Settings in MSCRM, log in as a System Administrator and navigate as follows:
- Access the Smart CPQ Configuration app.
- Click on Smart CPQ Settings in the left panel. The list of Smart CPQ Settings entities is displayed.
- Create a new instance of Smart CPQ Settings by clicking on New.
Overview
The settings available in the entity are the following:
| LABEL | FUNCTION |
|---|---|
| Name | Name of the Smart CPQ Settings instance that serves as reference when leveraged from other entities. |
| Connection Settings | |
| AppPortal URL | URL to access the App Portal (e.g. https://login.xxx.proscloud.com). This must not end with a '/' character. |
| Tenant ID | Identifier of the CPQ tenant (e.g. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| Service Account ID | Issuer for the App Portal (e.g. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
| Service Account Private Key | RSA Private Key. The key must be prefixed by -----BEGIN RSA PRIVATE KEY and suffixed by -----END RSA PRIVATE KEY----- |
| IDP Differentiator | App Portal Identity Provider Differentiator (e.g. @mydomain.com/myOptionalDifferentiator) |
| Smart CPQ Settings | |
| CPQ Base URL | Base URL of the CPQ server (e.g. https://mycpqserver.proscloud.com) This must not end with a " / " character. |
| Environment ID | Identifier of the CPQ environment in the Application Portal |
| Locale Override | Locale override (use this format: en-US) |
HOW TO SET SMART CPQ SETTINGS VALUES
Name
You can enter any name you want here following the character restrictions of the CRM.
App Portal URL
This URL is made of a template "https://login.xxx.proscloud.com", where xxx is the name of your realm provided by the App Portal team.
Tenant ID
The tenant ID can be obtained via a request to the Cloud Services.
Service Account ID
The service Account ID can be retrieved by following the procedure described on Connect: Application Portal Configuration.
Service Account Private Key
The Service Account Private Key is the result of several steps:
- Generate a private key.
- Set the private key in the Smart CPQ Settings.
- Set the public key in the App Portal.
The following examples illustrate how to generate a RSA key pair using the OpenSSL tool:
# Generate a private key with the correct length openssl genrsa -traditional -out private-key.pem 2048
# Generate corresponding public key
openssl rsa -in private-key.pem -pubout > public-key.pub
The complete procedure to set the public key in the App Portal is described on Connect: Application Portal Configuration.
IDP Differentiator
This differentiator is required so that the App Portal can accept connections with your IDP. This differentiator must be declared in the App Portal so that you can define App Portal Roles.
The complete procedure is described on Connect: Application Portal Configuration.
CPQ Base URL
The URL of the CPQ server to which MS Dynamics is connected.
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.
- Select an environment in the left explorer.
- Retrieve the Environment ID to set in the Smart CPQ Settings.
Locale Override
This setting refers to the User Locale, meaning the locale that will be used in the User Interface of Smart CPQ. It is different from the Data Locale that rules the language of the quote content.
For more details, see How to manage Locales.
This user locale should be formatted following the international format xx-XX, like en-US for instance.
The user locale sent to CPQ can come from three different sources in the CRM:
- The User Language Override field is part of the managed solution. It can be added to the CRM quote form you are using (Check here how to add a field to a quote form). If done, then you have the opportunity to manually change its value with a locale (for instance, en-US or fr-FR) in the CRM quote before opening CPQ. If filled with a well formatted value, then this value is the one sent to CPQ for this specific user.
- In the case where the field above is not set or empty, the system checks if the Locale Override setting in the Smart CPQ Settings entity contains a well formatted locale. If so, then this value is the one sent to CPQ as the user locale.
- If both fields above are not filled, the value eventually sent by default to CPQ is the locale of the logged-in CRM user.
- In the case where no timezone can be defined, then UTC is used by default.
Depending on the CRM and CPQ setup, the default locale of the logged in user may be unknown to CPQ. If so, when you try to log in, Smart CPQ rejects the connection. Using the Locale Override setting, on the contrary of the User Language Override field that can be changed on the Quote, allows overriding the default user locale and applies the same user locale to all users, thus guaranteeing that their locale is known by CPQ and preventing rejected connections.
For more details, see How to override the Locale.
Associate CPQ Attributes to CRM Quotes
SMART CPQ SETUP OVERVIEW
The Smart CPQ Setup entity is part of the Smart CPQ Configuration app within the Smart CPQ managed solution.
The Smart CPQ Setup entity aims at:
- Defining the CPQ elements to be leveraged when requesting CPQ from the CRM, like the Quote Model, Data Provider, Quote View and Component ruling the sync.
- Filling the settings driving the sync mechanism
The Smart CPQ Setup is a convenient and flexible means for the sync setup as it can be associated with a CRM Quote / Opportunity form, thus allowing companies to easily define different quoting workflows within the same organization (e.g. for different Business Units or for different audiences).
CREATE A SMART CPQ SETUP ENTITY
To create a Smart CPQ Setup entity in MSCRM, log in as a System Administrator and navigate as follows:
- Access the Smart CPQ Configuration app.
- Click on Smart CPQ Setup in the left panel. The list of Smart CPQ Setup entities is displayed.
- Create a new instance of Smart CPQ Setup by clicking on New.
Overview
The settings available in the entity are the following:
| LABEL | FUNCTION |
|---|---|
| Name | Name of the Smart CPQ Setup instance that will serve as reference when leveraged from other entities |
| Smart CPQ Mapping Set | Optional Reference to a Smart CPQ Mapping Set entity |
| Activate Primary Quote by Default | (De)Activate the Primary Quote feature by default: This setting applies a default value to the "Primary Quote" checkbox in the CRM Quote at quote creation |
| Skip price calculation during the sync | Drives the price calculation by the CRM when syncing quote lines from Smart CPQ |
| Trace Logging | Activate the logs to trace plugin execution. Recommended value: Yes. |
| CPQ Model Settings | |
| Quote Model Name | Name of the CPQ Quote Model |
| Quote Data Provider | Name of the CPQ Data Provider |
| Quote Clone Attributes | List the quote attributes to consider when cloning a quote from the CRM |
| CPQ Theme Name | Name of the theme to be applied to the CPQ UI when switching from the CRM |
| Buyer's Journey Tracking | Activate the Buyer's Journey Tracking capability to trace the usage of actions from the Smart CPQ managed solution (e.g. Open quote, clone quote, sync CPQ, etc.) |
| Propagate Quote Currency | Enable the update of the system currency in CPQ anytime the currency is modified in the CRM Quote |
| CPQ Synchronization Settings | |
| Synchronization View ID | Reference of the CPQ view used for the sync between systems |
| Synchronization Component ID | Reference of the CPQ sync component |
| Synchronization Lines per export Part | Number of lines included in each export sub-division |
| Sync Empty Values | Force the sync of fields and / or columns that have been emptied in CPQ. All the CRM fields mapped on emptied CPQ fields / columns are thus emptied during the sync. The sync of empty values is deactivated by default. If a CRM field cannot be overridden (e.g. read-only), then it is not emptied during the sync. Lookup Field Exception The association between tables in the CRM via lookup fields is managed by the CRM. Breaking these links by emptying a lookup field during the sync may have undesired consequences in the table structure of the CRM. Therefore, lookup fields cannot be emptied via the sync back mechanism, even if this flag is set to Yes . |
| Sync Hierarchy and FPK | Default Value When creating a Smart CPQ Setup, please make sure that this field has a value set up ( Yes by default). The recommended value is No so the sync reflects exactly what is in the corresponding CPQ sync view. Force the sync of parent hierarchy when quote lines are part of a sync view in CPQ without their hierarchy (see below). |
| Sync with periods | Mode driving the filtering of lines exported during the sync back to the CRM. The filtering is about main and / or period lines. Three options are available: Sync both main and period lines. Sync main lines only Sync period lines only |
| Azure Synchronization Settings | |
| Azure Synchronization | Activate the use of Azure functions for the data sync from the Quote (Yes value) or a Dynamics plugin/workflow (No value). Azure Functions require an additional setup in Azure (see below). Important note: the Azure function is meant to handle large volumes of quote lines for the sync process. Please see the Governor Limits to identify when to use Azure Functions vs. standard plugins / workflows. |
HOW-TO SET SMART CPQ SETUP VALUES
Smart CPQ Mapping Set
This is a reference to a Smart CPQ Mapping Set entity. This association is optional. You can learn more by consulting this page Define Data Mapping between MSCRM and CPQ.
Activate Primary Quote by Default
The Primary Quote feature allows identifying a quote which content has to be synced in its parent Opportunity. A Primary Quote can be identified as such using a checkbox in the CRM Quote form: when checked, the quote content is synced at the Opportunity level.
The checkbox in the Smart CPQ Setup entity allows setting a default value to the Primary Quote feature: if checked in the Smart CPQ Setup, then all new created quotes will be set as primary by default. If not checked, all new created quote will be seen as non primary by default.
Check here for more details: Select Primary Quotes for an Opportunity
Skip price calculation during the sync
When set to Yes, this parameter prevents the price calculation by the CRM during the quote content sync from Smart CPQ.
When set to No (default), the sync mechanism - plugin or Azure function - skips price calculation by the CRM at each modification of a given quote line but triggers a price calculation once when all lines are synced.
Trace Logging
If the traces are activated (Yes value), then you can go in Settings > Plug-In Trace Logs from the CRM action bar to view them. You can find there log files for each plugin of the managed solution executed. For instance, the logs of the PrepCartForLaunch plugin will give you access to the CRM context sent to CPQ. It is recommended to activate those traces (Trace Logging = Yes).
Quote Model Name
This is available in the Quote Model itself in Smart CPQ.
Quote Data Provider
This is available in the Quote Model itself in Smart CPQ.
Quote Clone Attributes
This list has to include CRM Quote fields that you want to be duplicated when using the Clone action. The list is made of field names separated by a comma (",") and no space.
Example: name,prosqtx_qtx_quoteid,prosqtx_qtx_prossetup,customerid,opportunityid
If left empty, the CRM Quote fields cloned by default when using the Clone action are the following:
- transactioncurrencyid (Display Name: Currency)
- opportunityid (Display Name: Opportunity)
- customerid (Display Name: Potential Customer)
- name (Display Name: Name)
- prosqtx_qtx_prossetup (Display Name: Smart CPQ Setup)
- pricelevelid (Display Name: Price List)
- prosqtx_qtx_quoteid (Display Name: Quote Id)
If this list is used, then the fields above have to be part of it.
CPQ Theme Name
This is a label that is defined in the CPQ Quote Model (e.g. cpcute) and that allows changing the logo, title, top bar color and font in CPQ.
Buyer's Journey Tracking
This flags drives the activation of the Buyer's Journey Tracking.
When set to Yes, all the eligible end users' actions performed in the CRM trigger the logging of an event in the Graylog portal.
The eligible events are the following:
- Create Quote.
- Open Quote in CPQ.
- Clone Quote.
- Sync CPQ.
- Change Quote Status.
- Set Field (for the Data Locale or the Currency for instance).
- Generate Document.
A specific correlation context built from CRM data can be added to all events traced as part of the Buyer's Journey Tracking. The addition of this context to events is driven by a dedicated field, part of the Smart CPQ managed solution, that can be added to the CRM Quote.
This string field is named Customer Correlation Context. Depending on the information you want to trace in the Buyer's Journey Tracking events, this field can be a simple text or a more complex JSON structure for instance.
When the flag of the Buyer's Journey Tracking is activated, if you want the Customer Correlation Context to be traced, you must:
- Modify the Quote form you are using by adding the Customer Correlation Context field.
- Make sure the field is not empty. If the field is empty, it is not traced in the events.
Example:
Here is an example of an OpenQuote event with a JSON Customer Correlation Context:
{"date":"2022-05-30T19:52:41.970Z","tenantId":"6e3e402f-ffec-4280-
a702-4b540babec3a","environmentId":"dev","userId":"[email protected]","se ssionId":"9b32a7ea-67d3-4c72-9c1f-386d58b14c8d","module":"Quote","moduleId":"908548f7-
b525-4554-a9b6-4b44789f9311","action":"OpenQuote","quoteId":"908548f7-b525-4554-
a9b6-4b44789f9311","customerCorrelationContext":"{\n \"qtxName1\": \"_SYS_ROW_QUANTITY\",\n
\"crmName1\": \"quantity\",\n \"qtxName2\": \"_SYS_ROW_ITEM\",\n \"crmName2\":
\"productdescription\",\n \"qtxName3\": \"unitPrice\",\n \"crmName3\": \"priceperunit\",\n
\"qtxName\": \"discount\",\n \"crmName\": \"manualdiscount\"\n}"}
Propagate Quote Currency
This flag drives the propagation of the quote currency from the CRM to CPQ. If the flag is set to Yes, whenever the standard currency field of the CRM Quote entity is modified, its value is automatically sent to CPQ to update the system currency for the CPQ Quote. The default value is No.
Synchronization View ID
This is the identifier of the view you defined in the Quote Model to rule the data sync from CPQ to
the CRM.
Synchronization Component ID
This is the identifier of the component defined in your Quote Model where to retrieve the data to be synced.
Synchronization Lines per export Part
This is a mechanism allowing the optimization of performances when syncing high volumes of lines. If you are using the standard plugin for the sync (Azure Synchronization set to No), this value must be greater than the maximum number of CPQ quote lines you may sync to the CRM.
Sync Hierarchy and FPK
When creating a Smart CPQ Setup, please make sure that this field has a value (Yes or No) setup.
Force the sync of parent hierarchy when quote lines are part of a sync view in CPQ without their hierarchy.
Example:
Let's consider a quote with the following lines:
- Product A
- Folder 1
- Product B
Now let's assume that the following sync view has been defined by your Administrator:
- Product A
- Product B
In this example, if the flag Sync Hierarchy and FPK is set to Yes then, the following lines will be synced to the CRM:
- Product A
- Folder 1
- Product B
if the flag Sync Hierarchy and FPK is set to No then, the following lines will be synced to the CRM:
- Product A
- Product B
Sync Empty Values
By default, this flag is set to No meaning that CPQ fields with empty values are not exported during the sync.
When this flag is set to Yes, the CPQ fields and columns that have been emptied are synced back to the CRM. The consequence is that any CRM field mapped on an emptied CPQ field or column is also emptied during the sync back. Its previous value, if any, is thus overridden with an empty value.
HOW-TO SETUP AZURE FUNCTIONS
The management of high volumes of quote lines in the sync back from CPQ requires the use of Azure Function.
All the setup of the Azure Functions is described here: Setup Azure Functions for the Sync Back. In a nutshell, the setup and provisioning of Azure Functions for your organization requires:
- To give your consent on the use of Azure functions for your organization. This requires to create an application registered with your Azure AD tenant
- To create an application user associated with the registered application to manage the authentication and execution of Azure Functions and associate a security role in Dynamics for this application user.
- To complete the Smart CPQ Setup entity with Azure settings in the CRM.
- To deactivate specific workflows of the Smart CPQ Managed solution in Dynamics.
ASSOCIATE SMART CPQ SETUP TO A QUOTE FORM
To be operational, the Smart CPQ Setup must be associated to a Quote Form.
Default Forms: In order for the sync with CPQ to work, only the form provided with the Smart CPQ managed solution must be used. The association Quote Form / Smart CPQ Setup allows addressing one quoting workflow corresponding to the CPQ quote model declared in the Smart CPQ Setup entity.
If you need to define several quoting workflows for your organization to address different scenario, you have two options:
- Either you can modify the business rule associating the Smart CPQ Setup to the Quote form (see below)
- OR you can duplicate the quote form provided by default in the managed solution and associate it with a different Smart CPQ Setup entity. During an upgrade of the Smart CPQ managed solution, only the quote form provided by default is potentially upgraded. It implies that you may have to duplicate it again and apply your customization to upgrade and align all your quoting workflows.
To make this association, proceed as follows:
- Log in to make.powerapps.com. Expand Data in the left panel, click on Tables and search for the Quote.
- Select the Business Rules tab and click on Quote: Custom Rule to set Smart CPQ Setup value by default.
- First, Deactivate the rule so that you can edit it.
- In the step Set Field Value, choose the Smart CPQ Setup entity you just created and set its
name in the Value field:
It may also happen, depending on your organization and on the number of Smart CPQ Setup instances you have declared, that a scope extended at the Entity level for the business rule makes sense.
Please consult your Customer Representative to learn more.
- Click on Apply, then Save and finally on Activate in the top action bar.
- Save and Publish the form.
- Repeat the operation on all the forms to connect to CPQ.
ASSOCIATE SMART CPQ SETUP TO AN OPPORTUNITY FORM
Similarly to the association described in the previous chapter, the Smart CPQ Setup entity can be associated to the Opportunity entity. This specific setup allows the solution to handle the case where a quote entity has to be created from an Opportunity.
To make this association, proceed as follows:
- Log in to make.powerapps.com. Expand Data in the left panel, click on Tables and search for the Opportunity.
- Select the Form tab and click on the Opportunity Main form.
- Click on + Form Field in the action bar.
- Search for Smart CPQ Setup in the left panel and add the field to the Opportunity form.
Then, similarly than for the Quote, you must create a business rule to automatically set a default value in the Smart CPQ Setup field of the Opportunity. This can be done by accessing the Business Rule tab for the Opportunity and adding a new one similar to the one for the Quote. Please refer to
the previous chapter for more details.
ACCESS RIGHTS MANAGEMENT
Make sure that the access rights to the Smart CPQ Setup, Smart CPQ Settings and Smart CPQ Mapping Set entities are correct:
- Sign in to the Power Platform admin center as a System Administrator.
- Select Environments, and then select an environment from the list.
- Select Settings.
Security Roles
Security Roles can be edited in the section Users + permissions > Security Roles for your Environment and Business Unit.
Security roles you want to leverage to access Smart CPQ must respect the following constraints:
- At least, Read, Append and Append To permissions must be assigned for new Smart CPQ entities to that security role:
least Create, Read, Write, Append, and Append To permission for a given security role. If you have to handle sync with Opportunity entities or with any second level entity, make sure that the same rights are granted as well for each one of the entity involved:
- Finally, the language is a notion that is required so that CPQ can interact with the CRM. At least a Read permission must be set for the Language table:
Setup Azure Functions for the Sync Back
The management of high volumes of quote lines in the sync back from CPQ requires the use of Azure Functions.
In a nutshell, the setup and provisioning of Azure Functions for your organization requires:
- To give your consent on the use of Azure functions for your organization. This requires to associate a Smart CPQ registered app to your Azure AD tenant.
- To create an application user associated with the registered application to manage the authentication and execution of Azure Functions, and associate a security role in Dynamics for this application user.
- To complete the Smart CPQ Setup entity configuration with Azure settings in the CRM.
- To deactivate specific workflows of the Smart CPQ Managed solution in Dynamics.
1 - CONSENT ON THE USE OF AZURE FUNCTIONS
To allow CPQ to update the Dynamics 365 Entities, an Administrator of your Dynamics environment needs to authorize the access to Smart CPQ Azure Functions.
In order to simplify that operation, Conga provides a link (see below) to click on that automatically performs the actions in the above diagram depending on the realm you depend on for the Azure tenant.
Clicking on that link automatically correlates your Azure AD tenant with a registered app named PROS Smart CPQ for Dynamics Azure AD Connector.
In details, you must:
- Make sure you are logged in to your Dynamics 365 environment (or logged out from any other Dynamics 365).
- Click on the following link, depending on where your tenant has been deployed.
| LOCATION (REALM) | URL |
|---|---|
| US1 | US1 URL |
| US1PV | US1 Preview URL |
| AU1 | To be communicated by your customer representative |
| AU1PV | To be communicated by your customer representative |
| EU1 | EU1 URL |
- Check the Consent on behalf of your organization checkbox to allow any account of the organization to use this connector.
- Read and Accept the terms for your organization (Azure Function will need privileges to update Dynamics Entities).
2 - SETTING UP AN APPLICATION USER IN DYNAMICS 365
An application user must be defined in the CRM to use Azure Functions. Its role consists in managing the authentication from the CRM to access Azure Functions, and to execute Azure Functions on its own name.
You can create an unlicensed application user in your environment. This application user will be given access to your environment's data on behalf of the user who's using your application.
In an environment, you can only have one application user for Smart CPQ registered application targeted in the step above:
- Sign in to the Power Platform admin center as a System Administrator.
- Select Environments, and then select an environment from the list.
- Select Settings.
- Select Users + permissions, and then select Application users.
- Click on + New app user to open the Create a new app user page on the right.
- Select + Add an app to choose the Smart CPQ registered Azure AD application targeted in the previous chapter above, and then select Add (make sure to select the PROS Smart CPQ for Dynamics Azure AD Connector app).
CPQ app is not in the list
It may happen that the PROS Smart CPQ for Dynamics Azure AD Connector app does not show up in the app list. The criteria for an app to be displayed in the list are driven by Microsoft.
A link to learn more is available under the search box to help you find the app in the list if it does not show up:
Microsoft explicitly lists some criteria like:
In the case where the Smart CPQ app is not visible in the list, you still can retrieve its ID in Microsoft Entra and search for it in the search box:
- Login to Microsoft Entra.
- Navigate to Applications > Enterprise Applications
- Search for PROS Smart CPQ for Dynamics Azure AD Connector and copy its Application ID.
Paste the Application ID you copied in the search box to retrieve the Smart CPQ app in the list
- Under Business Unit, select a business unit from the dropdown list.
- After choosing a business unit, you can click on Edit for Security roles to choose security roles for the chosen business unit to add to the new application user.
Security Roles
Security Roles can be edited in the section Users + permissions > Security Roles for your Environment and Business Unit.
For the Application User, you must select a security role that respect the following constraints:
- At least, Read, Append and Append To permissions must be assigned for new Smart CPQ entities to that security role:
- Also make sure that Quote and Product CRM entities have at
least Create, Read, Write, Append, and Append To permission for that security role. If you have to handle sync with Opportunity entities or with any second level entity, make sure that the same rights are granted as well for each one of the entity involved:
- Finally, the language is a notion that is required so that CPQ can interact with the CRM. At least a Read permission must be set for the Language table:
- After adding security roles, click on Save.
- Click on Create to complete the process.
The user you just created in a given realm should have the same name as the corresponding Smart CPQ registered app.
3 - CONFIGURE THE SMART CPQ SETUP
Once the previous steps have been followed, the following settings have to be set in the Smart CPQ Setup entity in order to use the Azure Functions for the sync back:
Azure Synchronization
Make sure that the Yes value is set if you want to leverage Azure Functions for the sync back from CPQ.
- CONFIGURE CUSTOM WORKFLOWS AND PROCESSES TO USE THE AZURE SYNC
In order for the Azure Functions to be leveraged, instead of the plugins available by default for the sync back from CPQ, you must deactivate the processes and workflows used by plugins and activate the one used by the Azure Functions.
In order to do that:
- Log in make.powerapps.com. Click on Solutions in the left panel, and click on the Default Solution.
- In the Objects section from the left panel, select Processes and search for Smart.
- Select the following processes one by one and right-click Turn Off for each of them:
- Smart: Create OpportunityProduct from detail
- Smart: Delete OpportunityProduct from detail
- Smart: Synchronize Quote Details and Opportunity products
- Select the following process and right-click on Turn On:
- Smart: Synchronize Opportunity Products
- You should see the process turned On:
