This section provides the workflow and the sequence of actions you have to define to enable CPQ Approvals.

To do...How to define...
Install required packagesInstall the latest approvals and dependent packages. Install the Quote or Proposal approvals package to sync the Approval Status and Approval Stage on the Quote header. However, if you are using CPQ approvals, you should not have any approval process defined on Quote/Proposal object.
Approval Status FieldsDefine Approval Required and Pending Approval pick list values.
Custom SettingsCreate a record in Approval Custom Config for the primary object ProductConfiguration__c . Configure Cart Approval Callback class - Apttus_CQApprov.CartApprovalCallback in Config Custom Class for CPQ Approvals. If you want to use Header and line item approvals, set the approval context type to Multiple. Specify the label name for Line Item in the Child Object Context Type 2 field. For header only approvals, set the context type to Single.
Approvals System PropertiesCreate a record in Approval System Properties and enter the requisite details
Config System PropertiesNavigate to Config System Properties, and select the Skip Review check box.
Add Intelligent Approval Field for a QuoteNavigate to Create > Objects > Quote > Configure Products(Field) > copy the formula field and create a new formula field. Add the useAdvancedApproval=true parameter to the copied formula . For example, IF ( LEN( Apttus_QPConfig__PriceListId__c ) > 0 , HYPERLINK("/apex/Apttus_QPConfig__ProposalConfiguration?id=" &Id&"&useAdvancedApproval=true&useDealOptimizer=true", IMAGE("/resource/Apttus_QPConfig__Button_Configure", "Configure Products"),"_self"), NULL)
Approval Required CheckCreate a search filter criteria for Approval Required Check for the header and line item objects (Apttus_Proposal__Proposal__c, Apttus_Config2__LineItem__c, Apttus_Config2__ProductConfiguration__c). These search filters are used for setting the approval status to Approval Required on the cart and cart line item object respectively. Approval Required Check trigger is default for CPQ Approvals.
Formula Fields (Approvals)To use reference parameters from related objects, create Formula Fields (Approvals).
Approvals and My Approval Pages Drag and drop the Approvals and My Approvals button to the page layout to execute approval actions from the Quote header page rather than from the shopping cart.
Email Notification TemplatesDefine Email Notification templates using sample templates from the Apttus Approvals Management package.
Setting up Approval RulesCreate Approval Rules for each Sub Process and Child Process if you have multiple approvers for a process. Configure Approval Rule criteria. Select Approval Rule Type as Condition to use Auto Re-approval conditions. For each step in sub-process or child process, create approval rule entry, step label, Approval Condition, Auto Re-approval Condition, and Assignee, and step dependency.
Approval Process ConfigurationCreate Approval Process. Configure process properties. Configure Initial and Final Submission Actions. To use Auto Re-approvals, set the cart status to Ready for Finalization in the final submission actions rather than Finalized to ensure that a new cart is not created every time.
Approval Process Step ConfigurationConfigure approval process step, step dependencies, display fields, comments labels. For each Standard Step also define Approval Condition, Auto Re-approval Condition, and Assignee. For each Sub Process or Child Process Steps and map them to corresponding approval rules. For Standard Steps that have approval conditions based on child objects (e.g. line items) define Search Filter (Approvals) of type Child Filter and use them in the step definition.


Configuring a Custom Approval Action for Non-Salesforce or Apttus profilesIf you create a custom object to replace the default Approval Action, you must be sure to code the object correctly to handle$User.id
Setting up the Backup AdministratorThe backup admin user is responsible for handling routing issues that may occur during the Intelligent approval process, while admin profiles enable you to associate users — via their roles — with admin level access to Intelligent Workflow and Approvals.
Setting up Backup or Delegate ApproversBackup approvers are required to 'catch' approval requests whose assignees cannot be identified and ensure approval processes progress as expected.
Setting up Email Templates and AlertsWhile Apttus provides default email templates for approval requests, if you want the emails to have attachments or have your own specific content, you must customize the templates.
Email Approval System Properties SettingsTo enable approval requests to be decided via email, an email service and Approval System Properties settings for emails must be configured.
Setting up Custom ExpressionsTo help in creating advanced expressions for routing your approvals, you need to set up custom expressions.