For the complete documentation index, see llms.txt. This page is also available as Markdown.

Custom AI Agent

Previously known as: AI Response Node

The Custom AI Agent node is Nected's general-purpose AI step: it sends a prompt (built from static text, workflow data, or both) to a connected AI provider and returns text back into your workflow. It's the node you reach for anywhere a workflow needs an LLM to read something and produce language back - a summary, a classification, a recommendation, a drafted reply, an extracted value - without you writing or hosting any model-calling code yourself.

It's one of three AI Agent node types in Nected (the other two are Text Analysis Agent and Document Classifier Agent, for more specialized text/document tasks). Custom AI Agent is the flexible, general one - you define the task yourself through prompts rather than picking a fixed built-in task. It appears on the workflow canvas labeled CustomAIAgent.

What you can actually build with it

Because the prompt is dynamic and the node can read live workflow data, the same node type covers a wide range of jobs depending only on what you write into the prompt:

  • Summarization - condense a support ticket, a document, or a batch of records pulled earlier in the workflow into a short summary.

  • Classification / triage - read incoming data (a ticket, a form submission, an email body) and output a category, priority, or sentiment your workflow then branches on with a Switch node.

  • Drafting - generate a reply, notification message, or report section using data from earlier nodes, ready to send via an email/Slack step further down the workflow.

  • Extraction - pull specific fields out of unstructured text (e.g. "extract the order ID and complaint reason from this message") and pass them on as structured output.

  • Decisioning with reasoning - ask for a recommendation and a short justification, optionally with a confidence score, so downstream logic (or a human review step) can act on it.

  • Tool-using agent tasks (Claude only) - go beyond "read prompt, return text": let the model call out to Notion, an internal system, or any other connected MCP server, and/or search the live web, mid-response. See Tools & MCP Connectors below - this is what turns the node from a text generator into an agent that can look things up and act.

The common thread: anywhere you'd otherwise write a small custom script to call an LLM API and parse the response, this node does that in a few form fields instead, with the result available as workflow data to any node after it.

Prerequisites

Before adding a Custom AI Agent node, you need an AI Provider connector already set up under Integrations → AI Providers. Nected currently supports:

Provider
Connector name shown in the dropdown

OpenAI

e.g. openAi

Anthropic (Claude)

e.g. AnthropicAi

GoogleAI (Gemini)

e.g. googleAi / googleAI2

Vertex AI

your Vertex connector

You can have multiple connectors for the same provider (e.g. two separate Anthropic connectors with different API keys) - the node just asks you to pick one by name.

Read More: AI Provider Connector

How to add the node

  1. Open a Workflow (new or existing) in the Workflow Editor.

  2. Click the + on the canvas to add a step, and choose AI Agents.

  3. Pick Custom AI Agent from the three options (Custom AI Agent / Text Analysis Agent / Document Classifier Agent).

The node appears on the canvas as CustomAIAgent, and its config panel has three tabs: Input Params, Test Results, and Settings.

Tabs Overview

Like all other nodes, our AI Agent node also has these 3 tabs. You can jump on any tab to read in detail about that specific tab:

Model Configuration

  • Connector - which AI Provider connector to use. Switching this changes what else is available further down the form (see Tools and Advance Settings below - both are connector-specific).

  • Model Name - the exact model identifier to call, e.g. claude-sonnet-4-5-20250929, gpt-4, gemini-3.1-pro-preview. This is a free-text field, not a fixed dropdown, so it accepts any model string your provider account has access to.

To Change the model name either you can directly change from the Connector settings. Or can edit the model name here as well.

  • Assistant ID - shown in place of (or alongside) Model Name when the selected connector is configured against an OpenAI Assistant (i.e. the connector itself points at a pre-built Assistant rather than a bare model). This is a connector-level configuration choice made when the AI Provider connector was set up, not a per-node toggle.

Task Instructions

  • User Prompt - the instruction sent to the model. Supports dynamic tokens so you can pull in data from earlier in the workflow, e.g. Summarize this ticket: {{.LoopBlock.output[1].ruleId}}. See Use Tokens in the Editor. Clicking into the field opens a token picker (Global Attributes / System Attributes) alongside it for inserting references without typing them by hand.

  • System Prompt (optional) - sets the model's behavior/role for this call, e.g. You are a helpful AI assistant. Provide accurate, concise, and helpful responses. (this is also the default value if you leave it untouched).

  • Add Confidence - when on, the model appends a confidence line to the end of its own response text, e.g. a response ending in *Confidence: 0.8*. This is the model self-reporting confidence in Markdown, not a separate structured field in the JSON output - if you need to parse it programmatically downstream, you'll need to extract it from the response string.

  • Format Markdown - when on, asks the model to format its response as Markdown (headings, bold, lists, etc.) rather than plain text.

Tools (Anthropic/Claude connectors only)

When Connector is set to an Anthropic connector, a Tools section appears that isn't available for OpenAI, GoogleAI, or Vertex connectors. This is the capability that turns the node from a closed text-in/text-out block into an agent that can reach outside the conversation:

Tool
What it does

MCP Connectors

A multi-select dropdown listing every published MCP Server connector in the current environment. Select one or more to let Claude call that server's tools as part of answering the prompt.

Web Search

A simple on/off toggle. No connector needed - when on, Claude can search the live web and ground its answer in current results.

Read how you can setup MCP Server within the AI Node.

See why the tools matters.

Advance Settings

An expandable section under Input Params for provider-level generation parameters. The available fields depend on which connector is selected - this isn't a fixed list:

Anthropic connectors:

  • API & Request Settings: Base URL, Default Headers, Extra Headers, Metadata, Stop Sequence

  • Model Behavior: Top K, Top P

OpenAI connectors:

  • API & Request Settings: Stop Sequence

  • Model Behavior: Frequency Penalty, Log Probs (toggle), Presence Penalty, Top P

  • Additional Settings: Seed, Top Log Probs, User Identifier

GoogleAI (Gemini) connectors:

  • API & Request Settings: Stop Sequence

  • Model Behavior: Candidate Count, Frequency Penalty, Log Probs (toggle), Presence Penalty, Include log probabilities (toggle), Top K, Top P

  • Response Format: Response Mime Type, Response Schema (JSON) - lets you ask Gemini to return structured JSON matching a schema you define here.

All of these are optional - leave them blank to use the provider's defaults.

Click Test (bottom of the Input Params panel) to run the node with its current configuration - this makes a real call to the provider (and, if Tools are attached, real tool calls), so treat it like any other live invocation.

The result is shown in three interchangeable views:

  • Raw - the response as JSON text.

  • Pretty - a collapsible tree view (root → error, executionTime, output → processing_time, ref_id, response).

  • Table - a navigable breadcrumb table (Root → output) with one row per response.

The response shape, confirmed live:

like this:

On failure, output is null and error carries the provider's raw error message (see the model-name and MCP-auth examples above) - useful for debugging since it's the underlying API's own error text, not a generic Nected wrapper message.

A successful Test also marks the node as tested for this environment, which matters because Nected requires every node earlier in a path to have been tested at least once before a later node in that path can be tested or the workflow run - if Test tells you a previous node hasn't been tested, that's a workflow-level rule, not specific to this node.

A second tab, separate from Advance Settings, covering execution behavior rather than model generation parameters:

Setting
Default
Purpose

Timeout for API (s)

50

Max time to wait for the provider's API response.

Timeout for Webhook/Cron (s)

50

Time limit specifically for webhook- or cron-triggered runs.

Continue on error?

Off

If on, the workflow continues past this node even if it fails, instead of halting the run.

Cache

Off

Reuse a previously generated result instead of calling the model again for the same input.

Time to expire

5 (Minutes)

How long a cached result stays valid before the node calls the model again.

AI Settings

Max Tokens

1000

Upper bound on response length.

Temperature

1

Randomness - lower is more deterministic/consistent, higher is more varied/creative.

Max Retries

0

Automatic retry attempts if the call fails.

Metadata Required

Off

Include additional response metadata beyond the core response text.

Why the Tools matters so much?

Without either of these, the model only ever reasons over the prompt text and whatever workflow data you explicitly fed it - it has no way to check current facts or touch another system. With them on, the model decides at run time, based on your prompt, whether and what to call - you describe the outcome, not the API calls.

This was tested live end-to-end. With an Anthropic connector, a published Notion MCP connector attached, and the prompt "Search my Notion workspace for any pages related to 'roadmap' and list their titles", the node returned:

Claude called Notion's search tool through the connector, got real results back, and wrote a natural-language answer from them - all inside one node. With Web Search on instead, the same pattern applies to open-web facts: a prompt asking for the current stable Node.js version returned a real, current version number pulled from a live search, not from the model's training data.

Realistic use patterns beyond the tested example:

  • Knowledge lookups across Notion, Confluence, a wiki, or any documentation MCP server, summarized or answered on demand.

  • Ticketing/CRM context - look up a customer's history or open tickets from a connected system before drafting a response.

  • Cross-system tasks in one node - e.g. "check if this customer has an open ticket, and if not, summarize their last few orders," reasoning over two systems in a single call instead of a chain of REST nodes and branching logic.

  • Current-events grounding via Web Search, for anything that needs to be accurate as of today rather than the model's training cutoff.

How to setup MCP Server within the AI Node?

Follow these simple steps to setup your MCP Server within the workflow:

  1. Open (or create) a Workflow, and add a CustomAIAgent node (found under the Control step types).

  2. Under Model Configuration:

    • Set Connector to an Anthropic connector (a Claude model connector you've already set up under Integrations → AI Providers → Anthropic).

    • Set Model Name to the Claude model you want (e.g. claude-sonnet-4-5-20250929).

  3. Under Task Instructions, fill in your User Prompt and (optionally) customize the System Prompt. Toggle Add Confidence / Format Markdown as needed.

  4. Under Tools → MCP Connectors, click the dropdown - it lists every published MCP Server connector in the current environment. Select one or more to attach to this agent.

  5. Optionally expand Advance Settings for further tuning.

  6. Save the node, then use Test Run on the workflow to verify the agent can successfully call the MCP server's tools as part of its response.

  7. Publish the workflow once testing looks good.

Tip: You can attach more than one MCP connector to the same AI Agent node. Claude decides, per turn, which tool(s) from which connector(s) it needs to call based on your prompt - so it's fine to attach every MCP server the agent might plausibly need, rather than building a separate node per server.

Wrap-up

Custom AI Agent is deliberately general: the same node type does summarization, classification, extraction, and drafting purely through what you put in the prompt, using dynamic tokens to weave in live workflow data. What changes its ceiling is the Connector you pick - switch to Anthropic and the node gains Tools (MCP Connectors and Web Search), which is the difference between a model that only knows what you told it and one that can go look something up or take action in another system before answering. Everything else - Test Results, Settings, Advance Settings - follows the same pattern as the rest of Nected's node library, just adapted per AI provider where the underlying APIs differ.

Last updated