Nodes Overview¶
Nodes are the building blocks of m9m workflows. Each node performs a specific operation on data.
Available Node Categories¶
| Category | Nodes | Description |
|---|---|---|
| Core | 1 | Workflow control nodes |
| Transform | 9 | Data transformation |
| HTTP | 1 | Web requests |
| Triggers | 2 | Workflow triggers |
| Database | 3 | Database operations |
| Messaging | 2 | Chat platforms |
| AI & LLM | 2 | AI services |
| CLI Execution | 1 | Sandboxed CLI commands & AI agents |
| Cloud Storage | 4 | Cloud providers |
| Version Control | 2 | Git platforms |
| 1 | Email operations | |
| File Operations | 2 | File system |
| Total | 30+ |
Node Structure¶
Every node follows this JSON structure:
{
"id": "unique-identifier",
"name": "Display Name",
"type": "n8n-nodes-base.nodeType",
"position": [x, y],
"parameters": {
"param1": "value1",
"param2": "={{ $json.dynamicValue }}"
},
"disabled": false
}
Required Fields¶
| Field | Type | Description |
|---|---|---|
id |
string | Unique identifier within workflow |
name |
string | Display name (used in connections) |
type |
string | Node type identifier |
position |
[x, y] | Position in visual editor |
parameters |
object | Node-specific configuration |
Optional Fields¶
| Field | Type | Default | Description |
|---|---|---|---|
disabled |
boolean | false |
Skip this node during execution |
Node Types¶
All m9m nodes use the n8n-nodes-base.* prefix for n8n compatibility:
Data Flow¶
Nodes receive input data as an array of items and produce output data:
Input: [{json: {...}}, {json: {...}}]
│
▼
┌─────────────┐
│ Node │
│ (process) │
└─────────────┘
│
▼
Output: [{json: {...}}]
Input Data¶
- Nodes receive all items from connected upstream nodes
- Each item has a
jsonproperty with the data - Items may also have
binarydata for files
Output Data¶
- Nodes can output zero, one, or many items
- Output items are passed to all connected downstream nodes
Expression Support¶
Most node parameters support expressions:
{
"parameters": {
"url": "https://api.example.com/users/{{ $json.userId }}",
"body": "={{ JSON.stringify($json) }}"
}
}
See Expressions for full documentation.
Credential Injection¶
Nodes that require authentication can reference credentials:
Error Handling¶
By default, node errors stop workflow execution. Use the Filter node to handle errors gracefully:
{
"type": "n8n-nodes-base.filter",
"parameters": {
"conditions": [
{
"leftValue": "={{ $json.error }}",
"operator": "notExists"
}
]
}
}
Quick Reference¶
Most Used Nodes¶
| Node | Type | Use Case |
|---|---|---|
| Start | n8n-nodes-base.start |
Workflow entry point |
| HTTP Request | n8n-nodes-base.httpRequest |
API calls |
| Set | n8n-nodes-base.set |
Set/modify fields |
| Filter | n8n-nodes-base.filter |
Conditional filtering |
| Code | n8n-nodes-base.code |
Custom logic |
| CLI Execute | n8n-nodes-base.cliExecute |
Run CLI tools & AI agents |
| Webhook | n8n-nodes-base.webhook |
HTTP triggers |
By Use Case¶
| Use Case | Recommended Nodes |
|---|---|
| API Integration | HTTP Request |
| Data Transformation | Set, Filter, Code |
| Scheduled Tasks | Cron |
| External Triggers | Webhook |
| Notifications | Slack, Discord, Email |
| AI Processing | OpenAI, Anthropic |
| AI Coding Agents | CLI Execute (Claude Code, Codex, Aider) |
| File Storage | AWS S3, Azure Blob, GCP Storage |