Prerequisites

Before configuring new buttons on your context object, create a record with the API name of the context object in the Approvals Custom Config available at Setup > Develop > Custom Settings.

For example, to configure Approvals on an agreement object and its child objects, create a record for each object in the Approvals Custom Config and perform the following steps. To configure Approvals for agreement and agreement clause objects, create two records with the API names Apttus__APTS_Agreement__c and Apttus__Agreement_Clause__c, respectively. For more, see Configuring Global Settings for Agreements and Related Objects.

To enable Approvals for your context object, configure the following buttons and place them on your object record’s page layout.

  • Preview & Submit Approval: For actions such as Preview, Submit, and Recall for Submitter.
  • My Approvals: For actions such as Approve, Reject, Add Ad Hoc Approver, and Reassign.

You can follow any of the following procedures to configure Preview & Submit Approvals button for your context object:

Creating a custom button for your context object

  1. Go to Setup > Create > Objects and search for your object.
  2. In the Buttons, Links, and Actions section, click New Button or Link.
  3. In the Label field, enter Preview & Submit Approvals.
  4. In the Display Type, select Detail Page Button.
  5. In the Behavior drop-down list, select Display in existing window without sidebar or header.
  6. In the Content Source drop-down list, select URL.
  7. Enter the following formula in the Advanced Formula section,
    /apex/Apttus_Approval__PreviewSubmitApprovals?id={!context-object-api-name.Id}

    Ensure that in the context-object-api-name, you enter the API name of your context object.

    In our example for an Agreement object, enter Apttus__APTS_Agreement__c as context-object-api-name.

  8. Click Save.
  9. Go to a record of your object, click the Edit Layout link.
  10. From the Buttons list, drag and drop the newly created button on your page layout and click Save.

Creating a custom formula field for your context object

  1. Go to Setup > Create > Objects and search for your object. In our example, select the Agreement object of the Contract Management package.
  2. In the Custom Fields & Relationships section, click New.
  3. Select Formula as the field type and click Next.
  4. In the Field Label, enter Preview & Submit Approvals, for Formula Return Type select Text, and click Next.
  5. In the Advanced Formula text box, enter the following formula:
    IF(AND(NOT(ISPICKVAL(Approval_Status__c,"Pending Approval")), NOT(ISPICKVAL(Approval_Status__c,"Approved"))), HYPERLINK("/apex/Apttus_Approval__PreviewSubmitApprovals?Id="&Id, IMAGE("/resource/[button-image]", "Preview & Submit Approvals"),"_self"),NULL)

    Enter the API name of the field you use for your context object's approval status, which you defined before configuring this button.
    Along with the required ID parameter, you can also append the following optional parameters to capture more details by a button click. The following parameters are applicable only for CPQ approvals

    Parameter nameDatatypeUse of the parameter
    ctxChildSObjectIdID of the child context object

    To view subset of approvals required for the specified child context object.

    returnIdID of the object

    To return to detail view of the object referred to by this identifier.

    returnPagestring

    To return to the specified page.

    returnButtonLabelstring

    To use the specified label for the return button. This is useful when this page is invoked from multiple locations or pages.

    autoPreviewIndicatorboolean

    To force the system to perform Preview before displaying approval requests.

    hideSubmitWithAttachmentsbooleanIndicator to instruct the system to hide Submit with Attachments button.
    headerSObjectIdId of the standard object

    The ID to be rendered as a link in the header of the page, if different from the context object. This is used to display the Quote link instead of Cart or Product Configuration link. 

    headerSObjectTitlestring

    The title or label to display as a link in the header next to the ID, if one wants to display a value other than the Name field value of the context object.



  6. After checking the syntax of your formula field, click Next.
  7. Select visibility for your required profiles and click Next.
  8. Select appropriate page layouts on which you want to display the new field and click Save.

Similarly, for configuring My Approvals button for your context object, follow any one of the following procedures:

Creating a custom button for your context object

  1. Go to Setup > Create > Objects and search for your object.
  2. In the Buttons, Links, and Actions section, click New Button or Link.
  3. In the Label field, enter My Approvals.
  4. In the Display Type, select Detail Page Button.
  5. In the Behavior drop-down list, select Display in existing window without sidebar or header.
  6. In the Content Source drop-down list, select URL.
  7. Enter the following formula in the Advanced Formula section:
    /apex/Apttus_Approval__MyApprovals?id={!context-object-api-name.Id}

    Enter the API name of your context object in context-object-api-name, In our example for Agreement object, enter Apttus__APTS_Agreement__c as context-object-api-name.
  8. Click Save.
  9. Go to a record of your object and click the Edit Layout link.
  10. From the Buttons list, drag and drop the newly created button on your page layout and click Save.

Creating a custom formula field for your context object

  1. Go to Setup > Create > Objects and search for your object. In our example, select the Contract Management package's Agreement object.
  2. In the Custom Fields & Relationships section, click New.
  3. Select Formula as the field type and click Next.
  4. In the Field Label, enter My Approvals, select Text for the Formula Return Type, and click Next.
  5. In the Advanced Formula text box, enter the following formula:
    IF(OR((ISPICKVAL(Approval_Status__c,"Pending Approval")), (ISPICKVAL(Approval_Status__c,"Approved"))), HYPERLINK("/apex/Apttus_Approval__MyApprovals?Id="&Id, IMAGE("/resource/[button-image]", "My Approvals"),"_self"),NULL)

    Enter the API name of the field you use for your context object's approval status, which you defined before configuring this button.
  6. After checking the syntax of your formula field, click Next.
  7. Select visibility for your required profiles and click Next.
  8. Select appropriate page layouts on which you want to display the new field and click Save.