This is part 2 of the Your First Plugin tutorial. Make sure you’ve completed 1. Plugin Definition first.
Define the node
Add toweather_plugin/__init__.py:
Register the node in your plugin
Update the plugin class to include the node:Test it locally
Restart the plugin server and test the node execution:Key concepts
| Concept | Description |
|---|---|
node_name | Unique identifier — must be unique across all plugins |
inputs / outputs | Connectors that define what data flows in and out |
TypeDefinition | Specifies data type (str, dict, File, Image, etc.) and whether it’s a list |
call() | The async method that runs when the node executes. Receives ctx + input values, returns a dict mapping output names to values |
NodeConfiguration | Pydantic model for config fields the user sets in the editor |
Available data types
Node metadata
| Field | Required | Description |
|---|---|---|
node_name | Yes | Unique snake_case identifier |
title | Yes | Display name in the UI |
description | Yes | Shown in node palette and tooltips |
category | Yes | Groups the node in the palette (DATA, AI_TEXT, INTEGRATIONS, LOGIC, etc.) |
color | Yes | Hex color for the node in the editor |
image | No | Icon URL (PNG/SVG, recommended 48×48) |
integrations | No | Dict mapping integration types to required credential fields |
Next: First Integration →
Define credentials and an integration for an external API.