Custom Document Loader

Custom Document Loader Node in Agentflow V2

Custom Document Loader Node v V2

The Custom Document Loader provides the ability to create custom document loading functionality using JavaScript. This module enables flexible and customized document processing through user-defined functions.

This module provides a flexible document loader that can:

  • Execute custom JavaScript functions for document loading
  • Handle input variables dynamically
  • Support both document and text outputs
  • Run in a sandboxed environment
  • Access flow context and variables
  • Process custom metadata

Inputs

Required Parameters

  • Javascript Function: Custom code that returns either:
    • Array of document objects (for Document output)
    • String (for Text output)

Optional Parameters

  • Input Variables: JSON object containing variables accessible in the function with $ prefix

Outputs

  • Document: Array of document objects containing metadata and pageContent
  • Text: Concatenated string from pageContent of documents

Features

  • Sandboxed execution environment
  • Variable injection support
  • Flow context access
  • Custom dependency support
  • Error handling
  • Timeout protection
  • Input validation

Document Structure

When returning documents, each object must have:

{
  pageContent: 'Document Content',
  metadata: {
    title: 'Document Title',
    // ... other metadata
  }
}

Example Usage

Document Output

return [
  {
    pageContent: 'Document Content',
    metadata: {
      title: 'Document Title',
      source: 'Custom Source'
    }
  }
]

Text Output

return "Processed text content"

Available Context

  • $input: Input value passed to the function
  • $vars: Access to flow variables
  • $flow: Flow context object containing:
    • flowId
    • sessionId
    • chatId
    • input

Notes

  • Functions run in a secure sandbox
  • 10-second execution timeout
  • Built-in dependencies available
  • External dependencies configurable
  • Input variables must be valid JSON
  • Error handling for invalid returns
  • Supports async operations

results matching ""

    No results matching ""