Skip to main content

AI Agents in Workflows

Strongly AI provides three categories of AI-powered workflow nodes: AI nodes for model inference, Agent nodes for autonomous reasoning and multi-agent patterns, and Memory nodes for persistent state and retrieval. Together these enable sophisticated AI workflows from simple LLM calls to fully autonomous multi-agent systems.

AI Nodes

AI nodes connect your workflows to language models and other AI capabilities through the AI Gateway.

LLM

Node type: llm. The primary node for calling language models for text generation, summarization, extraction, classification, and question answering. Model calls are routed through the AI Gateway.

Inputs:

InputTypeRequiredDescription
userPromptstringYesThe user message/prompt to send to the AI model
systemPromptstringNoSystem message to guide AI behavior
temperaturenumberNoTemperature value (0-2) to control randomness
maxTokensnumberNoMaximum number of tokens to generate
responseFormatstringNoSet to json_object for clean structured JSON extraction (no markdown fences)

Outputs:

OutputTypeDescription
responsestringThe AI model's text response
modelobjectModel info: id, name, provider, type, contextWindow, maxOutputTokens
usageobjectToken usage: promptTokens, completionTokens, totalTokens
finishReasonstringWhy generation stopped (stop, length, etc.)
responseTimeMsnumberResponse time in milliseconds

Configuration:

SettingDescription
AI ModelSelect from available models via model-selector (chat, multimodal, or realtime types)
Default TemperatureDefault temperature if not provided via input (0-2, default: 0.7)
Default Max TokensDefault max tokens if not provided via input (1-8000, default: 1000)
Default System PromptDefault system message if not provided via input
Default User PromptDefault user prompt if not provided via input mapping
Info OnlyReturn model capabilities without making an LLM call
Response Formattext (default) or json_object for parseable JSON output; overridden by the responseFormat input

Accessing Output: downstream nodes read LLM output through their input mappings using data.-prefixed paths, for example:

{
"inputMappings": {
"text": "data.response",
"tokens": "data.usage.totalTokens"
}
}

Learn more about AI Gateway models -->

Embeddings

Generate vector embeddings from text for semantic search and similarity operations.

Inputs:

InputTypeDescription
textstringSingle text to embed
textsarrayArray of texts to embed (batch)

Outputs:

OutputTypeDescription
embeddingsarrayArray of embedding vectors
modelstringModel used
usageobjectToken usage statistics
dimensionsnumberEmbedding dimensions
countnumberNumber of embeddings generated
responseTimeMsnumberResponse time in ms

Configuration:

SettingDescription
Embedding ModelSelect an embedding model via model-selector
DimensionsOverride dimensions (0 = model default, max 4096)

Vision

Analyze images and visual content using vision-capable AI models (GPT-4V, Claude Vision, etc.).

Inputs:

InputTypeRequiredDescription
imagestringYesImage URL (http/https) or base64-encoded image data
promptstringYesText prompt describing what to analyze
systemPromptstringNoSystem message to guide AI behavior
temperaturenumberNoTemperature value (0-2)
maxTokensnumberNoMaximum tokens to generate

Outputs: Same structure as AI Gateway (response, model, usage, responseTimeMs).

Configuration: model-selector (vision-capable model), defaultTemperature, defaultMaxTokens, defaultSystemPrompt, defaultPrompt.

Image Generation

Generate images from text prompts with async job-based processing.

Inputs:

InputTypeRequiredDescription
promptstringYesText prompt describing the image to generate
negativePromptstringNoWhat to avoid in the generated image

Outputs:

OutputTypeDescription
imagesarrayGenerated images with url or b64_json
jobIdstringAsync job ID (if applicable)
modelstringModel used for generation
revisedPromptstringModel-revised prompt (if applicable)
responseTimeMsnumberTotal response time in ms

Configuration:

SettingDescription
AI ModelSelect an image generation model via model-selector
Image SizeVendor-native size string (e.g. 1024x1024, 1792x1024, 1024x1792 for DALL-E 3). Leave blank for the vendor's default
QualityVendor-native quality token (e.g. standard / hd for DALL-E 3). Leave blank for the vendor's default
Number of Images1-4 (default: 1)
StyleVendor-native style token (e.g. vivid / natural for DALL-E 3). Leave blank for the vendor's default
Poll Interval500-10000 ms for async jobs (default: 2000)
Max Wait10-600 seconds (default: 120)
Default Prompt / Default Negative PromptDefaults used when not provided via input

Speech to Text

Transcribe audio to text using AI speech recognition models (Whisper, etc.).

Inputs:

InputTypeRequiredDescription
audiostringNoBase64-encoded audio data (provide this OR audioPath)
audioPathstringNoPath to audio file from previous node
languagestringNoLanguage code hint (e.g. 'en', 'es', 'fr')
promptstringNoContext hint to guide transcription

Outputs:

OutputTypeDescription
textstringTranscribed text from the audio
languagestringDetected or specified language code
durationnumberAudio duration in seconds
segmentsarrayTimestamped segments (verbose_json format only)

Configuration:

SettingDescription
Transcription ModelSelect a transcription model
LanguageLanguage code hint (leave empty for auto-detection)
Response FormatJSON, Plain Text, SRT (Subtitles), VTT (Web Subtitles), Verbose JSON (with segments)
Transcription PromptContext hint with domain-specific terms

Text to Speech

Convert text to speech audio via AI Gateway.

Inputs:

InputTypeRequiredDescription
textstringYesText to convert to speech

Outputs:

OutputTypeDescription
audioPathstringPath to cached audio file
formatstringAudio format (mp3/opus/aac/flac/wav)
voicestringVoice used
inputLengthnumberInput text length
audioSizenumberAudio file size in bytes
modelstringModel used
responseTimeMsnumberResponse time in ms

Configuration:

SettingDescription
AI ModelSelect a text-to-speech model via model-selector
VoiceVendor-native voice identifier (e.g. alloy / echo / nova for OpenAI, a hex voice id for ElevenLabs, Aoede / Puck for Gemini). Leave blank for the vendor's default voice
Speed0.25 - 4.0 (default: 1)
Voice SettingsOptional vendor synthesis settings passed through to the TTS provider (e.g. ElevenLabs stability / similarity_boost)
Audio FormatMP3 (default), Opus, AAC, FLAC, WAV
Default TextDefault text used when not provided via input

Agent Nodes

Agent nodes provide autonomous reasoning, multi-agent collaboration, and specialized AI-powered processing. Most agent nodes connect to an AI Gateway via a bottom "ai" dependency connector, and optionally to MCP tools providers and memory nodes.

Connector Pattern

Most agent nodes have three bottom dependency connectors:

  • AI (bottom-left) -- Connect to an AI Gateway node for LLM reasoning
  • Memory (bottom-center) -- Connect to a memory node for persistent state
  • Tools (bottom-right) -- Connect to an MCP Tools Provider for external tool access
                  [Agent Node]
/ | \
[AI] [Memory] [Tools]

ReAct Agent

Autonomous AI agent using the ReAct (Reasoning + Acting) pattern. Iteratively thinks, acts using tools, and observes results until the goal is achieved.

Inputs:

InputTypeRequiredDescription
taskstringYesThe goal or task for the agent to accomplish
contextstringNoAdditional context to help the agent
toolsarrayNoAvailable tools (can also come from connected tool nodes)

Outputs:

OutputTypeDescription
finalAnswerstringThe agent's final response
successbooleanWhether the agent achieved its goal
stopReasonstringWhy the agent stopped (e.g. goal_achieved)
iterationsnumberNumber of think-act-observe cycles completed
toolsCalledarrayList of tools executed with arguments and results
trajectoryarrayComplete trajectory of think/act/observe steps
totalTokensnumberTotal tokens used across all AI calls

Configuration:

SettingDefaultDescription
Max Iterations10Maximum think-act-observe cycles (1-50)
System Prompt--Additional instructions for agent behavior
Stop Patterns"FINAL ANSWER:", "Task completed", "I have completed"Patterns indicating task completion
Temperature0.7Creativity level for reasoning (0-1)
Max Tokens per Call2000Maximum tokens for each AI reasoning call (100-8000)
Token BudgetunlimitedMaximum total tokens to use
Heartbeat EnabledfalseEnable scheduled autonomous wake-ups to process pending tasks
Heartbeat Schedule0 * * * *Cron expression for the heartbeat (shown when heartbeat is enabled)
Heartbeat TimezoneUTCIANA timezone for the heartbeat schedule

Dependencies: AI (required), Tools (optional), Memory (optional).

Agent Loop

Configurable autonomous think-act-observe agent loop. Similar to the ReAct Agent but with additional control over stop conditions.

Inputs:

InputTypeRequiredDescription
goalstringYesThe goal for the agent to accomplish
toolsarrayNoAvailable tool definitions
contextstringNoAdditional context

Outputs:

OutputTypeDescription
finalAnsweranyThe agent's final response
successbooleanWhether goal was achieved
stopReasonstringWhy the agent stopped
iterationsnumberNumber of think iterations
toolsCalledarrayTools that were executed
trajectoryarrayFull think/act/observe trajectory
totalTokensnumberTotal tokens used

Configuration:

SettingDefaultDescription
Max Iterations10Maximum iterations (1-100)
System Prompt--Custom system prompt
Stop Patterns"FINAL ANSWER:", "Task completed"Patterns that halt the loop
Stop ConditionPattern MatchPattern Match, Token Budget, or Max Tool Calls
Token Budget0 (unlimited)Total token limit
Temperature0.7Temperature (0-2)
Max Tokens Per Call2000Tokens per AI call (100-8000)
Output FormatTextText or JSON
Inject Library Rules (pre-turn)falseBefore each think step, fetch your applicable Library Rules and prepend them as a system message
Gate tool calls via Library RulesfalseCheck each tool call against Library Rules before execution; blocked calls are skipped and recorded as violations
Rules membership ids--Optional agent/workflow ids whose rules apply (defaults to user-general rules)

Dependencies: AI (required), Tools (optional), Memory (optional).

Supervisor Agent

Orchestrates multiple sub-agents to accomplish complex tasks. Creates execution plans, delegates work, and synthesizes results. Similar to CrewAI and AutoGen patterns.

Inputs:

InputTypeRequiredDescription
taskstringYesThe complex task requiring multi-agent collaboration
contextstringNoAdditional context for the supervisor
agentsarrayNoAgent definitions (can also come from connections)
toolsarrayNoTool definitions (can also come from mcp-tools-provider)

Outputs:

OutputTypeDescription
finalResultstringSynthesized result from all agents
agentResultsobjectIndividual results from each agent
executionPlanarrayThe execution plan that was followed
successbooleanWhether all required tasks completed
agentsUsednumberNumber of agents used
failedAgentsnumberNumber of agents that failed

Configuration:

SettingDefaultDescription
Orchestration ModeAdaptive (AI decides)Adaptive, Sequential, Parallel, or Hierarchical
Supervisor Instructions--Additional instructions for supervisor behavior
Synthesize ResultstrueCombine all agent outputs into a coherent final answer
Max Retries2Maximum retries for failed agent tasks (0-5)

Dependencies: AI Gateway (required), Sub-Agents (optional), Tools (optional).

Multi-Agent Chat

Multiple AI personas collaborate on a shared discussion thread.

Inputs:

InputTypeRequiredDescription
topicstringYesDiscussion topic
contextstringNoAdditional context
agentsarrayNoAgent definitions (objects with name, role, systemPrompt)

Outputs:

OutputTypeDescription
transcriptarrayFull discussion transcript
finalConsensusstringSynthesized conclusion
roundsCompletednumberRounds completed
terminationReasonstringWhy discussion ended
agentCountnumberNumber of agents

Configuration:

SettingDefaultDescription
Max Rounds5Maximum discussion rounds (1-20)
Termination ConditionFixed RoundsFixed Rounds, Consensus Detected, or Keyword Match
Termination KeywordCONSENSUS_REACHEDKeyword to end discussion
Enable ModeratorfalseAdd a moderator to guide discussion
Temperature0.7Temperature (0-2)

Dependencies: AI Gateway (required).

Debate Agent

Multi-agent debate pattern for reaching consensus through structured argumentation, critique, and synthesis.

Inputs:

InputTypeRequiredDescription
topicstringYesThe topic or question to debate
contextstringNoBackground information for the debate
agentsarrayNoAgent configurations (optional, can use connected agents)

Outputs:

OutputTypeDescription
conclusionstringSynthesized conclusion from the debate
convergedbooleanWhether agents reached natural consensus
totalRoundsnumberNumber of debate rounds executed
debateHistoryarrayFull history of debate rounds and arguments
votesobjectVoting results from agents
consensusReachedbooleanWhether consensus was achieved
agentCountnumberNumber of agents that participated

Configuration:

SettingDefaultDescription
Debate ModeStructuredStructured (Propose/Critique/Rebut), Round Robin, Free Form, or Adversarial
Max Rounds3Maximum debate rounds (1-10)
Convergence Threshold0.8Agreement level to stop early (0.5-1.0)
Synthesize ConclusiontrueGenerate a final synthesized conclusion
Enable VotingtrueHave agents vote on conclusions

Dependencies: AI Gateway (required), Debaters/Sub-Agents (optional).

Planner

Decompose complex goals into ordered sub-tasks with dependencies.

Inputs:

InputTypeRequiredDescription
goalstringYesGoal to decompose into tasks
contextstringNoAdditional context
capabilitiesarrayNoAvailable tools/capabilities

Outputs:

OutputTypeDescription
planarrayOrdered list of sub-tasks with dependencies
reasoningstringPlanning reasoning
criticalPatharrayCritical path task IDs
totalTasksnumberTotal number of tasks

Configuration:

SettingDefaultDescription
Planning StrategyFlatFlat (single decomposition), Hierarchical (phases then tasks), or Iterative (plan then refine)
Max Sub-tasks10Maximum sub-tasks (3-20)
Include Complexity EstimatestrueAdd complexity estimates to tasks
Temperature0.3Temperature (0-1)
System Prompt--Custom planning instructions

Dependencies: AI Gateway (required).

Reflection

Self-review and iterative content improvement via critique-revise cycles.

Inputs:

InputTypeRequiredDescription
contentstringYesContent to reflect on and improve
originalPromptstringNoOriginal prompt that generated the content
criteriaarrayNoOverride evaluation criteria

Outputs:

OutputTypeDescription
revisedContentstringFinal improved content
originalContentstringOriginal content before revision
reflectionsarrayArray of critique-revise cycles
improvementScorenumberScore improvement from first to last
finalScorenumberFinal evaluation score (0-1)
totalRevisionsnumberNumber of revisions performed

Configuration:

SettingDefaultDescription
Evaluation Criteriaaccuracy, completeness, coherenceCriteria tags for evaluation
Custom Criteria--Free-text custom criteria
Max Revisions2Maximum revision cycles (1-5)
Auto-Accept Threshold0.8Score threshold to auto-accept (0-1)
Temperature0.3Temperature (0-1)

Dependencies: AI Gateway (required).

RAG Prompt Builder

Node type: rag (Operators category). Builds Retrieval Augmented Generation prompts by combining user queries with retrieved documents from vector search. Pair it with an LLM node downstream to generate the final answer.

Inputs:

InputTypeRequiredDescription
retrievedDocsarrayYesDocuments retrieved from vector search
querystringNoQuery override (uses config if not provided)

Outputs:

OutputTypeDescription
rag_promptstringFormatted prompt with context and query
querystringThe original query
docs_usednumberNumber of documents included in context
context_lengthnumberCharacter count of the context

Configuration:

SettingDefaultDescription
Query--User question to answer (required)
Top K Documents5Number of documents to include in context

This is a standard input/output node with no bottom dependency connectors.

Entity Extraction

LLM-powered entity extraction agent. Extracts named entities from documents using configurable entity type definitions with descriptions and examples. This is NOT a traditional NER system -- it uses an LLM to identify entities based on your definitions.

Inputs:

InputTypeRequiredDescription
filenamestringYesPath to document file (.md, .html, or .txt)

Outputs:

OutputTypeDescription
entitiesobjectExtracted entities grouped by type (always present)
documentsarrayPer-document extraction stats (annotated output mode only)
summaryobjectExtraction summary (annotated output mode only)

Configuration:

SettingDescription
Entities to ExtractArray of entity type definitions, each with name, description, examples, and output format (string/normalized/structured)
Output ModeFlat List, Grouped by Type (default), or With Position Info
Confidence ThresholdMinimum confidence score (0-1, default: 0.7)
Validate EntitiesVerify extracted entities exist in document text using LLM correction (default: on)
Max Output TokensUpper bound on tokens generated per chunk (64-8000, default: 2000)
Max Extraction Calls per DocumentHard cap on total LLM calls for one document (0 = auto)

Dependencies: AI (required), Memory (optional), Tools (optional).

Document Classification

LLM-powered document classification agent. Classifies documents into configurable labels using an LLM with keyword hints.

Inputs:

InputTypeRequiredDescription
filenamestringYesPath to document file (.md, .html, or .txt)

Outputs:

OutputTypeDescription
classificationsarrayArray of results with filename, label, confidence, alternativeLabels, keywords, metadata, processingTime
summaryobjectSummary with totalDocuments, labelDistribution, averageConfidence, processingTime
passThroughValuesobjectPass-through values from input

Configuration:

SettingDescription
Classification LabelsList of labels (e.g., Invoice, Contract, Receipt, Report, Other)
Keywords per LabelJSON mapping of labels to keyword arrays for classification hints
Confidence ThresholdMinimum confidence score (0-1, default: 0.7)

Dependencies: AI (required), Memory (optional), Tools (optional).

Column Mapper Agent

Uses LLM to intelligently map source columns to a target schema. Handles varying column names across different data sources by understanding semantic meaning. Supports database caching for known mappings.

Inputs:

InputTypeRequiredDescription
rowsarrayYesArray of row objects with source column names (sample of 5-10 rows)
headersarrayNoSource column names (inferred from rows if not provided)
filenamestringNoSource filename for context (passed through)
filestringNoFile path to pass through to downstream nodes
parsedTableKeystringNoCache key from table-parser

Outputs:

OutputTypeDescription
columnMappingsobjectColumn mapping dictionary (target column --> source column)
successbooleanTrue if mapping meets confidence threshold
confidenceScoresobjectConfidence score (0-1) for each mapping
overallConfidencenumberAverage confidence across all mappings
needsReviewbooleanTrue if any mappings are low confidence
usedCachebooleanTrue if cached mapping was used instead of LLM
mappingCacheKeystringCache key for this mapping lookup

Configuration:

SettingDescription
Target SchemaArray of target columns with name, description, type, required flag, and examples
Confidence ThresholdMinimum confidence for successful mappings (0-1, default: 0.7)
Sample SizeNumber of sample rows to send to LLM (1-20, default: 5)
Use Known MappingsUse cached mappings from database if available (default: true)
Always Find NewAlways use LLM even if cached mapping exists (default: false)
Memory CollectionCollection name for storing cached mappings (default: column_mappings)

Dependencies: AI (required), Memory (optional), Tools (optional).

Data Cleanup Agent

Uses LLM to validate and fix malformed data rows from PDF extraction. Detects shifted columns, merged values, and data type mismatches.

Inputs:

InputTypeRequiredDescription
current_itemobjectYesRow data to validate and clean
mappingsobjectNoColumn mappings from column-mapper node

Outputs:

OutputTypeDescription
current_itemobjectCleaned row data (or original if no issues)
data_qualitystringQuality status: valid, cleaned, invalid, unfixable
was_cleanedbooleanTrue if the row was modified by LLM
validation_issuesarrayList of detected data quality issues
original_issuesarrayIssues that were fixed (when was_cleaned is true)

Configuration:

SettingDescription
Date ColumnsColumn names that should contain date values
Numeric ColumnsColumn names that should contain numeric values
Validate OnlyIf enabled, only detect issues without fixing them

Dependencies: AI (required), Memory (optional), Tools (optional).

Web Agent

Node type: web-agent. Autonomous web agent. Given a natural-language task and a start URL, an LLM writes and runs Playwright browser automation code in a sandboxed environment to complete multi-step web tasks, returning the result plus a re-runnable script.

Inputs: task (string, required) -- natural-language description of the web task; startUrl (string, optional) -- URL to open first.

Outputs: result (final answer), success, stepCount, trajectory, generatedScript (re-runnable Playwright script), screenshots (cached screenshot paths).

Configuration: Max Steps (1-100, default: 30), Timeout (30-1800 seconds, default: 300), Capture Screenshots (default: on), Return Generated Script (default: on), Temperature (0-1, default: 0.7).

Dependencies: AI (required) -- connect an LLM node; the selected model drives the web agent.

PII Redactor Agent

Node type: pii-redactor. Detects PII in a text file via a connected AI Gateway model and applies per-type actions (redact / mask / label / pseudonymize / keep). Reads the source file, writes a redacted file back, and emits a metadata audit describing every detection.

Inputs: filename (string, required) -- path to a text file in the workflow file cache.

Outputs: file (path of the redacted file), filename (original basename), metadata (full audit of every detection and action), summary (total plus per-type and per-action counts).

Configuration: Detection Mode (model via the connected AI model, regex pattern list, or both), Regex Patterns, PII Types (each with a name, description, and action), Emit Redaction Values (include plaintext values for chaining into pdf-redactor; off by default for privacy), Emit Detection Values, Case-Insensitive Matching, Normalize Whitespace.

Dependencies: AI (required for model/both modes), Memory (optional), Tools (optional).

PII Redactor (Qwen Few-Shot)

Node type: pii-redactor-qwen. Few-shot variant of the PII Redactor designed for the Qwen 1B fine-tuned PII model. Same input/output shape as the standard PII Redactor, but the prompt includes user-supplied few-shot examples so the model adapts to your domain's PII patterns without retraining.

Configuration: Few-Shot Examples (example text plus expected detections), Qwen Label Mapping (maps model output labels to your PII type names), Detection Mode (model / regex / both), Regex Patterns, Emit Redaction Values, PII Types with per-type actions.

Dependencies: AI (required), Memory (optional), Tools (optional).

PII Detector (LLM)

Node type: pii-detector-llm. Pure detection, no redaction. Detects PII spans in a text file via any LLM that emits OpenPipe-compatible XML tags, and outputs the unique values list for a downstream redactor (e.g. pdf-redactor custom keywords). An optional inline regex pass merges into the same output list.

Configuration: LLM Label Mapping (maps model output labels to your PII type names, required), Detection Mode (model / regex / both), Regex Patterns, PII Types (the policy gate -- detections mapped to types not in this list are dropped), Confidence Threshold.

Dependencies: AI (required), Memory (optional), Tools (optional).

PII Redaction Validator

Node type: pii-redaction-validator. LLM-as-judge filter over upstream PII detections. Takes a candidate list from any detector that emits {type, value, start, end} plus the source text, asks the connected LLM whether each candidate is real PII in context, and drops the ones the judge rejects.

Configuration: Validation Prompt (required; must contain the {candidates} placeholder), Decision Format (json or tagged), missing-verdict policy (strict drop or lenient keep), Context Window size, Judge Concurrency (parallel judge calls per document, default: 4), Max Detections per Batch, Chunk Size, and an optional under-redaction recall pass that scans the document for PII the upstream detectors missed.

Dependencies: AI (required).

Function Call Extractor

Node type: function-calling (Operators category). Extracts and parses function/tool calls from AI responses.

Inputs:

InputTypeRequiredDescription
aiResponseobjectYesResponse from AI containing function calls
availableFunctionsarrayNoList of available functions the AI can call

Outputs:

OutputTypeDescription
function_callsarrayExtracted function calls from AI response
call_countnumberNumber of function calls extracted

Configuration:

SettingDescription
Available FunctionsJSON list of functions to validate extracted calls against

This is a standard input/output node with no bottom dependency connectors.

Tool Router

Node type: tool-router (Operators category). LLM-based dynamic tool selection for a given task. Analyzes a task and selects the best tools from a list of available options.

Inputs:

InputTypeRequiredDescription
taskstringYesTask or query to route
toolsarrayYesAvailable tools (objects with name, description)

Outputs:

OutputTypeDescription
selectedToolsarraySelected tools (objects with name, confidence, reasoning)
totalAvailablenumberTotal available tools
strategystringRouting strategy used

Configuration:

SettingDefaultDescription
Routing StrategyLLM-basedKeyword (no LLM), LLM-based, or Hybrid (keyword + LLM)
Max Selections3Maximum tools to select (1-10)
Confidence Threshold0.5Minimum confidence for selection (0-1)
Temperature0.2Temperature (0-1)

Dependencies: AI Gateway (optional, required for LLM and hybrid strategies).

Agent Handoff

Node type: agent-handoff (Operators category). Package and transfer context between agent nodes. Supports full pass-through, LLM-compressed summary, or selective field extraction.

Inputs:

InputTypeRequiredDescription
currentStateanyYesCurrent agent's state/results
conversationHistoryarrayNoConversation history
nextAgentInstructionsstringNoInstructions for next agent

Outputs:

OutputTypeDescription
handoffPackageobjectPackaged context for next agent
strategystringStrategy used
originalSizenumberOriginal context size
compressedSizenumberPackaged size
compressionRationumberCompression ratio

Configuration:

SettingDefaultDescription
Handoff StrategyFullFull (pass everything), Summary (LLM-compressed), or Selective (specific fields)
Selective Fields[]Fields to extract (dot notation supported)
Summary Max Tokens500Max tokens for LLM summary (100-2000)
Include Key FindingstrueInclude key findings in handoff

Dependencies: AI Gateway (optional, required for Summary strategy).


Memory Nodes

Memory nodes provide persistent state, conversation history, vector storage, and cross-agent communication for your workflows.

Knowledge Base

Graph knowledge store -- entities and relationships in Neo4j. For vector/embedding search use the Semantic Memory node instead. Supports query, store, update, delete, and connect operations.

Operations:

OperationDescription
QueryText search over stored entities (contains match)
StoreStore entities with optional relationships
UpdateUpdate existing entity properties
DeleteRemove an entity
Connect EntitiesCreate relationships between entities

Key Inputs:

InputTypeDescription
entityobjectEntity to store in the graph
relationshipsarrayRelationships to create
querystringText search query
entityIdstringEntity ID for update/delete
updatesobjectFields to update
sourceEntity / targetEntitystringEntities to connect
relationshipstringRelationship type for connect

Key Outputs:

OutputTypeDescription
successbooleanWhether operation succeeded
resultsarrayQuery results
entity_idstringEntity ID (store/update operations)
neo4j_storedbooleanStored in Neo4j
neo4j_countnumberResult count from Neo4j
total_countnumberTotal results count

Configuration:

SettingDefaultDescription
Connection TypeAdd-onNeo4j add-on connection
Neo4j Add-on--Select the Neo4j add-on for graph storage (required)
OperationQueryQuery, Store, Update, Delete, or Connect Entities
Query--Text search query (contains match on stored data)
Max Results10Maximum results (1-10000)

Semantic Memory

Vector store with embedding-based retrieval via Milvus. Requires an AI Gateway connection for generating embeddings.

Inputs:

InputTypeDescription
textstringText to store
querystringSearch query
metadataobjectAdditional metadata
idstringDocument ID (for delete)

Outputs:

OutputTypeDescription
resultsarraySearch results (objects with text, metadata, similarity)
countnumberNumber of results
storedIdstringID of stored document
successbooleanOperation success

Configuration:

SettingDefaultDescription
OperationSearchStore, Search, or Delete
Milvus Add-on--Select Milvus add-on (required)
Collection Namesemantic_memoryMilvus collection name
Embedding Dimensions1536Embedding vector dimensions
Top K Results5Number of results (1-100)
Temporal DecayfalseApply time-based decay to similarity scores (exponential half-life)
Decay Half-Life (days)30Days for a score to decay by half (1-365)

Dependencies: AI (required, for generating embeddings).

Context Buffer

Manage working memory and context windows with configurable strategies for handling token limits.

Inputs:

InputTypeDescription
operationstringOperation: store, retrieve, clear
dataanyData to store in context buffer
querystringQuery string for filtering context
lastNnumberNumber of recent entries to retrieve
metadataobjectAdditional metadata for stored data

Outputs:

OutputTypeDescription
contextstringThe assembled context text
tokenCountnumberTokens in the assembled context
messagesIncludednumberNumber of messages included
compressedbooleanWhether older content was compressed

Configuration:

SettingDefaultDescription
Max Tokens4000Maximum tokens in context (100-128000)
Buffer StrategySliding WindowSliding Window, Summarize Old Content, or Keep Important Content
Compression Ratio0.3How much to compress when summarizing (0.1-1)
Preserve System MessagestrueAlways keep system messages in context
Preserve Recent Entries3Most-recent entries kept verbatim; only older history is compressed or dropped
Buffer Size10Maximum items in buffer (1-1000)
OperationRetrieveStore, Retrieve, or Clear
Query--Text query to filter context items during retrieval

Working Memory

Short-term key-value scratchpad with TTL (time-to-live) support for temporary state during workflow execution.

Inputs:

InputTypeDescription
keystringKey for the entry
valueanyValue to store
ttlnumberTime-to-live in seconds

Outputs:

OutputTypeDescription
valueanyRetrieved value
foundbooleanWhether key was found
successbooleanOperation success
keystringKey operated on
keysarrayAll keys (list operation)
entriesCountnumberCurrent entry count

Configuration:

SettingDefaultDescription
OperationGetSet, Get, Update, Delete, List All, or Clear All
Max Entries100Maximum entries (1-10000)
Default TTL0 (no expiry)Default time-to-live in seconds

Episodic Memory

Store and retrieve past workflow experiences via MongoDB. Useful for agents that learn from previous executions.

Inputs:

InputTypeDescription
taskstringTask description (for recording)
decisionsarrayDecisions made
outcomestringEpisode outcome
successbooleanWhether episode was successful
querystringSearch query (for retrieval)
filterobjectMongoDB filter (for search)
episodeMetadataobjectAdditional metadata

Outputs:

OutputTypeDescription
episodesarrayRetrieved episodes
countnumberNumber of episodes returned
episodeIdstringID of recorded episode
successbooleanOperation success

Configuration:

SettingDefaultDescription
OperationRetrieve RecentRecord Episode, Retrieve Similar, Retrieve Recent, or Search
Connection TypeData SourceData Source or Add-on (MongoDB)
DatabasememoryMongoDB database name
Collectionworkflow_episodesCollection name
Max Episodes10Maximum episodes to return (1-100)
Temporal DecayfalseApply time-based decay to relevance scores (exponential half-life)
Decay Half-Life (days)30Days for a score to decay by half (1-365)

Memory Retriever

Meta-node that queries multiple memory sources and merges/ranks results. Connect up to 3 memory sources as dependencies.

Inputs:

InputTypeRequiredDescription
querystringYesSearch query across memory sources

Outputs:

OutputTypeDescription
resultsarrayRanked results from all sources
totalResultsnumberTotal results returned
sourcesQueriednumberNumber of sources queried
sourceBreakdownobjectResults count per source
rankingStrategystringStrategy used

Configuration:

SettingDefaultDescription
Ranking StrategyRelevanceRelevance, Recency, or Hybrid (relevance + recency)
Max Results10Maximum results (1-100)
Source Weights(empty)JSON weights per source (e.g., {"memory_1": 1.0, "memory_2": 0.8})
Temporal DecaytrueApply time-based decay to scores (exponential half-life)
Decay Half-Life (days)30Days for a score to decay by half (1-365)

Dependencies: Memory Source 1 (required), Memory Source 2 (optional), Memory Source 3 (optional).

Shared Blackboard

Cross-agent shared key-value state via MongoDB. Enables multiple agents in a workflow to read and write shared state organized by sections.

Inputs:

InputTypeDescription
sectionstringSection name
keystringKey name
valueanyValue to write
sincestringISO timestamp for subscribe operation

Outputs:

OutputTypeDescription
valueanyRetrieved value
foundbooleanWhether key was found
sectionDataobjectAll data in section
changesarrayChanges since last read
successbooleanOperation success
entriesCountnumberNumber of entries

Configuration:

SettingDefaultDescription
OperationReadWrite, Read, Subscribe (get changes), or Clear Section
Board ID(empty = workflow-scoped)Board identifier
Connection TypeData SourceData Source or Add-on (MongoDB)
MongoDB Data Source / Add-on--Select the MongoDB data source or add-on backing the board
DatabasememoryMongoDB database name

Key Workflow Patterns

Agent + LLM + MCP Tools Pattern

The most common agent pattern connects three nodes via the agent's bottom dependency connectors:

          [Trigger] --> [ReAct Agent] --> [Output]
| | |
[AI] [M] [Tools]
| |
[LLM] [MCP Tools Provider]
  1. The agent's ai port connects to an LLM node for reasoning
  2. The agent's tools port connects to an MCP Tools Provider for external tool access
  3. The agent's memory port connects to any memory node for state persistence

Agent Loop Pattern

The ReAct Agent and Agent Loop nodes follow an iterative think-act-observe cycle:

1. THINK  - Analyze the current situation and decide next action
2. ACT - Call a tool or produce a response
3. OBSERVE - Process the tool result
4. REPEAT - Continue until goal achieved or limits reached

The loop terminates when:

  • A stop pattern is matched in the response (e.g., "FINAL ANSWER:")
  • Maximum iterations are reached
  • Token budget is exhausted
  • An error occurs

Multi-Agent Patterns

Supervisor Pattern:

[Trigger] --> [Supervisor Agent] --> [Output]
| | |
[AI] [Agents] [Tools]
|
+---------+---------+
| | |
[Agent A] [Agent B] [Agent C]

The supervisor creates a plan, delegates to sub-agents, and synthesizes results.

Debate Pattern:

[Trigger] --> [Debate Agent] --> [Output]
| |
[AI] [Agents]
|
+---------+---------+
| | |
[Agent A] [Agent B] [Agent C]

Multiple agents debate a topic through structured rounds until consensus.

Handoff Pattern:

[Trigger] --> [Agent A] --> [Agent Handoff] --> [Agent B] --> [Output]

Context is packaged and transferred between specialized agents.

RAG (Retrieval Augmented Generation) Pattern

[Trigger] --> [Semantic Memory (search)] --> [RAG Prompt Builder] --> [LLM] --> [Output]
  1. Search semantic memory (Milvus) for documents relevant to the user query
  2. RAG Prompt Builder combines the query with the retrieved documents into a single prompt
  3. The LLM node generates the final answer with that context

Memory-Augmented Agent Pattern

[Trigger] --> [Context Buffer (retrieve)] --> [ReAct Agent] --> [Context Buffer (store)] --> [Output]
|
[LLM]
  1. Retrieve prior context from the Context Buffer
  2. Agent uses that context for reasoning
  3. The new exchange is stored back to the buffer

Best Practices

Model Selection

  • Use smaller/faster models for simple classification or extraction tasks
  • Use larger models for complex reasoning, planning, and multi-step tasks
  • Set appropriate maxTokens limits to control costs

Agent Configuration

  • Start with low maxIterations (5-10) and increase if tasks are under-completing
  • Use specific systemPrompt instructions to guide agent behavior
  • Add stopPatterns that match your expected output format
  • Set token budgets to prevent runaway costs

Memory Usage

  • Use Working Memory for temporary scratch state within a single execution
  • Use Context Buffer to assemble conversation context under a token limit
  • Use Semantic Memory for vector-based retrieval (requires Milvus add-on)
  • Use Episodic Memory for learning from past workflow runs
  • Use Shared Blackboard when multiple agents need to coordinate via shared state
  • Use Memory Retriever to query across multiple memory sources at once

Error Handling

  • Check the success output from agent and memory nodes
  • Use the stopReason output from agent nodes to determine why an agent terminated
  • Set maxRetries on Supervisor Agent for resilience
  • Monitor totalTokens output to track costs

Next Steps