Installing the Salesforce Transaction Manager Integration Package extension
To use Transaction Manager with Salesforce, you must first follow these steps to install and configure the Salesforce Transaction Manager Integration Package Extension.
Prerequisites
This guide assumes that your CPQ environment is integrated with a Salesforce org, and that Transaction Manager is enabled. If your Salesforce org has no CPQ packages installed, install version 2.7 or later of the CPQ Managed Package. For instructions, see Installation and setup guide for environments linked to Salesforce orgs.
Submit a support ticket requesting Transaction Manager be turned on in your CPQ environment.
About the CPQ Transaction Manager extension
The CPQ Transaction Manager Extension is a package of components that Salesforce administrators install on their Salesforce environment to facilitate the integration between Salesforce and CPQ Transaction Manager.
Contact ServiceNow customer support for information on the latest version and how to access the managed package for installation.
Admins can install the package for admins only, for all users, or for specific profiles. The package includes permission sets for Transaction Manager that can be assigned to individuals or replicated on profiles. To view the permissions sets, in Setup, go to Users, and then see the Logik.ai Full Access option in Permission Sets.
After it is installed, you can view the version of the package in the Installed Packages section of Salesforce Setup.
Salesforce: Enable custom address fields
The Salesforce environment must have Custom Address Fields enabled. If this feature is not enabled, see this article for more information: Enable Custom Address Fields
Salesforce: Allow security exceptions for CPQ
Add trusted URLs:
- From Salesforce Setup Home, go to . Create a new trusted URL.
- Provide an API name.
- Enter the URL of the CPQ environment, as shown below.
- Under CSP Directives, make sure that at least frame-src (iframe content) is enabled, and click Save.
Configure remote site settings:
- From Salesforce Setup Home, go to . Create a new remote site.
- Provide a name.
- Enter the URL of the CPQ environment as shown in image below, and click Save.
Optionally, allow microphone access for Cosmo Converse (currently in beta). Cosmo Converse allows the user to communicate via voice with Transaction Manager. By default, this feature is not enabled. To use Cosmo Converse, submit a support ticket that describes your use case. To prepare for Cosmo Converse, update Salesforce settings to allow microphone access.
- From Setup Home, go to .
- Under Browser Feature Permissions, make sure that the check box for Include Permissions-Policy HTTP header is disabled.
- If necessary, click Save.
CPQ: Set up the runtime client token
The CPQ runtime client token facilitates authentication for communications from Salesforce to CPQ. For steps to create a runtime client token in CPQ, see Set up a runtime client. For this Transaction Manager use case, please be sure to enable permissions on this runtime client for TRANSACTION, and add a valid User ID that is recognized by the corresponding Salesforce environment.
Note that in CPQ Admin, the runtime client token must be updated to include TRANSACTION in its permissions and itself as an origin. (For example, the runtime client token for https://test-txn.test02.logik.io must have an origin of https://test-txn.test02.logik.io.) Also, when a runtime client token includes TRANSACTION, a user must be included. Make sure that the user has permission to perform the Create Transaction event.
When you have set up the runtime client token, copy it to your local clipboard for use in the next procedure.
Install the CPQ Transaction Runtime Token in Salesforce
- From the Salesforce App Launcher, search for and open Logik.io Admin Custom Settings.
- Press the Set button next to the Runtime Client Token field to enable it.
- Paste the token from CPQ into the editable field, and click Save.
Salesforce: Update the Opportunity layout to Open Transaction Manager
- In Salesforce, click the gear icon in the top right corner.
- Navigate to .
- Select the page layout to edit. (If you have multiple layouts, choose the one associated with the relevant record type or user profiles.)
- Scroll down in the layout editor until you see the Related Lists section.
- Drag the Transactions object from the list of available related lists on the top palette to the desired position in the Related Lists section.
- Click the wrench icon for the Transaction object to open the properties for the related list.
- In the Selected Fields section, select the Edit Transaction field from the Available Fields column. Click Add to move it to the
Selected Fields column. Rearrange the fields as needed, and click OK to save the changes. After making the changes, click Save in the top left corner.
-
Test the updated layout.
-
As an end user (on the buyside of Salesforce), navigate to an Opportunity record.
-
Ensure that the transaction related list appears on the page and that the Edit Transaction link is visible and functional.
-
Troubleshooting: If the Transaction button is missing
If the transaction button is missing from the buyside opportunity detail page, follow these steps.
- In the top right corner of the page, click the gear icon, and then click Edit Page. This opens the Lightning App Builder for the Opportunity record page.
- Select the Related Lists component of the page. In the Assign Page Layouts section, find the name of the page layout currently assigned. (In the image, the correct layout is indicated with the word "(previewed).")
- Click the previewed layout and repeat steps 4 through 7 in the "Salesforce: Update the Opportunity layout to Open Transaction Manager" section (above). Next, on the buyside, navigate to an opportunity record. Check the
Related Lists section to confirm that the transaction object appears. Click the arrow, and create a new transaction to validate that the Edit Transaction (EditLink__c) field is available.
Salesforce: Set up custom field mappings
When a new CPQ transaction record is initiated in CPQ, it can be helpful to transfer essential data from the Salesforce transaction record. This section sets up field mappings that copy (or "twin") information from a field in Salesforce to a field in CPQ, or visa versa, during the transaction creation flow. As an example, it is common for the administrator to twin the value held in LGK__OpportunityId__c to the corresponding CPQ transaction field, txn.opportunity.id.
- In Salesforce, go to Setup.
- In the Quick Find bar, search for Custom Metadata Types.
- In the search results, under Custom Code, click Custom Metadata.
- To access the existing field mappings, locate Logik.io Transaction Field Mapping in the list of custom metadata types, and click the Manage Records link next to it.
- Click New, fill out the required details, and then click Save.
Source fields:
- Environment: Choose the source of the field value:
-
Select Salesforce for fields originating in Salesforce.
-
Select Logik for fields originating in CPQ.
-
- Object: Enter Transaction.
- Field: Specify the field name.
-
For Salesforce fields, include the
__csuffix (for example,CustomField__c). Review the exact field names from and relationships. - For CPQ fields, include prefixes such as
txn.ortxn.line.to denote the field (for example,txn.TotalAmount). Be sure to use the exact field variable names from .
-
Target fields:
- Environment: Indicate where the field value should be updated (Salesforce or CPQ).
- Field: Enter the field name of the target in the same format (for example, Salesforce fields with
__cor CPQ fields withtxn.prefixes).
- Environment: Choose the source of the field value:
- A field mapping record is included as a reference. This cannot be deleted, but its source and target details can be edited. Verify that your custom added field record matches it.
- If you are uninstalling the managed package, any created records for new custom fields must be deleted first.
Salesforce: Activate Transaction Line to Opportunity Line syncing and asset flows
- Logik.ai Copy Transaction
- Logik.ai Create Transaction (Record Trigger)
- Logik.ai Create Transaction (Screen)
-
From Salesforce Setup Home, search for "Flows". Click .
-
Search for the following. You will perform step 3 for each:
- Logik.io Opportunity Line Sync (Upsert)
- Logik.io Opportunity Line Sync (Delete)
- Logik.io Primary Transaction Change
- For each of the three flows identified in step 2, activate one of the following options:
- Option 1: Using the drop-down menu:
- Click the arrow to the right of the flow name.
- Select View Details and Versions.
- Click Activate for the most recent version of the flow.
- Click the arrow to the right of the flow name.
- Option 2: Open the flow:
- Click the flow name to open it in the Flow Builder.
- Click Activate at the top right of the Flow Builder.
- Click the flow name to open it in the Flow Builder.
- Option 1: Using the drop-down menu:
Make sure all the flows are in active status.
End-user flow: Launching a CPQ transaction from Salesforce
- Create a transaction record in Salesforce
There are several ways for the end user to initiate a CPQ transaction in Salesforce. The most common flow starts on the Opportunity record.
-
From an Opportunity record, click the arrow in the transaction's related list, and then click New.
-
A new transaction opens with the Opportunity field populated. Fill in Account, Primary Contact, and any optional fields. Click Save.
-
A record-triggered flow in the managed package creates a new transaction in CPQ. The UUID of the new CPQ transaction record updates in Salesforce (LGK__TransactionUUID__c). If the transaction ID does not appear immediately, refreshing the browser usually corrects the anomaly.
If the Transaction Id field remains unpopulated after a browser refresh, see the Troubleshooting section below.
-
- Edit a transaction
From a Salesforce transaction (or a transaction related list), Transaction Manager can be launched using either the Edit Transaction button on the transaction detail page or the link available via the Edit Transaction field. This loads a CPQ transaction based on the Transaction Id field in the Salesforce record.
Transaction Manager loads in an iFrame, replacing the current subtab in Salesforce.
Note:Salesforce's classic UI is not supported. - Copy Transaction
By clicking the Clone button on the Salesforce transaction record, users can call a CPQ Copy event to recreate the transaction and lines in Transaction Manager. This action is based on the transaction ID on the header record in Salesforce and results in a cloned transaction record.
Note:Cloning a transaction from Salesforce does not automatically make copies of the affiliated line records to the new transactions. To clone the lines to the new transaction, launch the new (cloned) transaction record in Transaction Manager, and initiate a Salesforce sync.
Troubleshooting: CPQ fails to launch with a “Transaction with id ‘null’ could not be found” error
This error occurs when the creation of a new CPQ transaction record is initiated via API call from Salesforce and fails. This failure usually occurs due to one of two reasons:
- The Transaction runtime token is incorrectly set up or has expired. Review the steps in the "CPQ: Set Up the runtime client token" section above.
- The user creating the CPQ transaction record from the Salesforce UI does not have permission to do so.
To troubleshoot permissions errors, follow these steps.
- In Transaction Administration, click Personas.
- In the list of personas, observe which persona is labeled DEFAULT. The screenshot below shows that "Sales Rep" is the default persona. By default, all new users are assigned this persona.
- Open each persona record. Find your user name. The user you are debugging should only be visible in one persona. Once you find the appropriate persona, note the view that manages this persona’s access. In the example, the user
is among the listed user names in the Sales Rep persona. This persona’s access is managed by the "sales" view.
- Open the view that manages the persona’s access. In our example, the view is named "sales". To open the view, in CPQ Transaction Admin Home, go to Views, and then click the managing view.
- On the view detail page, click Access, click Events, and search for createTransaction. In the initial stage, the create transaction event (varname:
createTransaction) must be set to Active.
To sum up: for any given user, the administrator must manage the items in the following table.
| Issue | Correctio |
|---|---|
| User persona assignment |
Navigate to Personas in CPQ Transaction Admin, and select a persona record.
|
| Persona view assignment | In CPQ Transaction Admin, go to Views, select a view record, and then click Associated Personas. |
| View: access to each event, per stage |
For information about how to perform fine-grained access administration (recommended), see the Events CSV File section in Transaction Manager: Views. To administer access in a less precise way, go to Events in CPQ Transaction Admin, click the Create Transaction event, click Edit Event Access, and set the event access to Active. By default, the event is active across all stages and views. |