Home Search

DriveWorks Pro 21
CPQ Custom Item

Send Feedback

CPQ Custom Item

The CPQ Custom Item form template allows a custom product configurator to be added to the DriveWorks CPQ DriveApp.

This allows the necessary Form Controls, Specification Macros and Constants to be added to an existing configurator project.

This guide explains how to use the Custom Item form template to enable a configurator project to be added to DriveWorks CPQ.

Add the CPQ Custom Item Form Template

  1. Open the configurator project in DriveWorks Administrator (or create a new blank project if starting from scratch).
    As the Custom Item Template is a Form Template, a Project must exist before using it.

A new user form must be added to the configurator project. so all the necessary controls and data

This will inject the necessary controls and data to integrate correctly with the DriveWorks CPQ DriveApp.

  1. Navigate to the Form Navigation stage of DriveWorks Administrator.
  2. Select the drop down under Add Form and select Add from template.

  3. Select the CPQ Custom Item template.
  4. Enter CPQ for the name of the Form.
  5. Click OK to add the new Form.

Update the Variable

The last thing to do before setup is complete is to update the value of two Variables:

  • One that controls the Transition to run once configuration is complete.
  • And another to control the price passed to the Order.

The TransitionToRun Variable is used to determine the Transition that runs when the Add\Update a Custom Item is selected.

  1. Navigate to the Define Variables section of DriveWorks Administrator.
  2. Find the Variable called TransitionToRun inside the DriveAppData Category.

The rule for this property needs to result in the name of a Transition you want to run in the Specification Flow when a user has completed specifying the Project.

  1. Update the TransitionToRun Variable to the required Transition Name in the Specification Flow. (If using the CPQ Custom Item Flow template leave the rule as "Complete")

The other Variable required to be changed is the BaseCustomPrice Variable.

This can be found in the DriveAppData > Pricing Category.

This Variable should result in the price of the Custom Item before the exchange rate has been applied.

The exchange rate is passed down from the Order and applied to the Total Price separately.

  1. Find the Variable called BaseCustomPrice inside the DriveAppData>Pricing Category.

    The rule for this property needs to result in the price of your configured item, before discounts and exchange rates have been applied (this is done automatically in some other variables).

  2. Update the BaseCustomPrice Variable to be a static value of 500
  3. When using this template in your own DriveApp, you will need to make this a dynamic rule that is linked to the price of your configurable product.

Update the Macro Name Property Rule (applies if the template was added in DriveWorks 20 SP2 only)

If the CPQ Custom Item Form Template was added to the Project in DriveWorks v20.2, please follow the steps below.

  1. In Stage 2: User Interface > Form Design, select the ItemPricing form.
  2. Select the AddToOrder Macro Button (this has the label Update Item on the control).
  3. From the properties panel, select the Macro Name property and click the build button to launch the Rule Builder.
  4. For the two instances that reference DWConstantEmbedIsEmbedded add = TRUE, so the rule is the same as the image below

    The two instances of the constant appear on lines 4 and 13 (displayed when Show Line Numbers is checked).

ItemPricing Form

This Form contains various Form Controls that can be used to display the Price of the Custom Item to a user.

These controls can be adopted or replaced with existing controls in the configurator project.

Please be aware of the following before doing this:

  • The ‘AddToOrder’ Macro button is what adds the Custom Item to an order.

    When replacing this button with a button in your existing Project, the new button must run the same Macro as the AddToOrder button would have done.

    Copy and paste the rule in the Macro Name Property into the existing Macro Button on the Form if this is required.

  • The Discount and Quantity controls are linked to Variables that Calculate a total price for the Item.

    The total price is passed into the CPQ DriveApp Order. If these controls are not required in your Configurator, hide the them using the Visibility Property.

    This will prevent any errors with the pricing.

  • There is a Label on the Form (LockedWarning) that will be displayed if more than one user edits the same Line Item on a CPQ Order.

    It is recommended that this Label remains to inform users that the Configurator is Locked.

We recommend that the following Rule is added to disable Form Controls in the Project when it is locked.

DWConstantMode="Add" OR DWConstantLockStatus = DWCurrentUserDisplayName

Locking a Project’s Controls using the rule above prevents multiple people editing the same Line Item at the same time (therefore overwriting each other’s changes). See the Enabled Property of the Quantity Control.


A number of variables are created with the Form Template. Most of these are needed for linking the configurator with the CPQ DriveApp Database.

If the Configurator is to be linked with the Appearances set in the DriveApp Settings (Fonts etc) use the Variables in the DriveAppStandards folder.

This folder contains Variables for Font Size and Color, Date Format and Color Scheme.

Specification Flow

A customized Specification Flow is compatible with the Custom Item template.

However, if the Custom Item is to be edited from the Orders ensure there is a Transition named ‘Edit’ on the State which the Project is transitioned into after specifying.

An example of a Specification Flow that could be used alongside the DriveWorks CPQ DriveApp can be found here: CPQ-Custom Item Specification Flow.

Adding the new Project to the CPQ DriveApp

The first step is to add a new Custom Item into CPQ, using the Project you added the Custom Item Form Template to as the Project to Run.

  1. From the main CPQ Dashboard go to Catalog Administrator > Items.
  2. Add a new Item, from the Item Type drop down, select Custom

  3. From the DriveWorks Project to Run drop down, select the new Project added from the Form Template.
  4. Fill in any other information about the Item that is required and save the new Item.
  5. OPTIONAL – Edit the Custom Item, navigate to the Files Tab, and add a Catalog image for the Item

The final Step is to add the Custom Item to the Catalog.

Follow the steps in the CPQ Quick Start Guide to set up the Default Initial Category for the Catalog.

  1. From the main CPQ Dashboard go to Catalog Administrator > Catalog Categories
  2. Edit an existing Category
  3. Navigate to the Content Tab
  4. Select a row from the table at the position for the new custom Item to be in the Category.
  5. Click Add\Edit
  6. From the Type drop down, select Custom Item
  7. From the Item drop down, select the name of the Item added in the previous section.
  8. Save the new Category Item.

The new Custom Item will now be available to add as a Line Item to a CPQ Order.