Node Overview
MachinaOs uses a visual node-based system for building workflows. Each node performs a specific function and passes data to connected nodes.
Node Categories
| Category | Count | Description |
|---|
| AI Models | 3 | Chat models from OpenAI, Anthropic, Google |
| AI Agents | 2 | Intelligent agents with memory |
| WhatsApp | 3 | Messaging automation |
| Android | 17 | Device control and monitoring |
| Webhooks | 3 | HTTP requests and webhook handling |
| Schedulers | 3 | Triggers and timing |
Node Shapes
Different shapes indicate different node types:
| Shape | Type | Description |
|---|
| Diamond | Trigger | Starts a workflow (no input handle) |
| Square | Action | Performs operations |
| Circle | Config | Provides configuration to other nodes |
Handles
Handles are connection points on nodes:
- Main Input - Receives data from upstream nodes
- Config Inputs - Diamond shapes for memory, model, etc.
Output Handles (Right Side)
- Main Output - Sends data to downstream nodes
Data Flow
Data flows from left to right through connections:
[Trigger] --> [Process] --> [Action] --> [Response]
Template Variables
Access upstream data using template syntax:
Examples:
{{webhookTrigger.body}} // Webhook request body
{{openaiChatModel.response}} // AI model response
{{batteryMonitor.level}} // Battery percentage
{{whatsappReceive.text}} // Message content
Nested Fields
Access nested objects with dot notation:
{{whatsappReceive.group_info.sender_name}}
{{webhookTrigger.body.user.email}}
Node Configuration
Opening Parameters
- Click the node to select it
- Click gear icon or double-click to open parameter panel
Parameter Types
| Type | Description |
|---|
| Text | String input |
| Number | Numeric input |
| Boolean | Toggle on/off |
| Options | Dropdown selection |
| Slider | Range selection |
| Code | Multi-line code editor |
| JSON | JSON object input |
Dynamic Options
Some parameters load options from the backend:
- Device lists (Android)
- AI models (based on API key)
- Groups and contacts (WhatsApp)
Node States
During execution, nodes show their state:
| State | Indicator | Description |
|---|
| Idle | Default | Not running |
| Waiting | Cyan | Trigger waiting for event |
| Running | Purple glow | Currently executing |
| Completed | Green | Finished successfully |
| Error | Red | Failed with error |
Special Node Types
Trigger Nodes
- No input handle
- Start workflow execution
- Wait for external events
Examples: Webhook Trigger, WhatsApp Receive, Cron Scheduler
Config Nodes
- Connect to special config handles (diamonds)
- Provide settings to parent nodes
- Don’t execute independently
Examples: Simple Memory, AI Models
Renaming Nodes
Give nodes meaningful names:
- Press F2 with node selected
- Or double-click the node label
- Or right-click > Rename
Copying Nodes
- Select node(s)
- Press Ctrl+C to copy
- Press Ctrl+V to paste
Deleting Nodes
- Select node(s)
- Press Delete or Backspace
Best Practices
Name your nodes descriptively. “Process Order” is better than “AI Agent 1”.
Test individual nodes with the Run button before deploying full workflows.
Config nodes (Memory, Models) connect to diamond handles, not main inputs.
Node Reference