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

# AI node types

> Understanding the different AI node types available in Agent Builder for building AI workflows.

Agent Builder provides AI nodes organized into categories based on the type of content they process. Combine these nodes to create sophisticated workflows.

![AI Nodes](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.x/ai_nodes.png)

## Node categories

> [card] [Text operations](#ai-text-operations)
>
> Process and analyze text content

> [card] [Document operations](#ai-document-operations)
>
> Work with documents and files

> [card] [Image operations](#ai-image-operations)
>
> Analyze visual content

> [card] [Data operations](#ai-data-operations)
>
> Transform and enrich data

Additionally, the **Custom Agent**, **Context Retrieval**, **Intent Classification Agent**, and **Speech to Text** nodes provide specialized capabilities.

The palette also includes [document utility nodes](#document-utility-nodes) - [Data Parse](#data-parse-node) (formerly **Tabular Data Extraction**), **Template Filling**, and [Generate Tabular File](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/integration-designer.md#generate-tabular-file-node) - which process documents deterministically, without calling a model.

> [!NOTE]
>
> **Presets.** The text, document, image, and data operation nodes each come with **presets** — ready-made instruction templates for common tasks. Selecting a preset prefills the node's **Instructions** field (and, where useful, an example response schema), which you can then edit. The presets available depend on the node type — for example, **Document Understanding** offers Content Summarization, Key Information Extraction, Topic Analysis, and Sentiment Analysis, and **Document Extraction** offers Metadata Generation, Named Entity Recognition, and Table Extraction.

![Presets picker on a Text Understanding node](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/presets.png)

***

## Intent Classification Agent

Classify user messages and automatically route the workflow to the matching branch — combining AI classification and conditional branching in a single node.

| Node type | Description | Use cases |
| - | - | - |
| **Intent Classification Agent** | Classifies a user message into defined intents and routes to the matching branch | Chatbot routing, email triage, support ticket classification |

### Configuration options

* **User message** — Input text to classify (supports `${}` references)
* **Intents** — Up to 10 natural language intent descriptions, each becoming an output branch
* **Use conversation memory** — Include conversation history for context-aware classification
* **Include Reason for Selection** — Add LLM explanation for the chosen intent
* **Fallback branch** — Automatic "If No Intent Matches" path

> [card] [Intent Classification Agent](https://docs.flowx.ai/6.x/ai-platform/agent-builder/intent-classification.md)
>
> Learn more about configuring intents, output format, and routing behavior

***

## Context Retrieval

Perform RAG (Retrieval-Augmented Generation) searches against a Knowledge Base and return relevant chunks — without calling an LLM.

| Node type | Description | Use cases |
| - | - | - |
| **Context Retrieval** | Queries a Knowledge Base and returns matching chunks with relevance scores | RAG pipelines, document search, context gathering for downstream AI nodes |

### Configuration options

* **Source** — Knowledge Base or Memory (Memory only available in chat-driven workflows)
* **Knowledge Base** — Select which Knowledge Base to query (when source is Knowledge Base)
* **User Query** — the search query, supports process variable expressions
* **Search type** — Hybrid (default), Semantic, or Keywords
* **Max Number of Chunks** — how many chunks to return (1-10)
* **Min Relevance Score** — minimum relevance threshold (0-100%)
* **Metadata Filters** — structured filters with typed operators and AND/OR grouping to refine results by chunk metadata
* **Use advance metadata filters** — toggle for expression-based filtering
* **Use Re-rank** — re-rank retrieved chunks before returning

### Output format

The node outputs an array of retrieved chunks, each containing:

| Field | Description |
| - | - |
| `chunkContent` | The text content of the retrieved chunk |
| `chunkMetadata` | Metadata associated with the chunk |
| `relevanceScore` | Similarity score between the query and the chunk |
| `searchType` | Search strategy that returned this chunk: `HYBRID`, `SEMANTIC`, or `KEYWORD`. Only emitted when the RAG service returns a non-null value. |
| `contentSource` | The store the chunk belongs to (field name preserved for API compatibility) |

> [card] [Context Retrieval](https://docs.flowx.ai/6.x/ai-platform/agent-builder/context-retrieval.md)
>
> Learn more about configuring Context Retrieval nodes

***

## Custom Agent

Create custom agents with advanced capabilities powered by Model Context Protocol (MCP) tools, optional Knowledge Base retrieval, and direct chat reply in Chat Driven workflows.

| Node | Description | Use cases |
| - | - | - |
| **Custom Agent** | Runs your own Instructions, and can grow into an agent with knowledge bases, tools, MCP servers, and conversation memory | Classification with your own categories, grounded Q\&A, multi-step tasks that call tools |

### Configuration options

* **Instructions** *(mandatory)* — The agent's role, tasks, and expected input/output. Sent as the System message and **cached** by the LLM between executions, so `${variable}` references are not allowed in this field. Limited to 10,000 characters.&#x20;
* **Background → Use conversation memory** — Include conversation history in the LLM call (Chat Driven workflows only)
* **Background → Knowledge Base** — Attach one or more knowledge bases for RAG retrieval; includes Search Type (Hybrid, Semantic, or Keywords) and Re-rank options. When several knowledge bases are attached, the agent searches all of them, with one retriever per knowledge base (available starting with 5.9.2).&#x20;
* **Background → Enable agentic knowledge base search** — When ON (available once a Knowledge Base is selected), the agent runs an agentic retrieval flow instead of a single fixed search, and gains **Additional controls → Settings** with **Max attempts** (default 1) and **Subqueries per attempt** (default 3). Off by default.&#x20;
* **Background → Filtering options** — Once a Knowledge Base is attached: **Manual** (default) applies the **Metadata Filters** you configure; **Agentic** lets the agent build the metadata filter at runtime from the knowledge base's metadata keys, hides the Metadata Filters control, and notes `Agent builds the filter at runtime`. The per-knowledge-base retrieval block (Search Type / Number of Chunks / Min Relevance Score / Re-rank) also shows whenever a Knowledge Base is attached, independent of both toggles. For per-tenant isolation use Manual — an agent-authored filter is not an access-control mechanism.&#x20;
* **Background → Context** — Free-text field for the per-execution prompt; supports `${variable}` references. Sent as the User message and not cached.
* **Background → Use only referenced values as input** — Send only values referenced in the prompt to the LLM; narrows context and reduces token usage
* **Tools → MCP Servers** — Attach MCP tools the agent can call
* **Tools → Add tool → Built-in Tools** — Select tool categories to give the agent ready-made helper tools: **Math tools**, **List tools**, **Date tools**, **Text tools**, and **Web search**. Each row lists the tools it enables; nothing is on by default.&#x20;
* Before 5.12, built-in tools were two toggles: **Use Web Search Tool** and **Use built-in tools** (calculator, compare, sort, filter; added in 5.10). A node last saved with those toggles keeps working; they map to the **Web search**, **Math tools**, and **List tools** categories.&#x20;
* **Tools → Workflow tools** — Attach FlowX workflows the agent can call as tools. For each workflow, add a **When should the agent use this workflow?** hint (max 2,000 characters) that tells the agent what the workflow does. The workflow's input parameters become the tool's arguments; a workflow with no input parameters is not eligible. Up to 10 workflow tools per agent.&#x20;
* **Tools → Functions** — Attach [reusable functions](https://docs.flowx.ai/6.x/docs/building-blocks/reusable-resources/reusable-functions.md) the agent can call as tools. A function needs typed input and output parameters to be eligible.&#x20;
* **Personal Information Guard** — Toggle PII redaction on the node's input and/or output (see [Personal Information Guard](https://docs.flowx.ai/6.x/ai-platform/personal-information-guard.md))
* **Response → Send as Chat Reply** — In Chat Driven workflows, deliver the response directly to the Chat component as Markdown
* **Response → Show Reasoning** — When ON, the agent explains how it reached its answer. The chat reply is unchanged; the reasoning is added to the node's output and run logs.&#x20;
* **Response → Include Task for Prompt Suggestions** — In Chat Driven workflows, generate AI follow-up prompts shown in the Chat component after the response
* **Response Key** — Key where the node output is stored in the workflow data
* **Response Schema** — Expected JSON structure of the LLM response (hidden when Send as Chat Reply is ON). Supports `${variable}` placeholders resolved at runtime against workflow data, with substituted values coerced to the schema-declared types.&#x20;

> [!NOTE]
>
> **Web Search.** With the **Web search** category selected, the agent can look up up-to-date information from the public web and use it in its response. There are no extra settings to configure — the agent decides when to search based on its instructions and the user's request. Nothing is selected by default.

> [card] [Custom Agent in Chat Driven workflows](https://docs.flowx.ai/6.x/ai-platform/chat-driven-workflows.md#custom-agent-node)
>
> Full reference for Use conversation memory, Send as Chat Reply, Prompt Suggestions, and other Chat Driven specifics

***

## Speech to Text

Transcribe audio to text within integration workflows.

| Node type | Description | Use cases |
| - | - | - |
| **Speech to Text** | Transcribe audio files into text with language detection and confidence metadata | Voice message processing, audio transcription, accessibility, chat-driven workflows with voice input |

### Configuration options

* **File Source** — Document Plugin, S3, or Chat Input (chat-driven workflows)
* **File Path** — Path to the audio file (supports `${}` references); becomes a test-file dropdown when **Use Test File** is on
* **Use Test File** — Upload a sample audio file for development testing
* **Response Key** — Key under which the transcript and metadata are stored

> [card] [Speech to Text](https://docs.flowx.ai/6.x/ai-platform/agent-builder/speech-to-text.md)
>
> Learn more about configuring transcription and chat voice integration

***

## AI Text Operations

Text nodes work on text you pass in through **Context**. Each node offers presets for common tasks.

| Node | Presets |
| - | - |
| **Text Generation** | Summarization, Paraphrasing, Completion, Expansion, Translation |
| **Text Understanding** | Sentiment Analysis, Topic Modeling, Named Entity Recognition, Intent Recognition, Language Detection, Contextual Understanding |
| **Text Transformation** | Formatting, Simplification, Complexification, Tone Adjustment |
| **Text Extraction** | Keyphrase Extraction, Metadata Generation, Table or Structured Data Extraction |

### Configuration options

* **Preset** — Pick a ready-made task to prefill **Instructions** and, where the preset has one, the **Response Schema**. Both stay editable.
* **Instructions** — The task and rules for the model
* **Context** — The input for each run; supports `${}` references
* **Response Schema** — Expected JSON structure of the response
* **Response Key** — Key where the node output is stored in the workflow data

***

## AI Document Operations

Process documents to extract data, generate reports, or understand content.

| Node | Description | Use cases |
| - | - | - |
| **Document Generation** | Automatically build reports or complete templates based on given inputs | Report generation, template completion |
| **Document Extraction** | Identify and extract structured data, entities or metadata from documents | Form processing, invoice data extraction |
| **Document Understanding** | Analyze documents to extract meaning, topics, sentiment, or important information | Document classification, content analysis |
| **Extract Data from File** | Extract text and data from documents and images with configurable extraction strategies | OCR, PDF text extraction, image data extraction, signature detection |

**Document Extraction** and **Document Understanding** take a file, not raw text: set **Document Source** and **File Path**, and the document is parsed before it reaches the model. To work on text you already have, use a [text node](#ai-text-operations) such as **Text Extraction**.

| Node | Presets |
| - | - |
| **Document Generation** | Automated Report Writing, Document Completion, Template Creation |
| **Document Extraction** | Metadata Generation, Named Entity Recognition, Table Extraction |
| **Document Understanding** | Content Summarization, Key Information Extraction, Topic Analysis, Sentiment Analysis |

> [card] [Extract Data from File](https://docs.flowx.ai/6.x/ai-platform/agent-builder/extract-data-from-file.md)
>
> Learn more about configuring extraction strategies, image extraction, and signature detection

Document Generation, Document Extraction, and Document Understanding use the same **Preset**, **Instructions**, **Response Schema**, and **Response Key** settings as the [text nodes](#ai-text-operations).

***

## Document utility nodes

These nodes in the same palette handle documents without calling a model. They are not AI nodes: they run deterministically, cost no tokens, and take no instructions or response schema.

| Node | Description | Use cases |
| - | - | - |
| **Data Parse** | Parse a CSV, XLS, XLSX, XML, or JSON file into structured JSON | Bulk imports, reference data loads, spreadsheet-driven onboarding |
| **Template Filling** | Render a document template with variable data into a PDF or DOCX | Contracts, offer letters, statements, regulatory forms |
| **[Generate Tabular File](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/integration-designer.md#generate-tabular-file-node)** | Write workflow data to a CSV or XLSX file stored against the current run | Report exports, reconciliation files, data handoffs to spreadsheet users |

> [!NOTE]
>
> Use [Data Parse](#data-parse-node) for spreadsheets, XML, and JSON files. A table *inside* a PDF or a scanned payslip is not tabular data in this sense - reach for **Document Extraction** or **Extract Data from File** instead.&#x20;

### Data Parse node

| Option | Description |
| - | - |
| **File Path** | Path or expression pointing to the spreadsheet |
| **Sheet** | Sheet name, for Excel files; leave empty for the first sheet. Ignored for CSV, XML, and JSON |
| **Response Key** | Key under which the extracted rows land in workflow state |

![Tabular Data Extraction node configuration with File Path, Sheet, and Response Key](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/tabular-data-extraction-node-config.png)

![Data Parse node on the workflow canvas with File Path, Sheet, and Response Key filled in, next to the Data Parse entry in the node palette](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/data-parse-node-config.png)

**Data Parse** was called **Tabular Data Extraction** in earlier releases. Besides CSV, XLS, XLSX, and XLSM spreadsheets, it also parses **XML** and **JSON** files into structured JSON. The options are the same; **Sheet** applies to Excel files only and is ignored for CSV, XML, and JSON. The result lands under `<responseKey>.data`: rows for spreadsheets, an object tree for XML and JSON. Existing nodes keep working unchanged.

For the XML conversion rules and size limits, see [Data Parse: XML and JSON support](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/integration-designer.md#data-parse-xml-and-json-support).

### Template Filling configuration

| Option | Description |
| - | - |
| **Template** | The document template to render |
| **Language** | Template language or locale, for example `en` |
| **Folder** | Destination folder for the generated file, for example `${client.id}` |
| **Document Tag** | Tag recorded for the generated file, for example `ContractTemplate` |
| **Document format** | `PDF` or `DOCX` |
| **Template Variables** | A value for each template variable, either fixed text or a `${}` expression |
| **Input Mapping** | Maps workflow data onto the template's input parameters in the data mapper. Nodes created before FlowX.AI 5.13 show an **Enable data mapping** toggle that switches between this and **Template Variables** |
| **Response Key** | Key under which the generated document reference lands |

![Template Filling node configuration with Template, Language, Folder, Document Tag, and Document format](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/template-filling-node-config.png)

> [!NOTE]
>
> **Template**, **Language**, and **Document Tag** are mandatory - the node cannot render without them. **Response Key** is also required, since the generated document reference lands under it.

For a step-by-step guide to mapping workflow data into the template and building the download URL, see [Fill a document template from a workflow and download it](https://docs.flowx.ai/6.x/cookbooks/generate-and-download-a-document.md).

***

## AI Image Operations

Analyze visual content to generate captions, extract details, or identify objects.

| Node | Presets |
| - | - |
| **Image Description** | Image Captioning, Image Detail Extraction |
| **Image Analysis** | Object Recognition, Emotion Analysis, Scene Understanding |

Image nodes take the image as a file through **Document Source** and **File Path**, and use the same **Preset**, **Instructions**, **Response Schema**, and **Response Key** settings as the [text nodes](#ai-text-operations). To read text from a scanned document or image, use **Extract Data from File**.

***

## AI Data Operations

Data nodes work on structured data you pass in through **Context**.

| Node | Presets |
| - | - |
| **Data Enrichment** | Data Annotation, Relationship Mapping, Contextual Information |
| **Data Generation** | Synthetic Data Creation, Template Filling, Data Completion |
| **Data Transformation** | Data Cleaning, Data Normalization, Data Aggregation, Data Restructuring |

Data nodes use the same **Preset**, **Instructions**, **Response Schema**, and **Response Key** settings as the [text nodes](#ai-text-operations).

***

## Structured-output validation and run diagnostics

> [!NOTE]
>
> **Available starting with FlowX.AI 5.9.2**

When an AI node has a **Response Schema**, the platform validates the LLM response against it and automatically retries with a repair prompt when validation fails. If the response still cannot be repaired, the node fails with a categorized error instead of passing malformed output downstream. This validate-and-repair retry runs when the node has no tools. When the node uses a Knowledge Base, an MCP server, or a built-in tool such as web search, the schema still shapes the response, but the response isn't validated and repaired afterwards.

The node's **Logs** now surface richer run diagnostics: the failure category and reason, the rejected output, the model's reasoning summary (for reasoning models), and the number of schema-validation retry attempts.

***

## What happens when an AI node can't reach its AI service?

The platform retries an AI node automatically when its AI service can't be reached. This covers every AI node except Deep Research, including Custom Agent and Context Retrieval nodes. By default, a node retries up to 10 times, 30 seconds apart, when:

* the AI service is unreachable
* the LLM provider is unavailable
* the LLM provider rate-limits the request
* the connection to the LLM provider fails

Timeouts are not retried by default, because the node may already have called its tools. Deep Research nodes are left out because a retry repeats the whole research run.

### How do I change the retry settings?

Open the node's **Settings** tab and toggle **Allow Retry** **ON**. Then set:

| Field | What it controls |
| - | - |
| **Retry count** | How many times the node retries after the first attempt. Prefilled with `2`. |
| **Interval (ms)** | How long the node waits before a retry, in milliseconds. |
| **Exponential** | Increases the wait after each attempt instead of keeping it fixed. |
| **Backoff coefficient** | With **Exponential** on, the factor the wait grows by on each retry. Prefilled with `2`. |
| **Max interval (ms)** | With **Exponential** on, the longest the node waits between retries, in milliseconds. |

Fields you leave empty fall back to the defaults: 10 retries, 30 seconds apart, fixed wait. With **Exponential** on, the wait before retry *n* is **Interval** × **Backoff coefficient**<sup>n-1</sup>, capped at **Max interval**. For example, an interval of `2000` and a coefficient of `2` waits 2, 4, 8, then 16 seconds.

Your own settings retry more broadly than the default: the node also retries after a timeout and after any failed response, not only when the service is unreachable. Toggle **Allow Retry** **OFF** to return the node to the default retry.

### What happens after the last retry?

If the node has a failure exit connected, the workflow continues down that path. Otherwise the workflow run fails with the error from the AI service.

> [!NOTE]
>
> A single-node run from the Designer doesn't retry an unreachable service. In the workflow run logs, an AI node on the default retry shows one entry with its last attempt. With **Allow Retry** **ON**, the logs show each attempt as its own `Running node: <name> Retry N` line.

***

## Combining nodes

Nodes can be connected in workflows to create complex processing pipelines:

```
Extract Data from File → Text Understanding (Named Entity Recognition preset) → Script (validation) → End
```

### Best practices

> [accordion] Start simple
>
> Begin with a single node and add complexity incrementally. Test each addition before moving on.

> [accordion] Use validation nodes
>
> Add validation steps after extraction to ensure data quality before processing continues.

> [accordion] Handle errors
>
> Include fallback paths for when nodes fail or return low-confidence results.

> [accordion] Monitor performance
>
> Track execution times and accuracy metrics to identify bottlenecks and improvement opportunities.

## Related resources

> [card] [Agent Builder overview](https://docs.flowx.ai/6.x/ai-platform/agent-builder/overview.md)
>
> Get started with Agent Builder

> [card] [Use cases](https://docs.flowx.ai/6.x/ai-platform/agent-builder/use-cases.md)
>
> See real-world examples

> [card] [Chat-driven workflows](https://docs.flowx.ai/6.x/ai-platform/chat-driven-workflows.md)
>
> Multi-turn chat with Custom Agent node changes for chat replies and memory


## Related topics

- [AI patterns](https://docs.flowx.ai/6.x/ai-platform/patterns/overview.md)
- [AI comparison and reconciliation](https://docs.flowx.ai/6.x/ai-platform/patterns/ai-comparison-reconciliation.md)
- [FlowX.AI 5.10.0 Release Notes](https://docs.flowx.ai/release-notes/v5.x/v5.10.0-july-2026/v5.10.0-july-2026.md)
- [Intent Classification Agent](https://docs.flowx.ai/6.x/ai-platform/agent-builder/intent-classification.md)
- [Tutorials](https://docs.flowx.ai/6.x/ai-platform/tutorials/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.