--- title: "Additional Approval Action" slug: "additional-approval-action" description: "Use this extension point to run a script to enable custom capabilities in the quote approval process." updated: 2026-06-02T14:12:52Z published: 2026-06-02T14:12:52Z canonical: "docs.zilliant.com/additional-approval-action" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.zilliant.com/llms.txt > Use this file to discover all available pages before exploring further. # Additional Approval Action ## Purpose Allows you to run a script to enable custom capabilities in the quote or agreement approval process, such as transferring the approval process to an external system. ## Setup To set up the extension point, follow these steps: 1. [Create a Groovy script in Zilliant CPQ.](/main/docs/additional-approval-action#create-a-groovy-script) 2. [Set up the approval workflow.](/main/docs/additional-approval-action#set-up-the-approval-workflow) ### Create a Groovy script Create a Groovy script in Zilliant CPQ. Select **Additional Approval Action** as the script type. For details about creating and configuring Groovy scripts, read [Upload a Groovy script](/docs/upload-a-groovy-script). ### Set up the approval workflow 1. From the application left navigation area, select **Administration**. 2. From the top navigation bar, select **Master Data Management**. 3. Scroll or search to locate **Approval Gate** and select it from the list. 4. Select **+**. 5. Select the newly added, empty row. On the **Configuration** tab, enter or select values to create an approval workflow: - **Name**—Approval gate name. - **Script to Execute**—Select the script of the **Additional Approval Action** type. Leave other fields empty. 6. Select **Save**. ## Binding variables In addition to the [common binding variables](/docs/binding-variables), the following binding variables are available for this extension point. | Variable name | Class | Description | | --- | --- | --- | | salesItemsTree | SalesItemsTree | Represents the quote or the Quote object associated with the agreement under negotiation. It contains the functions that you can use to query and modify the quote or agreement and its line item data. | | approvalGate | ApprovalGate | Approval gate that triggers the script. | For details about the classes listed in this table, including available methods, fields, and method signatures, read the [Zilliant Groovy API reference](/main/docs/groovy-api-reference). ## Expected output The script should return string objects. ## Script execution The script of the **Additional Approval Action** type is run when all the following conditions are met: - A user submits an open quote or agreement under negotiation. - The defined approval gate is applicable to the quote or agreement based on the approval rules. - The script of the **Additional Approval Action** type is assigned to the approval gate. The script output automatically displays as a note in the quote or agreement.