logoNodeDrop
Nodes

Custom Nodes

Create and install custom nodes

Custom Nodes

Extend NodeDrop with custom nodes for integrations not covered by built-in nodes.

Installing Custom Nodes

  1. Go to Settings > Custom Nodes
  2. Click Upload Node
  3. Select a node package (.zip file)
  4. The node appears in the node panel

Creating Custom Nodes

Node Structure

MyNode/
├── index.ts          # Exports the node
└── MyNode.node.ts    # Node implementation

Basic Template

// MyNode.node.ts
import { NodeDefinition } from "../../types/node.types";

export const MyNodeNode: NodeDefinition = {
  type: "MY_NODE",
  displayName: "My Node",
  name: "myNode",
  group: ["transform"],
  version: 1,
  description: "What this node does",
  icon: "fa:gear",
  color: "#2196F3",
  defaults: {},
  inputs: ["main"],
  outputs: ["main"],
  properties: [
    {
      displayName: "Option",
      name: "option",
      type: "string",
      required: false,
      default: "",
      description: "Configuration option",
    },
  ],
  execute: async (inputData, properties) => {
    // Your logic here
    return {
      success: true,
      data: inputData,
    };
  },
};

Index File

// index.ts
export { MyNodeNode } from "./MyNode.node";

Node Definition Properties

PropertyTypeDescription
typestringUnique identifier
displayNamestringName shown in UI
namestringInternal name (camelCase)
groupstring[]Categories
versionnumberNode version
descriptionstringDescription in UI
iconstringIcon (e.g., "fa:gear")
colorstringHex color
inputsstring[]Input types
outputsstring[]Output types
propertiesarrayConfiguration options
executefunctionExecution logic

Property Types

TypeDescription
stringText input
numberNumeric input
booleanCheckbox
optionsDropdown select
jsonJSON editor
codeCode editor

Execute Function

execute: async (inputData, properties) => {
  // inputData - data from previous node
  // properties - configured values
  
  const result = doSomething(inputData, properties.option);
  
  return {
    success: true,
    data: result,
  };
}

Packaging

  1. Build your node
  2. Create a zip with the node folder
  3. Upload via Custom Nodes settings

Best Practices

  • Use clear, descriptive names
  • Include helpful descriptions
  • Handle errors gracefully
  • Test thoroughly before deploying
  • Version your nodes for updates

On this page