--- title: "About Groovy" slug: "about-groovy" description: "Learn about using Apache Groovy scripts in Zilliant CPQ." tags: ["Apache Groovy"] updated: 2026-06-02T14:26:40Z published: 2026-06-02T14:26:40Z canonical: "docs.zilliant.com/about-groovy" --- > ## 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. # About Groovy The Apache Groovyâ„¢ programming language offers a concise, familiar, and easy-to-learn syntax. It delivers a range of features, including scripting capabilities, to applications. To get started with Apache Groovy, read the [Groovy documentation](https://groovy-lang.org/documentation.html) ![](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/external-link-svgrepo-com.svg?sv=2026-02-06&spr=https&st=2026-10-27T06%3A08%3A54Z&se=2026-10-27T07%3A08%3A54Z&sr=c&sp=r&sig=SwJpf04ZKGFb6zgWYqM%2FATJLXT5afwYZahZbCSLLUdQ%3D). ## Groovy in Zilliant CPQ Zilliant CPQ supports scripting using the Apache Groovy language. Groovy scripts can be run automatically when a particular supported action is performed, such as when a user creates a quote or updates the value of a field. Use Groovy scripts to apply custom business logic to standard application functionality that can't be achieved through configuration. Example scenarios include: - Integrating external systems for order creation, pricing, document storage, or approval through a business application programming interface (BAPI) - Implementing non-standard ERPs - Defining general application behavior, such as default values or copy behavior - Implementing functions on top of Google Maps API - Influencing pricing or availability of custom attribute values Two general use cases apply to implementing scripts in the application: - **Create custom functionality**. You may want to perform some actions repeatedly and automatically to support your company's specific workflow. Use custom Groovy scripts to perform these actions. - **Implement a custom feature**. You can use a custom program to implement a feature unique to your company. ## Groovy file naming conventions By convention, a Groovy script can have any file extension. However, when used in the CPQ application, it must have a `.groovy` extension. Because the script is compiled into a Java-compatible class at runtime, the filename should meet the criteria of a Java class. For more information about naming restrictions, read the **Naming** section in the [Java Tutorials documentation](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html) ![](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/external-link-svgrepo-com.svg?sv=2026-02-06&spr=https&st=2026-10-27T06%3A08%3A54Z&se=2026-10-27T07%3A08%3A54Z&sr=c&sp=r&sig=SwJpf04ZKGFb6zgWYqM%2FATJLXT5afwYZahZbCSLLUdQ%3D). ## Tools You can use any text editor or IDE to develop a Groovy script. However, there is no support for any IDE that allows for automatic code completion for custom classes. If you plan to use [cloud debugging](/main/docs/debugging-groovy-scripts), you must use an Eclipse IDE. Tip Zilliant recommends using [VisualStudio](https://code.visualstudio.com/) ![](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/external-link-svgrepo-com.svg?sv=2026-02-06&spr=https&st=2026-10-27T06%3A08%3A54Z&se=2026-10-27T07%3A08%3A54Z&sr=c&sp=r&sig=SwJpf04ZKGFb6zgWYqM%2FATJLXT5afwYZahZbCSLLUdQ%3D) to work with Groovy scripts. ## API Documentation Refer to [Apache Groovy](http://groovy-lang.org/) ![](https://cdn.document360.io/24f960e8-3c1c-4c18-a2c6-83b6ae4aab84/Images/Documentation/external-link-svgrepo-com.svg?sv=2026-02-06&spr=https&st=2026-10-27T06%3A08%3A54Z&se=2026-10-27T07%3A08%3A54Z&sr=c&sp=r&sig=SwJpf04ZKGFb6zgWYqM%2FATJLXT5afwYZahZbCSLLUdQ%3D) for general information and help writing Groovy scripts. For information about custom classes and available APIs, refer to the [Zilliant Groovy API reference](/main/docs/groovy-api-reference). ## Learn more - [Uploading Groovy scripts](/v1/docs/upload-a-groovy-script) - [Extension points](/v1/docs/about-extension-points)