--- title: "Scripts" slug: "scripts" updated: 2025-01-07T22:19:04Z published: 2025-01-07T22:19:04Z canonical: "docs.processmaker.com/scripts" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Scripts > [!TIP] > [**Plan Availability:**](https://www.processmaker.com/products/pricing/) ![Professional](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Standard.png)![Professional](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Professional.png)![Enterprise](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Enterprise.png) In ProcessMaker Platform, Scripts allow Process designers and developers to write self-contained programmatic actions that can be called from any Process at runtime. This enables the reuse of the same Script across multiple Process models. In other words, "write once, use anywhere." ### Supported Programming Languages ProcessMaker Platform supports the following programming languages: - PHP (µService) - C# - Java - Lua - JavaScript - JavaScript SSR - PHP - Python --- ## View All Scripts **Permissions** Your user account or group membership must have the "Scripts: View Scripts" permission to view the list of Scripts unless your user account has the **Make this user a Super Admin** setting selected. See the [Scripts](/v1/docs/permission-descriptions-for-users-and-groups#scripts) permissions or ask your Administrator for assistance. Follow these steps to view all Scripts in your organization: 1. [Log on](/v1/docs/participant-basics#log-on-to-processmaker-platform) to ProcessMaker Platform. 2. Click the **Designer** option from the top menu. The [Designer Welcome Screen](/v1/docs/designer-welcome-screen) displays. 3. Do one of the following: - From the **Assets** pane in the Designer Welcome Screen, mouse-hover over the **Scripts** icon, and then select **View All Scripts.** ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Assets (Fall -2024).png) - Click the **Scripts** icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e381a77c-129a-4b3f-aeb4-e7bcec2eeaf8.png) from the left sidebar. The **Scripts** tab displays all Scripts in the **Scripts** page. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Scripts List.png) **Columns in the Scripts list** The **Scripts** tab displays the following information in tabular format about Scripts: - **Name**: The **Name** column displays the name of the Script. Click the name to edit the Script in [Scripts Editor](/v1/docs/script-editor#what-is-the-script-editor). - **Description**: The **Description** column displays the description of the Script. See [Edit Script Configuration](/v1/docs/configure-a-script) for more information. - **Category**: The **Category** column displays to which [Script Category](/v1/docs/script-categories) the Script is assigned. - **Language**: The **Language** column displays the programming language with which the Script was written. - **Modified**: The **Modified** column displays the date and time the Script was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your [user profile's](/v1/docs/profile-settings#change-your-profile-settings) **Time zone** setting is specified. - **Created**: The **Created** column displays the date and time the Script was created. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your [user profile's](/v1/docs/profile-settings#change-your-profile-settings) **Time zone** setting is specified. To efficiently manage scripts you can perform several actions, such as searching, editing, copying, or deleting scripts. - **Create a Script:** Click the **+Script** button. See [Create a New Script](/v1/docs/create-a-new-script). - **Edit Script:** Click the ellipsis menu, and then select the **Edit Script** option or click the script name to modify it. - **Configure a Script:** Click the ellipsis menu, and then click the **Configure** option. See [Configure a Script](/v1/docs/configure-a-script). - **Add a Script to a Project:** Click the ellipsis menu, and then select the **Add to Project** option. - **Copy a Script:** Click the ellipsis menu, and then click the **Copy** option. - **Delete a Script:** Click the ellipsis menu, and then select the **Delete** option. - **The Script Editor:** Use the [Script Editor](/v1/docs/script-editor) to write your scripts. --- ## Scripting AI Assistant > [!TIP] > [**Plan Availability:**](https://www.processmaker.com/products/pricing/) ![Enterprise](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Enterprise.png) Easily create scripts using ProcessMaker's AI assistant. Leverage no-code options to efficiently generate scripts, enhancing productivity and reducing complexity in process design. The scripting AI assistance offers the following functionality: - **Generate a Script** using a natural language description of its function. - **Clean a Script** to enhance its code quality. - **Document a Script** for better clarity and maintainability. - **Explain a Script** to understand its functionality. Explore how to use the scripting AI assistant with the following product tour. For more information, see [Generate Scripts using the AI Assistant.](/v1/docs/generate-your-script-using-ai-assistant) [Embedded content](https://demos.processmaker.com/embed/clwtiaet900ezdeu15985h57w?embed_v=2) --- ## Create a New Script **Permissions** Your user account or group membership must have the following permissions to create a Script unless your user account has the **Make this user a Super Admin** setting selected: - Scripts: Create Scripts - Scripts: View Scripts See the [Scripts](/v1/docs/permission-descriptions-for-users-and-groups#scripts) permissions or ask your Administrator for assistance. Follow these steps to create a new Script: 1. [View your Scripts](/summer-2024/A7mdugENW7gZw1jmnrOv/designer-advanced/what-is-a-script#view-all-scripts). The **Scripts** page displays. 2. Click the **+Script** button. The **Create Script** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b56a22b6-6cc2-43c8-8673-9cce3b34ae29.png) Create Script screen 3. From the **Choose an Executor** section, select a programming language to use for creating your script. Your Administrator may have created custom Script Executors using ProcessMaker Platform-supported languages to run sanctioned custom third-party code and/or [Docker commands](https://docs.docker.com/engine/reference/commandline/docker/) that allow Scripts to successfully call third-party Application Program Interfaces (APIs) and Software Development Kits (SDKs). To know more about the available executors, see [What is a Script Executor?](/v1/docs/script-executor-management#what-is-a-script-executor). This setting is required. 4. In the **Name** setting, enter the name of the Script. Script names must be unique and can only use apostrophe characters (`'`) and spaces. This is a required setting. 5. In the **Description** setting, enter the description of the Script. This is a required setting. 6. From the **Project** drop-down menu, optionally select the [Project(s)](/v1/docs/projects) for this script. This setting only displays Projects of which you are a member. To remove a Project that is currently selected, click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/bc537cad-5f64-4948-9c7d-27e8577ba29c.png) icon for that selection or press `Enter` when the drop-down is visible. 7. From the **Category** drop-down menu, select one or more Script Categories to associate with this Script. In doing so, [Script Categories](/v1/docs/script-categories) may be sorted from the [**Scripts** page](/summer-2024/A7mdugENW7gZw1jmnrOv/designer-advanced/what-is-a-script#view-all-scripts). To remove a Script Category that is currently selected, click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/bc537cad-5f64-4948-9c7d-27e8577ba29c.png) icon for that selection or press `Enter` when the drop-down is visible. This is a required setting. 8. At the bottom right, click the **Advanced Options** link. Advanced options display. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a35fa475-2716-461a-b683-de0242f539ea.png) Advanced Options Click the **Less Options** link to hide advanced options. 9. From the **Run Script As** drop-down menu, select which user's API client token to use with our REST API. Ensure that the selected user's account has the appropriate API [permissions](/v1/docs/permission-descriptions-for-users-and-groups) to access our REST API. By default Administrator user is selected. This is a required setting. 10. In the **Timeout** setting, enter how many seconds the Script is allowed to run before it times out. Use `0` to indicate that the Script never times out. The default timeout is **60** seconds. This setting requires an integer. 11. In the **Retry Attempts** setting, configure how many times to re-run the Script if the Script fails. Enter `0` for no retry attempts. 12. In the **Retry Wait Time** setting, configure how many seconds to wait before attempting a retry . Enter `0` for no wait time. 13. Click **Save** and continuing editing the script in the [Script Editor](/v1/docs/script-editor). --- ### Design and Test Scripts in One Environment Scripts are designed and tested in the [Script Editor.](/v1/docs/script-editor) While designing a Script, test it before you deploy it. Scripts are tested within the authoring environment to ensure they function as intended. While testing, do the following: - Use the JSON data model that you can [preview from your Screens](/v1/docs/preview-a-screen-for-desktop-and-mobile-devices) to ensure that variables designed from a Screen function as intended in your Script. - Incorporate other JSON-formatted data, such as API keys, to ensure your Script uses them correctly during your testing. --- ## Additional Resources - [Script Categories](/v1/docs/script-categories) - [The Script Editor](/v1/docs/script-editor) - [Generate Scripts using the AI Assistant](/v1/docs/generate-your-script-using-ai-assistant) - [Environment Variable Syntax, Usage, SDK, and Examples](/v1/docs/environment-variable-syntax-usage-sdk-and-script-examples) - [Configure a Script](/v1/docs/configure-a-script) ## Related - [Script Categories](/script-categories.md) - [Script Editor](/script-editor.md) - [Generate Your Script Using AI Assistant](/generate-your-script-using-ai-assistant.md) - [Configure a Script](/configure-a-script.md)