function

The Function block lets you run custom JavaScript or TypeScript code in your workflow. Use it to transform data, perform calculations, or implement custom logic that isn't available in other blocks.

Overview

The Function block enables you to:

  • Transform data: Convert formats, parse text, manipulate arrays and objects

  • Perform calculations: Math operations, statistics, financial calculations

  • Implement custom logic: Complex conditionals, loops, and algorithms

  • Process external data: Parse responses, format requests, handle authentication

How It Works

1

Receive Input

Access data from previous blocks via the input object

2

Execute Code

Run your JavaScript/TypeScript code

3

Return Results

Use return to pass data to the next block

4

Handle Errors

Built-in error handling and logging

Configuration Options

Code Editor

Write your JavaScript/TypeScript code in a full-featured editor with:

  • Syntax highlighting and error checking

  • Line numbers and bracket matching

  • Support for modern JavaScript features

  • Native support for fetch

Accessing Input Data

Use the input object to access data from previous blocks:

Common Examples

Data Transformation:

Calculations:

Data Validation:

Accessing Results

After a function executes, you can access its outputs:

  • <function.result>: The value returned from your function

  • <function.stdout>: Any console.log() output from your code

Advanced Features

Async/Await Support

Use async functions for complex operations:

Error Handling

Implement robust error handling:

Performance Optimization

Optimize for large datasets:

Security and Limitations

Inputs and Outputs

  • Code: Your JavaScript/TypeScript code to execute

  • Timeout: Maximum execution time (defaults to 30 seconds)

  • Input Data: All connected block outputs available via variables

Example Use Cases

Data Processing Pipeline

Scenario: Transform API response into structured data

  1. API block fetches raw customer data

  2. Function block processes and validates data

  3. Function block calculates derived metrics

  4. Response block returns formatted results

Business Logic Implementation

Scenario: Calculate loyalty scores and tiers

  1. Agent retrieves customer purchase history

  2. Function block calculates loyalty metrics

  3. Function block determines customer tier

  4. Condition block routes based on tier level

Data Validation and Sanitization

Scenario: Validate and clean user input

  1. User input received from form submission

  2. Function block validates email format and phone numbers

  3. Function block sanitizes and normalizes data

  4. API block saves validated data to database

Example: Loyalty Score Calculator

Best Practices

  • Keep functions focused: Write functions that do one thing well to improve maintainability and debugging

  • Handle errors gracefully: Use try/catch blocks to handle potential errors and provide meaningful error messages

  • Test edge cases: Ensure your code handles unusual inputs, null values, and boundary conditions correctly

  • Optimize for performance: Be mindful of computational complexity and memory usage for large datasets

  • Use console.log() for debugging: Leverage stdout output to debug and monitor function execution

Was this helpful?