Common Salesforce Integration Issues<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #7057C7; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } If using Salesforce CPQ as a host for Logik Configurations, there are some common errors an admin can run into when setting up the integration between the two sites. Here is a starter list of known issues with their solutions/where to check. In general, when you see an error generated by Salesforce, you can use the Salesforce Debug Logs to find where that error is being triggered from Another general place to start in any integration issue is to review whether the steps in the Logik.io Package Installation and Setup Guide were done correctly. Note: If Partner Users are experiencing any of these issues/you utilize RFQ APIs, please jump to the bottom of the page for a general solution to try first. Logik to Salesforce Issues: “SBQQ:Too many SOQL queries: 101” This error happens usually when a user creates a BOM that has more than 100 items, clicks “Quote” in Logik, and there are too many Quote Lines being created for the default Salesforce CPQ behavior to handle. Solution: Check if “Enable Large Configurations” is set in the Salesforce CPQ Package Settings This setting decreases the likelihood of hitting governor limits when your sales reps configure a large bundle, but performs slower overall. You can read more about this setting here: Enable Large Configurations “Attempt to de-reference a null object” This error usually happens when an end user saves the Quote in Logik and before they return to the QLE. It speaks to either a missing or inactive pricebook entry for affected items, or an issue with nested bundling. Solution (No Nested Bundling) The Pricebook entry for the Product is missing/inactive Check all of the Product’s pricebook entries. This error occurs if any of the following are true: A returned Product is missing a Pricebook Entry A returned Product has an inactive Pricebook Entry A returned Product’s related Pricebook is inactive The Standard Pricebook is used by default and it is inactive Solution (Nested Bundling) If you have Nested Bundling enabled and your configuration has products configurations that match the below structure: Parent Product Nested Child 1 Product X Nested Child 2 Product X There is no direct solution. You can either: Design your configurations to not run into this Salesforce issue Turn off Nested Bundling You can read more about this issue here: Adding the Same Product to Two Different Dynamic Nested Bundles via External Configurator Throws an "Attempt to de-reference a null object" Error If you decide to disable nested bundling, you can do so in SFDC through Setup > Installed Packages > Salesforce CPQ > Additional Settings > “Nested Bundles for External Configurator” Please also submit a Support Ticket so that we can send this request to our DevOps team to turn off this feature from the Logik side too. You will continue to run into the issue until we turn off this feature. Not generating CLIs or CFDSs This functionality is not utilized by many implementations, but when it is, it is paramount that the expected Salesforce Objects are created. Configuration Line Items (CLIs) and Configuration Field Data Sets (CFDSs) are Salesforce Objects that are managed by our Base Managed Package, and their creation is asynchronous with the data that is pushed to the Quote Line. The moment that a user saves the configuration from Logik, the process to create these objects kick off, regardless if you save the final quote lines created within the QLE. When this occurs, there is usually only one place to check. Solution: All that the creation of these objects depend on is: The Logik Admin Settings “Push BOM Data to Logik Salesforce Object” for CLIs, and “Push Config Data to Logik Salesforce Object” for CFDSs. The SFDC permissions of the Refresh Token User If the settings are not enabled, these objects will not be created when the user clicks save. If these are enabled and you still do not see CLIs or CFDSs (or the Extended Information Field Mapping is not working): Check the Logs to see if the error “Salesforce syncing of LGK__ConfigurationLineItem__c object for configuration [******] did not complete successfully” appears. There may be more information in the “Paused And Failed Flow Interviews” page in your Salesforce Setup Check the permissions of the integration user here: Integration User Required Permissions Saving does not create Child Quote Lines We only create Quote Line Items when a BOM Item fits the below conditions: The BOM Type of the item is specified in the “BOM Types to Include in Save Request” setting The Product exists in our database from our Product Sync between Salesforce This issue occurs when the user clicks Save from Logik and they are met with only the Parent Configurable product that they launched the configuration from, and no child quote lines that were created within the Logik configurator. This usually means that there is a disconnect between the Product Object in Salesforce and the BOM Item created in Logik. Solution: Check whether the Products exist in your Salesforce Site with the same Product IDs that are determined by your product rules. If the products exist, try updating a field in the product record (such as “Active”), saving, reverting it, waiting 30 minutes, and then trying again. Our Product Record Sync relies on the Last Modified Date of the Product2 Records to speed up performance. If your environment was repointed from another one, there could be a chance that certain products that did not exist in your last environment now exist here and have a date that is older than the reconnect. Wait for the product sync to complete every 30 minutes and try to save the configuration again. Check if the BOM Items have the correct BOM Types as defined in the Logik Admin: Check if the Parent Configurable Product has the Related Feature “Dynamic” defined: If so, also check that the Option Selection Method is also dynamic: This related feature should be automatically created when you click “Logik.io Enabled” on the Configurable Product, but some custom product triggers in your Salesforce Org can disrupt this automation. Try disabling that “Logik.io Enabled” boolean, saving, then re-enabling it to trigger the feature creation again, then attempt to configure with that product. (If using nested bundling, every product that has children quote line items associated with it must have this dynamic feature related to it’s product, not just the top-level parent configurable product) Saving does not create quote lines as expected This usually happens when one of the fields on the Child Quote lines are being populated in a way that is not reflected within the Logik Configuration. This is a tricky issue to track since there isn’t a clear error. Solution: Check if the SFDC environment has any Quote Calculator Plugin (QCP) scripts, Flows, or Apex Triggers acting on the Quote Lines For QCP specifically: Search “Custom Scripts” Setup > Installed packages > Salesforce CPQ > Plugin > Check if there is a script in the “Quote Calculator Plugin” Field Review this Custom Script to see if it is behaving as expected. Salesforce to Logik Issues: “JSON string exceeds heap size limit” This will happen if the LGK__BomData__c field has too much data inside of it (a lot of quote lines, extended information, etc.) and the user tries to reconfigure the Quote. Solution: We can control how many items get written with the BOM Item Limit feature. Steps to solve: Figure out how many items are in the BOM of the configuration that is causing the error (the number of items is literally each line in the BOM, items separated by “{}” in the BomData field) However many items is causing the error, take half of that and that should be your new tenant setting (Or if you are not using this Salesforce Field, reduce it to 0) Create a Support Case to set that limit Reconfigure doesn’t save selections in Logik The indicator of this issue is if an end-user can save a configuration correctly where it writes to the QLE fine, but when they try to reconfigure, some or all of their selections are not retained. It could be as though they are initializing a brand-new configuration, or a Field they were expecting to be set has suddenly been cleared or changed. Solution: Check whether the Blueprint has Field Twinning that could be triggering a rule to clear certain selections, or an On Configure/Reconfigure Enrichment set up incorrectly. It could be the case that when a user enters a reconfiguration, specific Fields (or all Fields) are reset to be blank. Read more about how to use this issue as a feature here: Use Case Splitting the On Configure Reconfigure Enrichment’s Behavior Check if this is only happening to a specific user/profile. This may be due to their permissions being set incorrectly. For some user profiles, configuring results in a white screen or reconfiguring does not load any of the previously chosen options Check if the Product has the related “Features”, “Configuration Attributes”, and “Price Books” defined Similar to the above issue, Saving Does Not Create Child Quote Lines, it could be the case that the configurable product you are attempting to configure with had an issue with the Logik Enabled automation and did not create the necessary Configuration Attributes for reconfiguring. Specifically, the “Configuration Id” Configuration Attribute is necessary to be able to reconfigure as this is where the Quote Line references the previous configuration’s UUID. Simply uncheck the “Logik.io Enabled” box on the Configurable Product’s Details page, save, then recheck it and see if the Configuration Attribute has been created. Cannot Access Logik Admin from SFDC This issue can be quite frustrating as it can delay Admins from working on their design and implementation of Logik, and there are many causes for this issue. Solution: If this is only happening for one user: Check that they have Admin Access Check if they are running into Browser Issues If this is happening for a group of users: Check that their profile/permission group has the proper SFDC permissions Check if Logik has been added to the “Trusted URLs” Setup section with iframe enabled If this is happening for all users: Check if the Logik URL is correctly inputted into the “Custom Settings” This is usually one of the first steps done when integrating a Logik Environment with a SFDC Org. Sometimes, the user that sets it up will unintentionally set the Logik URL as an override for a profile (the bottom box) instead of being accessible for all users (the middle box) Also, if a Salesforce Org was recently Refreshed from another Logik-Connected Salesforce Org, there could be a chance that the previous Logik URL is still there and needs to be replaced. Cannot Launch a Configuration The below “Insufficient Privileges” error message from Salesforce is only one of many different screens a user can run into when trying to click the “wrench” icon in the QLE, or when selecting a Product after clicking “Edit Lines” from the Quote: Other example signs of this issue can be the same as seeing the ”Content Blocked” screen (as seen in the Cannot Access Logik Admin from SFDC issue), or seeing a blank screen, or even seeing an error message display. This can happen for a variety of reasons as well, echoing a lot of the permissions necessary for accessing the Logik Admin, except this only affects end-users of the configurator (i.e. Sales/Partner Users). Solutions: If this is only happening for one Blueprint or when launching from one Quote: Check if there are any errors in the “Logs” tab of the Logik Admin: Review the Common Error Messages and Causes documentation If this is only happening for one user: Check if they are running into Browser Issues If this is happening for a group of users: Check that their profile/permission group has the proper SFDC permissions If this is happening for all users: Check that the Logik URL is correct in Salesforce CPQ This is usually one of the first steps done when integrating a Logik Environment with a SFDC Org. The URL will usually take the form of “https://..logik.io/ui/configure” but can also vary based on whether you use VisualForce pages to launch the configurator. If your URL is not in the above form, your organization should have documentation for the custom setup done for launching into the Logik Configurator. Partner Users/RFQ API Sharing Settings: Under Setup > Sharing Settings, check if the following objects have "Default External Access" set to "Private": Pricebook Product Feature Quote Quote Line Configuration Attribute Configuration Line Item Salesforce CPQ needs access to these object for part of our reconfigure integration to work. Usually, you wouldn’t need to edit the Sharing Settings for this object since it’s created by the Integration User, but in many cases, partner users could try to reference these records during RFQ, so they’ll need it set to either Public Read-Only or Public Read/Write.