Nodes
Nodes are the individual processing units inside a workflow. NodeLoom ships with 169+ built-in nodes spanning triggers, AI models, control flow, integrations, and more.
Node Anatomy
Every node in NodeLoom shares a consistent structure:
| Part | Description |
|---|---|
| Input handle(s) | Connection points on the left side of the node where data arrives from upstream nodes. |
| Output handle(s) | Connection points on the right side where the node sends its result to downstream nodes. |
| Configuration panel | A side panel that opens when you select the node. Each node type has a unique set of fields, dropdowns, expression inputs, and credential selectors. |
| Test capability | A built-in Test button that executes the node in isolation so you can inspect its output without running the full workflow. |
| Icon and label | A visual indicator showing the node type (e.g., Slack icon, OpenAI icon) and a user-editable display name. |
Node configuration panel
Handles and Connections
Nodes connect to each other through handles -- small circles on the edges of each node. A standard node has one input handle and one output handle. Branching nodes (If/Else, Switch, Try/Catch) have multiple named output handles, each representing a different path.
To create a connection, click and drag from an output handle to an input handle. NodeLoom validates the connection in real time and prevents invalid links (e.g., connecting a node to itself or creating a cycle).
{
"source": "node_if_1",
"target": "node_slack_2",
"sourceHandle": "true"
}Node Categories
NodeLoom organizes its 169+ nodes into the following categories. You can browse the full list in the node picker on the canvas.
Triggers
37 trigger types that start a workflow: Manual, Webhook, Schedule (cron), Chat Trigger, Google Suite triggers (Gmail, Calendar, Drive), AWS triggers (S3, SQS, SNS), message queue triggers (Kafka, RabbitMQ, Redis Pub/Sub), database triggers, file system triggers, and more.
AI and Intelligence
AI Agent, LLM (OpenAI, Anthropic, Google, Ollama, etc.), Text Classifier, Sentiment Analysis, Summarizer, Embeddings, Vector Store operations, and RAG (Retrieval-Augmented Generation) nodes.
Control Flow
If/Else, Switch, Loop, Try/Catch, Parallel, Wait, Delay, Merge, and Subflow nodes. These nodes control the execution path, enable branching, iteration, error handling, and workflow composition.
Data and Integration
HTTP Request, GraphQL, databases (PostgreSQL, MySQL, MongoDB, Redis), cloud storage (S3, Google Cloud Storage), file operations, JSON/XML/CSV transforms, Code (JavaScript/Python in a secure sandbox), and spreadsheet operations.
Communication
Email (SMTP, Gmail, Outlook), Slack, Discord, Microsoft Teams, Telegram, Twilio (SMS/Voice), and other messaging platform nodes.
Security
Guardrail nodes for content filtering, PII detection and redaction, toxicity checks, and custom validation rules that can halt workflow execution when safety thresholds are exceeded.
Finding the right node
Node Configuration
Click any node on the canvas to open its configuration panel on the right side. The panel contains:
- Parameters: Type-specific fields like URLs, queries, prompts, or file paths. Most fields support expressions.
- Credentials: A dropdown to select stored credentials for the service (e.g., choose which Slack workspace token to use).
- Input/Output inspector: View the last test or execution result directly in the panel.
- Settings: Advanced options like retry policy, timeout, continue-on-error, and notes/description.
{
"type": "HTTP_REQUEST",
"parameters": {
"method": "POST",
"url": "https://api.example.com/orders",
"headers": {
"Content-Type": "application/json"
},
"body": {
"customer": "{{ $json.customer.name }}",
"amount": "{{ $json.total }}"
}
},
"credentials": "http_header_auth_prod"
}Testing Nodes
Every node has a Test button in its configuration panel. Clicking it executes the node with the output of its upstream node (or sample data you provide). The result is displayed immediately in the panel so you can iterate quickly.
You can also pin static test data to a node, which freezes its output for all downstream nodes during development. This is helpful when the upstream node calls an expensive API or produces non-deterministic results.
Code nodes run in a sandbox