Skip to main content

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

CategoryCountDescription
AI Models3Chat models from OpenAI, Anthropic, Google
AI Agents2Intelligent agents with memory
WhatsApp3Messaging automation
Android17Device control and monitoring
Webhooks3HTTP requests and webhook handling
Schedulers3Triggers and timing

Node Shapes

Different shapes indicate different node types:
ShapeTypeDescription
DiamondTriggerStarts a workflow (no input handle)
SquareActionPerforms operations
CircleConfigProvides configuration to other nodes

Handles

Handles are connection points on nodes:

Input Handles (Left Side)

  • 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:
{{nodeName.fieldName}}
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

  1. Click the node to select it
  2. Click gear icon or double-click to open parameter panel

Parameter Types

TypeDescription
TextString input
NumberNumeric input
BooleanToggle on/off
OptionsDropdown selection
SliderRange selection
CodeMulti-line code editor
JSONJSON 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:
StateIndicatorDescription
IdleDefaultNot running
WaitingCyanTrigger waiting for event
RunningPurple glowCurrently executing
CompletedGreenFinished successfully
ErrorRedFailed 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:
  1. Press F2 with node selected
  2. Or double-click the node label
  3. Or right-click > Rename

Copying Nodes

  1. Select node(s)
  2. Press Ctrl+C to copy
  3. Press Ctrl+V to paste

Deleting Nodes

  1. Select node(s)
  2. 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