Skip to main content

Scripting

Execute custom code within your workflow with support for multiple programming languages and variable management.

Updated over 6 months ago

Overview

The Scripting node enables you to run custom code directly within your workflow, providing powerful programming capabilities for data processing, calculations, and logic implementation. With support for multiple programming languages and flexible variable management, this node serves as a versatile tool for complex workflow operations.

Language Configuration

Select Language

The language selection dropdown allows you to choose your preferred programming environment:

  • JavaScript - Full-featured JavaScript execution environment, ideal for web-based operations, JSON processing, and general-purpose scripting

  • Python - Complete Python runtime for data analysis, mathematical operations, and advanced processing tasks

The selected language determines the execution environment and available libraries for your script.

Code Development

Code Editor

The main code editing area provides a comprehensive development environment:

  • Syntax Highlighting: Language-specific syntax highlighting for improved code readability

  • Code Input Area: Large text field with placeholder "Write your code here" for entering your custom scripts

  • Multi-line Support: Full support for complex, multi-line code blocks and functions

  • Error Detection: Built-in validation to identify syntax errors before execution

Variable Management System

Variables Section

The expandable Variables section provides dynamic variable management for your scripts:

Variable Definition Interface

  • Variable Name Field: Enter custom variable names (shown as "varOne" in the example)

  • Variable Value Field: Set variable values with placeholder "Enter number or words"

  • Add/Remove Functionality: Dynamic addition and removal of variables as needed

  • Delete Icon: Remove individual variables using the trash can icon

  • Information Icon: Access help documentation for variable usage

Variable Types Support

  • Numeric Values: Support for integers, floats, and mathematical expressions

  • String Values: Text data, including complex strings and formatted content

  • Boolean Values: True/false logical values for conditional operations

  • Array/Object Support: Complex data structures depending on the selected language

Execution and Output

Run Script Button

The prominent "Run Script" button initiates code execution:

  • Execution Trigger: Click to run your custom code with the defined variables

  • Real-time Processing: Immediate execution within the workflow environment

  • Error Handling: Comprehensive error reporting for debugging

Output Management

The node provides dual output streams for comprehensive result handling:

Primary Output

  • Result Display: Shows "Your output will be generated here" placeholder

  • Return Values: Displays the main return value or final result of your script

  • Data Formatting: Automatically formats output based on data type and content

Console Log

  • Debug Output: Separate "Console Log" section for debugging information

  • Print Statements: Captures console.log() (JavaScript) or print() (Python) statements

  • Error Messages: Displays runtime errors and exception details

  • Development Aid: Essential for testing and troubleshooting your scripts

Programming Language Features

JavaScript Environment

  • Modern JavaScript: Full ES6+ support with modern language features

  • JSON Processing: Native JSON parsing and manipulation capabilities

  • Web APIs: Access to relevant web-based functions and utilities

  • Asynchronous Operations: Support for promises and async/await patterns

Python Environment

  • Standard Library: Access to Python's comprehensive standard library

  • Data Processing: Built-in support for data manipulation and analysis

  • Mathematical Operations: Advanced mathematical and statistical functions

  • String Processing: Powerful text processing and pattern matching capabilities

Variable Integration

Dynamic Variable Usage

Variables defined in the Variables section become available within your script code:

  • Direct Access: Reference variables by their defined names within your code

  • Type Flexibility: Variables automatically adapt to the appropriate data type

  • Workflow Integration: Variables can be connected to outputs from other workflow nodes

  • Runtime Updates: Variable values can be dynamically updated during workflow execution

External Data Integration

  • Node Connections: Variables can receive data from other workflow nodes

  • API Integration: Process data from external API calls and services

  • File Processing: Handle data from uploaded files or external file sources

Best Practices

Code Development

  • Modular Design: Write clean, modular code with clear function definitions

  • Error Handling: Implement proper error handling and validation

  • Documentation: Include comments for complex logic and calculations

  • Testing: Use console output for debugging and verification

Variable Management

  • Descriptive Names: Use clear, descriptive variable names for better maintainability

  • Type Consistency: Ensure variable types match expected script requirements

  • Validation: Validate variable content before processing

  • Documentation: Document variable purposes and expected formats

Performance Optimization

  • Efficient Algorithms: Choose appropriate algorithms for your data processing needs

  • Memory Management: Consider memory usage for large data processing operations

  • Execution Time: Optimize code for reasonable execution times within workflow constraints

Use Cases

The Scripting node excels in various scenarios:

  • Data Transformation: Convert data between different formats and structures

  • Mathematical Calculations: Perform complex calculations and statistical analysis

  • Business Logic: Implement custom business rules and decision logic

  • API Processing: Parse and process responses from external API calls

  • Validation: Implement custom data validation and quality checks

  • Integration: Bridge gaps between different systems and data formats

Security Considerations

  • Input Validation: Always validate external input data before processing

  • Safe Operations: Avoid operations that could compromise system security

  • Data Sensitivity: Handle sensitive data appropriately within your scripts

  • Error Exposure: Ensure error messages don't expose sensitive information

The Scripting node provides powerful programming capabilities within your workflow, enabling custom logic implementation while maintaining integration with other workflow components.

Did this answer your question?