Integrating kBridge visualization
Summarize
Summary of Integrating kBridge visualization
This guide explains how to integrate kBridge with ServiceNow CPQ (Configure, Price, Quote) to enable real-time 3D visualization of product configurations. The integration enhances the end-user experience by synchronizing CPQ configuration inputs with visual updates, allowing dynamic and interactive product visualization within the CPQ UI.
Show less
Key Features
- Real-time One-way Communication: CPQ configuration changes update the kBridge visualization instantly.
- Bidirectional Communication: User interactions with the 3D visualization can update CPQ configuration fields, enabling two-way data synchronization.
- Blueprint Layout Integration: The kBridge visualization component is embedded within the CPQ UI via the CPQ blueprint layout definition, which controls rendering location, connection details, and data mappings.
- Layout Configuration: The kBridge component is added through a specific layout component type in a CSV layout file, with integration parameters configured as JSON in the “value” column.
Configuration Details
The integration setup requires specifying several key parameters in the layout JSON:
- Connection Info:
scriptUrl,appUrl, andtokendefine the script location, application URL, and authentication token for kBridge. - Session Startup: Custom startup parameters to initialize kBridge for your environment.
- CPQ Data Mappings:
eventFields: Maps CPQ fields to kBridge events for data exchange.eventSetsandeventProductPickers: Map CPQ sets and product pickers to kBridge sets.setActiveTriggers: Specifies CPQ set triggers that activate changes.listenerFields: Defines fields for two-way communication where kBridge user manipulations update CPQ fields via JSON payloads and admin-defined parsing rules.
- Layout Size: Pixel dimensions (
heightandwidth) control the size of the visualization component in the UI.
Important Considerations
- If
listenerFieldsare not defined, all event fields allow two-way communication. AddinglistenerFieldsrestricts two-way communication to only those fields, with other event data flowing one-way (CPQ to kBridge). - Event sets and product pickers send data only from CPQ to kBridge and not vice versa.
- Admin users must create rules to parse incoming JSON data from kBridge to update CPQ sets appropriately.
Practical Benefits for ServiceNow Customers
By integrating kBridge visualization, ServiceNow CPQ customers can provide their users with an interactive and immersive configuration experience, improving accuracy and engagement. Real-time visual feedback helps users better understand product options and configurations, potentially reducing errors and support requests. The flexible data mapping allows tailored synchronization between CPQ data and 3D visualization, supporting complex product models and business logic.
Integrate kBridge for real-time 3D visualization. Sync configuration inputs with visual updates to enhance user experience.
CPQ supports several different 3D visualization options in the end-user configuration experience. CPQ can be implemented to use kBridge as a visualization component that is updated in real time in the CPQ UI as the user changes configuration inputs (one-way communication). In addition, bidirectional (two-way) communication may be defined so that user manipulations of the graphic update CPQ configuration fields.
The following video shows how to integrate CPQ with kBridge for real-time updates:
KBridge Integration Setup Demo
The integration between CPQ and kBridge is set up in the CPQ blueprint layout definition. The layout definition:
- defines where the kBridge visualization component will be rendered on the CPQ UI
- specifies the kBridge connection
- identifies the CPQ field or set data to be sent
To create a kBridge component, the kbridge layout component type can be added in the “type” column of the layout CSV file. Additional properties for the integration are set in the “value” column.
This sample layout CSV file demonstrates the use of the kBridge component and parameter inputs. See row 12.
JSON value template
scriptUrl: string,
appUrl: string,
token: string,
sessionStartup: object
eventFields: object
eventSets: object
eventProductPickers: object
setActiveTriggers: array
listenerFields: object
height: number
width: number
kBridge connection
- scriptUrl: URL for kBridge script
- appUrl: URL for kBridge app
- token: Auth token from kBridge
- sessionStartup: Additional kBridge startup information; work with kBridge, your implementer or kBridge administrator to determine the appropriate values to pass in this parameter for your kBridge setup
CPQ data
eventFields: Mapping of CPQ fields to kBridgeeventSets: Mapping of CPQ sets to kBridgeeventProductPickers: Mapping of CPQ product pickers to kBridgesetActiveTriggers: CPQ set triggerslistenerFields: For two-way data communication involving one or more CPQ sets, this object specifies the CPQ text field variable name to which a JSON representation of the set(s), manipulated in the kBridge visualization by the user, will be returned to CPQ. The Admin must define a rule that parses the content of the listenerFields and populates the appropriate set inputs.Note:- If a blueprint/layout has
eventFieldsbut notlistenerFields, every event field has two-way communication. - If a listener field is added to the blueprint or layout, all event fields will communicate only from CPQ to kBridge.
- Event sets and event product pickers pass information only from CPQ to kBridge, and not from kBridge to CPQ.
- From a data standpoint, event sets and event product pickers data are passed the same way to kBridge (in an array of objects).
- If a blueprint/layout has
Layout size
height: element height in layout, value is in pixelswidth: element width in layout, value is in pixels
Example JSON values
{
scriptUrl: 'http://script.location';,
appUrl: 'http://app.script.location';,
token: 'abc-123-def-456',
sessionStartup: {
type: 'model',
revisionId: '1234-5678-90'
},
eventFields: {
field1: { name: 'field-1', refChain: 'world.application.model' },
field2: { name: 'field-2', refChain: 'world.application.model' },
field3: { name: 'field-3', refChain: 'world.application.model' }
},
eventSets: {
set1: { name: 'set-1', refChain: 'world.application.model' },
},
eventProductPickers: {
picker1: { name: 'picker-1', refChain: 'world.application.model' },
},
setActiveTriggers: ['set.set2.triggerBoolean'],
listenerFields: {
listenerFieldName: { name: 'ServiceNow CPQTestSet', refChain: 'world.application.model' }
},
height: 800,
width: 1200,
}
namecorresponds to the field or rule name in kBridge.refChaincorresponds to the model path of this object in kBridge.
Reference
For a discussion of features available among supported visualization applications in integration with CPQ, see Visualization Integrations: An Overview.