> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opencompany.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Node Overview

> Understanding MachinaOs nodes and how they connect

# 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

The node palette groups plugins by category. The exact node count grows as new plugins ship, so use the palette in the app for the live list.

| Category                                  | Description                                                                                                                                        |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AI Chat Models](/nodes/ai-models)        | OpenAI, Anthropic, Gemini, OpenRouter, Groq, Cerebras, DeepSeek, Kimi, Mistral, Ollama, LM Studio                                                  |
| [AI Agents and Memory](/nodes/ai-agent)   | AI Agent, Chat Agent (Zeenie), Simple Memory                                                                                                       |
| Specialized Agents                        | Android, Coding, Web, Task, Social, Travel, Tool, Productivity, Payments, Consumer, Autonomous, Orchestrator, AI Employee, RLM, Claude Code, Codex |
| [AI Skills](/nodes/skills)                | Master Skill aggregator (built-in skill library)                                                                                                   |
| [AI Tools](/nodes/tools)                  | Calculator, Time, DuckDuckGo, Task Manager, Write Todos                                                                                            |
| Search                                    | Brave, Serper, Perplexity (dual-purpose)                                                                                                           |
| Google Workspace                          | Gmail, Gmail Receive, Calendar, Drive, Sheets, Tasks, Contacts                                                                                     |
| [WhatsApp](/nodes/whatsapp)               | Send, Receive, DB query (dual-purpose)                                                                                                             |
| Twitter/X                                 | Send, Search, User, Receive (dual-purpose)                                                                                                         |
| Telegram                                  | Send, Receive                                                                                                                                      |
| Social (unified)                          | socialReceive, socialSend                                                                                                                          |
| Email                                     | Send, Read, Receive (IMAP/SMTP, dual-purpose)                                                                                                      |
| Stripe                                    | Stripe action (CLI pass-through), Stripe receive (webhook trigger)                                                                                 |
| [Android](/nodes/android)                 | Device control and monitoring (16 service nodes)                                                                                                   |
| Location                                  | Google Maps (create, geocode, nearby)                                                                                                              |
| Code Executors                            | Python, Monty (sandboxed Python), JavaScript, TypeScript (dual-purpose)                                                                            |
| Filesystem and Shell                      | File read, file modify, shell (Nushell), fs search, process manager                                                                                |
| Browser                                   | Interactive browser automation (dual-purpose)                                                                                                      |
| [Webhooks and Utilities](/nodes/webhooks) | HTTP, webhook trigger/response, chat trigger, console, team monitor                                                                                |
| Proxy                                     | Residential proxy request, config, status                                                                                                          |
| [Documents](/nodes/documents)             | RAG pipeline: scrape, parse, embed, store                                                                                                          |
| Web Scraping                              | Apify actor, Crawlee scraper                                                                                                                       |
| Chat                                      | Chat send, chat history                                                                                                                            |
| [Schedulers](/nodes/schedulers)           | Timer, cron scheduler                                                                                                                              |
| Workflow triggers                         | Start, task trigger                                                                                                                                |

## 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:

### 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

| 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:

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

<Tip>
  Name your nodes descriptively. "Process Order" is better than "AI Agent 1".
</Tip>

<Tip>
  Test individual nodes with the **Run** button before deploying full workflows.
</Tip>

<Warning>
  Config nodes (Memory, Models) connect to diamond handles, not main inputs.
</Warning>

## Node Reference

<CardGroup cols={2}>
  <Card title="AI Models" icon="brain" href="/nodes/ai-models">
    11 providers: OpenAI, Claude, Gemini, OpenRouter, Groq, Cerebras, DeepSeek, Kimi, Mistral, Ollama, LM Studio
  </Card>

  <Card title="AI Agents" icon="robot" href="/nodes/ai-agent">
    AI Agent, Chat Agent (Zeenie), and 16 specialized agents
  </Card>

  <Card title="AI Skills" icon="wand-magic-sparkles" href="/nodes/skills">
    Master Skill aggregator with a built-in skill library
  </Card>

  <Card title="AI Tools" icon="screwdriver-wrench" href="/nodes/tools">
    Calculator, time, search, Android toolkit
  </Card>

  <Card title="WhatsApp" icon="message" href="/nodes/whatsapp">
    Send, receive, and query messages
  </Card>

  <Card title="Android" icon="mobile" href="/nodes/android">
    16 device control nodes
  </Card>

  <Card title="Documents" icon="file-lines" href="/nodes/documents">
    RAG pipeline: scrape, parse, embed, store
  </Card>

  <Card title="Webhooks" icon="webhook" href="/nodes/webhooks">
    HTTP, webhooks, and utilities
  </Card>
</CardGroup>
