Resources for building custom nodes, extending NodeTool, and integrating workflows programmatically.


Quick Start: Custom Nodes

Creating custom nodes:

from pydantic import Field
from nodetool.workflows.base_node import BaseNode
from nodetool.workflows.processing_context import ProcessingContext

class MyCustomNode(BaseNode):
    """
    A simple custom node that processes text.
    text, processing, custom
    
    Use cases:
    - Transform text in custom ways
    - Integrate with external APIs
    - Add domain-specific functionality
    """
    
    input_text: str = Field(default="", description="Text to process")
    
    async def process(self, context: ProcessingContext) -> str:
        # Your custom logic here
        return self.input_text.upper()

Save this in a Python file. NodeTool automatically discovers the node.

β†’ Full Custom Node Tutorial – Templates, patterns, and detailed examples


Guides

Custom Node Development

Programmatic Workflows

API Integration


Documentation Development

  • Docs README – How to build and serve the documentation site locally
  • Theme Guide – Notes on the custom docs theme

Contributing

Contribute to NodeTool on GitHub.

Share Custom Nodes

Options:

  1. Publish as a separate package
  2. Contribute to the core node library
  3. Share workflow examples on Discord