n8n-docs/docs/integrations/creating-nodes/build/reference/node-base-files/structure.md
Justin Ellingwood a7dc52d6e1
Change repo links to absolute file paths (#2829)
Co-authored-by: Nick Veitch <nick.veitch@n8n.io>
2025-02-11 17:40:26 +00:00

2.4 KiB

title description contentType
Structure of the node base file A reference document detailing the basic structure of the node base file. reference

Structure of the node base file

The node base file follows this basic structure:

  1. Add import statements.
  2. Create a class for the node.
  3. Within the node class, create a description object, which defines the node.

A programmatic-style node also has an execute() method, which reads incoming data and parameters, then builds a request. The declarative style handles this using the routing key in the properties object, within descriptions.

Outline structure for a declarative-style node

This code snippet gives an outline of the node structure.

import { INodeType, INodeTypeDescription } from 'n8n-workflow';

export class ExampleNode implements INodeType {
	description: INodeTypeDescription = {
		// Basic node details here
		properties: [
			// Resources and operations here
		]
	};
}

Refer to Standard parameters for information on parameters available to all node types. Refer to Declarative-style parameters for the parameters available for declarative-style nodes.

Outline structure for a programmatic-style node

This code snippet gives an outline of the node structure.

import { IExecuteFunctions } from 'n8n-core';
import { INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';

export class ExampleNode implements INodeType {
	description: INodeTypeDescription = {
    // Basic node details here
    properties: [
      // Resources and operations here
    ]
  };

  async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
    // Process data and return
  }
};

Refer to Standard parameters for information on parameters available to all node types. Refer to Programmatic-style parameters and Programmatic-style execute method for more information on working with programmatic-style nodes.