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

# Nodes Overview

> All available node types in whatabot, organized by category.

## Overview

Nodes are the building units of every whatabot flow. Each node performs a specific action -- sending a message, waiting for user input, evaluating a condition, calling an API, or ending the conversation. You connect nodes with edges to define the conversation path.

whatabot provides **18 node types** across six categories.

## Messages

Nodes that send content to the user and immediately continue to the next node.

<CardGroup cols={2}>
  <Card title="Message" icon="comment">
    Send text and media (image, video, audio, document, or sticker) in sequence.
    Media is a content type within the message node.
  </Card>

  <Card title="PIX Copia e Cola" icon="brazilian-real-sign">
    Generate a PIX payment message for Brazilian payment processing.
  </Card>
</CardGroup>

### Message node media limits

When adding media content to the Message node, each type has specific allowed formats and a maximum file size:

| Type     | Accepted formats                          | Max size |
| -------- | ----------------------------------------- | -------- |
| Image    | JPEG, PNG                                 | 5 MB     |
| Video    | MP4, 3GPP                                 | 16 MB    |
| Audio    | AAC, AMR, MPEG, MP4, OGG                  | 16 MB    |
| Document | PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT | 100 MB   |
| Sticker  | WebP                                      | 500 KB   |

<Warning>
  Files that exceed the maximum size or use an unsupported format will be rejected when creating the node.
</Warning>

## User Input

Nodes that send interactive content and **wait** for the user to respond before continuing.

<CardGroup cols={3}>
  <Card title="Button" icon="hand-pointer">
    Present up to three tappable buttons.
  </Card>

  <Card title="List" icon="list">
    Display a scrollable list of selectable options.
  </Card>

  <Card title="Message Menu" icon="keyboard">
    Show a numbered text menu or an open-field prompt.
  </Card>
</CardGroup>

## Logic

Nodes that evaluate conditions, set variables, transform data, and control the flow path.

<CardGroup cols={2}>
  <Card title="Condition" icon="code-branch">
    Route the conversation based on variable comparisons.
  </Card>

  <Card title="Jump To" icon="arrow-right">
    Jump execution to another node without a visual edge.
  </Card>

  <Card title="Set Variable" icon="pen">
    Assign values to one or more variables.
  </Card>

  <Card title="Format" icon="wand-magic-sparkles">
    Apply formatting functions to strings, numbers, or dates.
  </Card>
</CardGroup>

## Integrations

Nodes that connect to external services.

<CardGroup cols={2}>
  <Card title="API Request" icon="globe">
    Make HTTP requests and branch on success or error.
  </Card>

  <Card title="OpenAI Agent" icon="robot">
    Delegate the conversation to an OpenAI assistant.
  </Card>
</CardGroup>

## Data

Nodes that parse, filter, and transform structured data.

<CardGroup cols={3}>
  <Card title="Object Parser" icon="brackets-curly">
    Extract JSON fields into flow variables.
  </Card>

  <Card title="Filter Parser" icon="filter">
    Filter and map items in a JSON array.
  </Card>

  <Card title="JS Code Runner" icon="js">
    Execute custom JavaScript code.
  </Card>

  <Card title="Base64 to Link" icon="link">
    Convert Base64 data into a media link.
  </Card>
</CardGroup>

## Actions

Terminal nodes that end the flow or hand off the conversation.

<CardGroup cols={2}>
  <Card title="Transfer" icon="right-left">
    Hand the conversation to a human agent, sector, or another flow.
  </Card>

  <Card title="Finish" icon="flag-checkered">
    End the flow and close the session.
  </Card>
</CardGroup>
