Skip to main content

Workflow Nodes

Workflow nodes are the building blocks of your automation pipelines. The Strongly platform provides 480 nodes and tools across 11 categories, covering data ingestion, transformation, AI processing, control flow, evaluation, and output delivery. The sections below list notable nodes in each category; the full catalog is available in the workflow builder's node palette.

Node Categories Overview​

CategoryCountPurpose
Tools152General-purpose utilities and integration tools for agents and pipelines
Sources123Read data from external systems and services
Destinations66Write data to external systems and services
Transform51Parse, extract, reshape, and process data
Control Flow23Manage execution paths, loops, and branching
Agents16Orchestrate multi-step AI reasoning and task execution
Triggers16Initiate workflow execution from events or schedules
Evaluation10Assess AI output quality and enforce guardrails
AI9Connect to language models, embeddings, vision, and speech
Memory7Store and retrieve context, state, and knowledge
Operators7Helper nodes that provide capabilities to agents and pipelines
Streaming nodes

The counts above cover the standard (batch) workflow palette. Streaming workflows use a separate palette of 120 streaming nodes for real-time audio, video, and conversational pipelines, with their own triggers, processors, and responders.


Sources​

Source nodes read data from external systems and services. The category contains 123 nodes; notable ones are listed below. Configure connection credentials once in Data Sources and reuse them across multiple workflows.

Common Configuration:

  • Connection credentials (via Data Sources)
  • Query or filter parameters
  • Response data mapping
  • Error handling and retries

Databases -- Relational​

Node IDDisplay NameDescription
clickhouseClickHouseReal-time analytics database operations on ClickHouse
cockroachdbCockroachDBExecute queries on CockroachDB
cratedbCrateDBExecute queries on CrateDB distributed databases
greenplumGreenplumQuery data from Greenplum MPP database
mssqlMicrosoft SQL ServerExecute queries on Microsoft SQL Server databases
mysqlMySQLQuery data from MySQL database
oracleOracle DatabaseExecute queries on Oracle databases
postgresqlPostgreSQLQuery data from PostgreSQL database
questdbQuestDBExecute queries on QuestDB time-series databases
redshift-sourceAmazon RedshiftQuery data from Amazon Redshift
singlestoreSingleStoreExecute queries on SingleStore distributed databases
snowflakeSnowflakeExecute queries on Snowflake data warehouse
timescaledbTimescaleDBExecute queries on TimescaleDB time-series databases

Databases -- NoSQL and Document​

Node IDDisplay NameDescription
arangodbArangoDBExecute operations on ArangoDB multi-model databases
couchbaseCouchbaseExecute operations on Couchbase databases
couchdbCouchDBExecute operations on Apache CouchDB
dynamodbDynamoDBAWS NoSQL database operations on DynamoDB
firestoreGoogle Cloud FirestoreExecute operations on Google Cloud Firestore
mongodbMongoDBDocument database operations on MongoDB
surrealdbSurrealDBQuery data from SurrealDB

Databases -- Graph​

Node IDDisplay NameDescription
neo4jNeo4jQuery data from Neo4j graph database
neptuneAmazon NeptuneExecute queries on Amazon Neptune graph databases
tigergraphTigerGraphExecute operations on TigerGraph graph databases

Databases -- Vector​

Node IDDisplay NameDescription
chromaChromaVector database operations on Chroma
marqoMarqoExecute operations on Marqo tensor search engines
milvusMilvusVector similarity search with Milvus
pgvectorpgvectorVector operations using PostgreSQL pgvector extension
pineconePineconeVector database operations on Pinecone
qdrantQdrantVector database operations on Qdrant
vespaVespaExecute operations on Vespa search engines
weaviateWeaviateVector database operations on Weaviate

Databases -- Search and Cache​

Node IDDisplay NameDescription
elasticsearchElasticsearchSearch and analytics on Elasticsearch
memcachedMemcachedExecute operations on Memcached caching systems
redisRedisIn-memory database operations on Redis

Databases -- Low-Code and Spreadsheet​

Node IDDisplay NameDescription
airtableAirtableDatabase operations on Airtable
baserowBaserowExecute operations on Baserow tables and databases
gristGristExecute operations on Grist documents and tables
nocodbNocoDBExecute operations on NocoDB tables and databases
seatableSeaTableExecute operations on SeaTable bases and tables
supabaseSupabaseQuery a Supabase project's PostgreSQL database

Cloud Storage and File Systems​

Node IDDisplay NameDescription
azure-blob-sourceAzure Blob StorageRead files from Azure Blob Storage
dropboxDropboxExecute operations on Dropbox files and folders
ftpFTPExecute file operations on FTP and SFTP servers
google-cloud-storageGoogle Cloud StorageExecute operations on Google Cloud Storage buckets
google-driveGoogle DriveExecute operations on Google Drive files and folders
minioMinIOExecute operations on MinIO and S3-compatible storage
onedriveOneDriveExecute operations on Microsoft OneDrive files and folders
s3Amazon S3List or download files from Amazon S3
sftpSFTPDownload files from SFTP server. Supports file patterns, recursive downloads, and file filtering
sharepointSharePointExecute operations on Microsoft SharePoint sites and lists

CRM and Sales​

Node IDDisplay NameDescription
dynamicsMicrosoft Dynamics 365Interact with Microsoft Dynamics 365 CRM
freshdeskFreshdeskInteract with Freshdesk support platform
hubspotHubSpotInteract with HubSpot CRM
pipedrivePipedriveInteract with Pipedrive Sales CRM
salesforceSalesforceInteract with Salesforce CRM
zendeskZendeskInteract with Zendesk support

Project Management and Productivity​

Node IDDisplay NameDescription
asanaAsanaInteract with Asana project management
clickupClickUpInteract with ClickUp project management
jiraJiraInteract with Jira project management
linearLinearInteract with Linear project management
mondaymonday.comInteract with monday.com boards
notionNotionExecute operations on Notion workspaces
trelloTrelloInteract with Trello boards

Communication and Messaging​

Node IDDisplay NameDescription
discordDiscordInteract with Discord servers
gmailGmailInteract with Gmail API
microsoft-outlookMicrosoft OutlookInteract with Microsoft Outlook via Graph API
microsoft-teamsMicrosoft TeamsInteract with Microsoft Teams
microsoft-exchangeMicrosoft ExchangeRead emails from Microsoft Exchange and save as .eml files with embedded attachments
slackSlackInteract with Slack workspaces
telegramTelegramInteract with Telegram Bot API
twilioTwilioSend SMS, make calls, and interact with Twilio
whatsappWhatsApp BusinessSend and receive messages via WhatsApp Business Cloud API

Social Media​

Node IDDisplay NameDescription
facebookFacebook Graph APIInteract with Facebook Graph API for pages and ads
linkedinLinkedInInteract with LinkedIn professional network
twitterTwitter/XInteract with Twitter/X API
youtubeYouTubeInteract with YouTube Data API

Analytics and Monitoring​

Node IDDisplay NameDescription
google-adsGoogle AdsManage Google Ads campaigns and reporting
google-analyticsGoogle AnalyticsInteract with Google Analytics 4
grafanaGrafanaInteract with Grafana monitoring
metabaseMetabaseInteract with Metabase BI platform
posthogPostHogInteract with PostHog product analytics
segmentSegmentInteract with Segment customer data platform
sentrySentryInteract with Sentry error tracking

Google and Microsoft Workspace​

Node IDDisplay NameDescription
excel-onlineExcel OnlineExecute operations on Microsoft Excel 365 workbooks
google-calendarGoogle CalendarInteract with Google Calendar
google-docsGoogle DocsInteract with Google Docs
google-formsGoogle FormsInteract with Google Forms
google-meetGoogle MeetInteract with Google Meet
google-sheetsGoogle SheetsRead and write data to Google Sheets

DevOps and CI/CD​

Node IDDisplay NameDescription
cloudflareCloudflareInteract with Cloudflare infrastructure
githubGitHubInteract with GitHub repositories
gitlabGitLabInteract with GitLab repositories
jenkinsJenkinsInteract with Jenkins CI/CD

Identity and Access Management​

Node IDDisplay NameDescription
entra-idMicrosoft Entra IDInteract with Microsoft Entra ID (Azure AD)
ldapLDAPQuery and manage LDAP directories
oktaOktaInteract with Okta Identity Management

Message Queues and Streaming​

Node IDDisplay NameDescription
kafkaKafkaExecute operations on Apache Kafka topics
mqttMQTTExecute operations on MQTT brokers
natsNATSExecute operations on NATS messaging system
pulsarPulsarExecute operations on Apache Pulsar
rabbitmqRabbitMQConsume messages from RabbitMQ
snsSNSExecute operations on AWS Simple Notification Service
sqsSQSExecute operations on AWS Simple Queue Service

E-Commerce and Payments​

Node IDDisplay NameDescription
paypalPayPalInteract with PayPal payments
quickbooksQuickBooks OnlineInteract with QuickBooks Online accounting
shopifyShopifyInteract with Shopify stores
stripeStripeInteract with Stripe payments
woocommerceWooCommerceInteract with WooCommerce stores

IT Service Management​

Node IDDisplay NameDescription
pagerdutyPagerDutyInteract with PagerDuty incident management
servicenowServiceNowInteract with ServiceNow ITSM platform
workdayWorkdayInteract with Workday HR and Finance platform

APIs and General Connectivity​

Node IDDisplay NameDescription
apiREST APIFetch data from REST API endpoints with authentication and flexible configuration
bigqueryGoogle BigQueryExecute queries on Google BigQuery
execExecute CommandExecute shell commands and scripts
graphqlGraphQLExecute GraphQL queries and mutations
sshSSHExecute commands and transfer files via SSH

Other Integrations​

Node IDDisplay NameDescription
intercomIntercomInteract with Intercom customer messaging platform
typeformTypeformInteract with Typeform forms and surveys
wordpressWordPressInteract with WordPress REST API
zoomZoomInteract with Zoom video conferencing
Data Sources

Configure connection credentials once in Data Sources and reuse across multiple workflows. This avoids embedding secrets in workflow definitions.


Transform​

Transform nodes parse, extract, reshape, and process data between source and destination nodes. They handle format conversion, aggregation, filtering, and custom logic. The category contains 55 nodes.

Before writing a Code node, look for a node that already does the step: search the builder's node panel for what the step does (for example "parse JSON", "aggregate", "look up", "compare", "chunk text"). Input mappings and Set Fields cover most reshaping with no extra node, and parsing an LLM's JSON reply is the JSON Parser node (map its text input to the LLM's data.response). Use Code only when no node does the step.

Node IDDisplay NameDescription
aggregateAggregateAggregate data with sum, average, count, and more
ai-transformAI TransformTransform data using AI
audio-emotionsAudio EmotionsAdd expressive TTS audio tags to dialogue via an LLM so synthesized speech is expressive instead of flat
client-nodeClient NodeRun a task on the workflow owner's own machine through Strongly Bridge
codeCodeExecute custom Python code for data transformation
combine-documentsCombine DocumentsConcatenate an ordered array of files (currently PDFs) into a single combined file
compareCompare DatasetsCompare two datasets to find differences
compressionCompressionCompress and decompress data
cryptoCryptoEncryption, hashing, encoding, and cryptographic operations
csv-to-pdfCSV to PDFConvert delimited-text files (.csv, .tsv, .psv) into paginated PDF tables
data-aggregatorData AggregatorAggregate, flatten, filter, and transform array data from loop results
data-lookupData LookupHigh-performance in-memory lookup. Supports cached mode (O(1) hash lookups from file) or inline mode (reference array). Perfect for database lookups in row loops.
data-standardizerData StandardizerStandardize common data-type values (address, phone, date, state, etc.) to canonical forms, code-first with an optional LLM fallback
datetimeDate/TimeDate and time parsing, formatting, and arithmetic
dedupeRemove DuplicatesRemove duplicate items from arrays
email-parserEmail ParserParse email files and extract content, attachments, and metadata
excel-parserExcel ParserParse Excel files and extract data as structured JSON
excel-reportExcel ReportGenerate a multi-sheet Excel workbook from grouped data
excel-to-pdfExcel to PDFConvert Excel workbooks (modern and legacy) into PDF documents
file-cacherFile CacherCache file content so downstream nodes like PDF Parser can load it
file-extractorFile ExtractorExtract files from ZIP, TAR, GZ, and other archive formats. Supports nested archives and file filtering
filterFilterFilter data based on conditions and rules
html-extractHTML ExtractExtract data from HTML content
html-to-pdfHTML to PDFConvert HTML files into PDF documents
image-to-pdfImage to PDFConvert raster images (PNG, JPEG, TIFF, and more) into PDF so scanned documents can flow through PDF-only pipelines
json-parserJSON ParserParse a JSON file or string into a value
jwtJWTCreate, verify, and decode JSON Web Tokens
limitLimitLimit the number of items in an array
markdownMarkdownParse and convert Markdown content
merge-dataMerge DataMerge data from multiple sources using various strategies like concatenation, object merge, or combine
number-formatNumber FormatFormat, round, convert, and transform numeric values
pdf-generatorPDF GeneratorGenerate PDF documents from templates, data, or HTML/markdown content
pdf-page-splitPDF Page SplitCut a PDF into part PDFs by explicit 1-based page ranges
pdf-parserPDF ParserExtract data from PDF files
pdf-parser-ocrPDF Parser OCRExtract text from PDFs with dual-parser + OCR fallback for image-heavy pages
pdf-redactorPDF RedactorRedact or obfuscate sensitive content in PDF documents. Supports row-based redaction and keyword/pattern modes with S3-cached indexing for faster processing
pdf-splitterPDF SplitterSplit a multi-document PDF into one item per document
pptx-reportPowerPoint ReportGenerate a themed PowerPoint (.pptx) report deck
redaction-list-builderRedaction List BuilderBuild a list of values to redact from all rows EXCEPT the current/matched row. Perfect for creating per-row redacted PDFs
rename-keysRename KeysRename object keys and transform naming conventions
report-builderReport BuilderGenerate formatted reports (HTML, PDF, Markdown) with tables, sections, grouping, and master-detail layouts
set-fieldsEdit FieldsSet, edit, rename, and delete data fields
sortSortSort arrays of data by specified fields
string-transformString TransformTransform string values with trim, case conversion, regex replace, padding, and more
summarizeSummarizeCreate statistical summaries of data
table-parserTable ParserExtract structured data from tables with optional filtering, validation, and repair
text-chunkerText ChunkerSplit text into chunks for embedding and RAG pipelines. Supports multiple chunking strategies with overlap
to-fileConvert to FileConvert data to file format
totpTOTPGenerate and verify Time-based One-Time Passwords
txt-to-pdfText to PDFConvert plain text and log files into PDF documents
value-mapValue MapMap and translate values using lookup tables, defaults, and regex patterns
video-assemblyVideo AssemblyAssemble an ordered list of video clips into a single program with transitions, captions, music bed, and intro/outro
word-reportWord ReportGenerate a themed Word (.docx) report
word-to-pdfWord to PDFConvert Microsoft Word documents into PDF, preserving formatting, lists, tables, and images
xml-parserXMLParse XML to JSON or convert JSON to XML

Destinations​

Destination nodes write processed data to external systems and services. The category contains 66 nodes; notable ones are listed below.

Common Configuration:

  • Destination credentials (via Data Sources)
  • Data mapping and field selection
  • Success/failure handling
  • Delivery confirmation
Node IDDisplay NameDescription
chat-responseRespond to ChatSend response to chat interface
discordDiscordSend messages and interact with Discord
greenplumGreenplumWrite data to Greenplum MPP database
mailchimpMailchimpEmail marketing and automation with Mailchimp
milvusMilvusStore vectors in Milvus
mongodbMongoDBSave data to MongoDB
microsoft-exchangeMicrosoft ExchangeSend emails via Microsoft 365/Exchange with attachments support
mysqlMySQLSave data to MySQL database
neo4jNeo4jStore data in Neo4j graph database
notificationNotificationSend multi-channel notifications (email, Slack, webhook, SMS)
postgresqlPostgreSQLSave data to PostgreSQL database
rabbitmqRabbitMQPublish messages to RabbitMQ
redisRedisWrite data to Redis
s3Amazon S3Upload files to S3 bucket
sendgridSendGridSend email via SendGrid API with support for templates, attachments, and scheduling
slackSlackSend messages and interact with Slack
smtpSend EmailSend email via SMTP server with support for HTML, attachments, and templates
snsAWS SNSSend notifications via AWS Simple Notification Service
streaming-responseStreaming ResponseStream data chunks to clients
surrealdbSurrealDBWrite data to SurrealDB
teamsMicrosoft TeamsSend messages to Microsoft Teams
webhook-responseRespond to WebhookSend HTTP response to webhook caller

Most database, warehouse, vector, spreadsheet, and queue systems available as sources also have a matching destination node (with a -dest node id), including Snowflake, Google BigQuery, Amazon Redshift, ClickHouse, Microsoft SQL Server, Oracle Database, DynamoDB, Firestore, Elasticsearch, Pinecone, Qdrant, Weaviate, Chroma, pgvector, Google Sheets, Airtable, Apache Kafka, Apache Pulsar, Amazon SQS, Google Cloud Storage, MinIO, and Azure Blob Storage.


Control Flow​

Control flow nodes manage execution paths, looping, branching, and data routing within workflows. The category contains 23 nodes:

Node IDDisplay NameDescription
backtrackBacktrackCheckpoint and restore workflow state for backtracking
conditionalConditionalIf/Else conditional branching
consensusConsensusMulti-agent voting and decision-making
event-waitEvent WaitWait for events from multiple sources before continuing
goal-loopGoal LoopLoop until LLM determines the goal is achieved
human-checkpointHuman CheckpointPause workflow for human review, approval, or input. Essential for AI safety and human oversight in agentic workflows
human-feedbackHuman FeedbackCollect structured human input mid-workflow
loopLoopIterate over arrays or repeat actions
mapMapProcess array items in parallel: the body hangs off Each Item and a Loop Accumulator on Completed closes it
mergeLoop Accumulator (Sink)Accumulates a loop's per-iteration outputs into one array exposed on this node's own output
noopNo OperationPass-through node that does nothing
parallel-branchParallel BranchRun the branches wired to its output at the same time; a node the branches share runs after them
priority-queuePriority QueueQueue items and process in priority order
retryRetryRe-run the node wired into it until it succeeds, with a backoff between attempts
splitSplit OutSplit arrays into individual items for separate processing
start-streaming-sessionStart Streaming SessionStart a streaming workflow session from a batch workflow, passing context data and optionally waiting for completion
stop-errorStop and ErrorStop workflow execution with an error
streaming-call-awaitStreaming Call AwaitWait until a streaming voice session reaches a terminal state before continuing
sub-workflowSub-WorkflowExecute another workflow
switch-caseSwitch/CaseMulti-way branching based on value matching with support for patterns, ranges, and multiple cases
waitWaitHold the workflow for a duration or until a date and time, then pass the data on
wait-for-inputWait for InputPause workflow and wait for external input via REST API
while-loopWhile LoopExecute a branch repeatedly while a condition is true, with configurable limits and break/continue support

Conditional Node​

Execute different branches based on conditions. Draw the matched branch from the If (True) handle and the other from Else (False):

Build each condition in the Conditions list as a field, an operator and a value. The field is a path into the node's own inputs (as mapped on its Input tab), not an expression. With the node's data input mapped to data:

FieldOperatorValue
data.statusequalsapproved
data.amountgreater than1000
data.tagscontainsurgent

Mode decides whether the first true condition wins (First Match) or every condition is evaluated; Case Sensitive applies to the string operators.

Supported Operators:

  • Comparison: ==, !=, >, >=, <, <=
  • String: contains, starts_with, ends_with, regex
  • Null checks: is_null, is_not_null, is_empty, is_not_empty
  • List: in, not_in
  • Boolean: is_true, is_false

Loop Node​

Iterate over array data with accumulator support. Draw the body from the Loop Body handle, connect the body's last node and the Completed handle to one Loop Accumulator, and continue from the accumulator:

On the Loop's Input tab, map its items input to the array, for example data.users. Each node on the body receives one item per run:

Path (in a body node's input mapping or Code)Value
data.currentItemThe current item, for example data.currentItem.name
data.indexThe item's position, from 0
data.totalHow many items the loop runs

The node after the Loop Accumulator reads every iteration's result at data.data, in item order. See How Workflows Run.

Map Node​

Transform each item in an array with parallel processing. Draw the body from the Each Item handle, connect the body's last node and the Completed handle to one Loop Accumulator, and continue from the accumulator:

Map the Map's items input to the array, for example data.products. Each body node reads its item at data.currentItem. For example, a Code node on the body that reprices each product:

p = item["currentItem"]
result = {"id": p["id"], "price": round(p["price"] * 1.1, 2)}

Instead of mapping items, you can map the Map's data input to an object and set Input Array Path to the array inside it, for example data.products. A path that holds no array stops the run with an error that names the inputs the Map has.

SettingDefaultWhat it does
Input Array PathitemsPath to the array in the Map's mapped inputs.
Max Parallel Workers10How many items run at once, in the workflow's pod (1 to 200). The same setting appears as Max Workers (Threads) on the Scaling tab.
Max Items0Run only the first N items; 0 runs them all. A map cut short shows truncated and unprocessedCount on its run details.

The node after the Loop Accumulator reads every item's result at data.data, in item order; an item whose body failed arrives as a record with _itemFailed: true. To spread items over several pods, use a Loop with Pod Scaling.

Goal Loop Node​

Repeat a body until an LLM judges a goal met. Map goal (and data, what the first iteration works on) on the Input tab, connect an LLM node to its AI connector, draw the body from Continue, and connect the body's last node and the Complete handle to one Loop Accumulator. Nodes wired from Complete run once the loop ends: the goal was met at the Confidence Threshold, or Max Iterations ran. An evaluation that cannot reach the model, or gets a reply that is not the verdict, fails the run.

Wait Node​

Hold the workflow, then pass the data input on unchanged. Wait Mode is Wait Duration (Duration, 0 to 86400 seconds) or Wait Until Time (Wait Until, a date and time with its zone such as 2026-12-31T09:00:00Z; a time already passed does not wait). Stopping the run ends the wait at once. To wait for an event or a person, use Event Wait or Human Checkpoint.

Retry Node​

Re-run a node that can fail for a passing reason. Wire that node (the operation) into Retry's input, the next step from Success, and the failure path from Failed. The operation's failure does not stop the run; Retry judges each attempt. An attempt fails when the node fails, or its output has error or failed set, success: false, or a status other than success, completed, ok or 200.

SettingDefaultWhat it does
Max Retries3Times the operation runs again after its first attempt fails (0 to 10).
Retry Delay (seconds)1Wait before the first retry.
Backoff TypeExponentialFixed (same wait), Linear (delay x retry number) or Exponential (delay doubles).

Success carries the operation's output at data.data; Failed carries the reason at data.error.

Parallel Branch Node​

Run independent branches at the same time. Map data to what the branches need, draw each branch's first node from Output, and join the branches in a node they all feed, such as a Loop Accumulator with its data input mapped to data (it collects every branch's output in one list). The join runs once every branch has ended. Max Parallel Workers (1 to 50, default 10) sets how many branches run at once. A branch cannot hold a Loop or Map; a branch failure fails the run once the other branches have ended.

Stop and Error Node​

End the run as failed with your Error Message (it can use {{field}} from the node's inputs), Error Type and Error Code. It always stops the run, whatever Continue on Error says.

Data Aggregator​

Process loop results with multiple operations:

// Operations
[
{"type": "extract", "field": "pdfPath", "outputField": "allPdfs"},
{"type": "flatten", "field": "errors", "outputField": "allErrors"},
{"type": "filter", "condition": {"field": "status", "operator": "==", "value": "failed"}},
{"type": "count", "outputField": "totalCount"}
]

Agents​

Agent nodes orchestrate complex, multi-step AI workflows using specialized reasoning patterns for autonomous task execution. The category contains 16 nodes:

Node IDDisplay NameDescription
agent-loopAgent LoopConfigurable autonomous think-act-observe agent loop
column-mapperColumn Mapper AgentUses 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
data-cleanupData Cleanup AgentUses LLM to validate and fix malformed data rows from PDF extraction. Detects shifted columns, merged values, and data type mismatches
debate-agentDebate AgentMulti-agent debate pattern for reaching consensus through structured argumentation, critique, and synthesis
document-classificationDocument ClassificationIntelligent document classification agent
entity-extractionEntity ExtractionIntelligent entity extraction agent
multi-agent-chatMulti-Agent ChatMultiple AI personas collaborate on a shared discussion thread
pii-detector-llmPII Detector (LLM)Detects PII spans in a text file via an LLM and outputs the unique values list for a downstream redactor
pii-redaction-validatorPII Redaction ValidatorLLM-as-judge filter over upstream PII detections, confirming each candidate is real PII in context
pii-redactorPII Redactor AgentDetects PII in a file via a connected AI Gateway model and applies per-type actions (redact, mask, label, pseudonymize, and more)
pii-redactor-qwenPII Redactor (Qwen Few-Shot)Few-shot PII detector for the Qwen fine-tuned PII model, with user-supplied few-shot examples
plannerPlannerDecompose complex goals into ordered sub-tasks with dependencies
react-agentReAct AgentAutonomous AI agent using the ReAct (Reasoning + Acting) pattern. Iteratively thinks, acts using tools, and observes results until the goal is achieved
reflectionReflectionSelf-review and iterative content improvement via critique-revise cycles
supervisor-agentSupervisor AgentOrchestrates multiple sub-agents to accomplish complex tasks. Creates execution plans, delegates work, and synthesizes results
web-agentWeb AgentAutonomous web agent: given a natural-language task and a start URL, an LLM writes and runs browser automation code in a sandbox to complete multi-step web tasks

Agent Patterns:

  • ReAct: Autonomous reasoning and acting loop with tool use
  • Debate: Multiple AI perspectives argue and converge on conclusions
  • Supervisor: Hierarchical task delegation and result synthesis
  • Reflection: Self-critique and iterative improvement
  • Multi-Agent Chat: Collaborative discussion between AI personas
  • Planner: Goal decomposition into ordered sub-tasks

Learn more about AI Agents


Triggers​

Triggers initiate workflow execution. Every workflow must start with exactly one trigger node. The category contains 16 nodes:

Node IDDisplay NameDescription
agent-triggerAgent TriggerSend a message to an agent endpoint and stream the response
batch-subscribeBatch SubscribeIterate archived streaming sessions and emit one record per session so a batch workflow can fan out processing across them
chat-triggerChatTrigger workflows from chat/conversational interfaces
email-triggerEmailStart a workflow when new emails arrive in an IMAP mailbox (checked every Poll Interval)
error-triggerErrorStart a workflow when a run of another workflow in your organization fails
eventEventTrigger workflow from platform events (workflow completed, model deployed, etc.)
file-triggerFileStart a workflow when files are added or updated in an S3 data source (checked every Poll Interval)
formFormAccept public form submissions with file uploads and CAPTCHA protection
multi-modal-inputMulti-Modal InputAccept mixed media types as workflow input (text, image, audio, file)
queueQueueTrigger workflow from a message queue (REST API enqueue endpoint)
rest-apiREST APIExpose workflow as authenticated REST API endpoint
rss-triggerRSS FeedStart a workflow when an RSS/Atom feed has new items (checked every Poll Interval)
scheduleScheduleTrigger workflow on a schedule
sse-triggerSSETrigger workflow on Server-Sent Events
task-due-triggerTask DueFires when a platform task's due date is reached; the triggered workflow receives the full task object
webhookWebhookTrigger a workflow over HTTP, authorized by REST API key or external HMAC signature

Learn more about triggers


Evaluation​

Evaluation nodes assess AI output quality, detect hallucinations, enforce guardrails, and enable systematic testing of AI workflows. All LLM-based evaluation nodes connect to an AI Gateway for assessment.

Node IDDisplay NameDescription
answer-qualityAnswer QualityEvaluates overall answer quality using a composite of metrics: correctness, completeness, helpfulness, and coherence. Provides a holistic assessment of LLM response quality
cost-trackerToken TrackerCount token usage across a run, with an optional token limit (tokens carry no price)
faithfulness-checkerFaithfulness CheckerDetects hallucinations by checking if the generated response is grounded in the provided context. Essential for RAG systems to ensure answers do not contain fabricated information
guardrailsGuardrailsContent validation with PII detection, toxicity checking, and custom rules
llm-as-judgeLLM as JudgeUses an LLM to evaluate outputs based on configurable criteria. Supports single scoring, multi-criteria evaluation, and chain-of-thought reasoning for reliable assessments
output-parserOutput ParserParse and validate LLM output into structured formats
pairwise-comparatorPairwise ComparatorCompares two outputs/responses and determines which is better. Ideal for A/B testing, model comparison, prompt optimization, and relative quality assessment
rag-metricsRAG MetricsComprehensive RAG pipeline evaluation with context precision, context recall, answer relevancy, and faithfulness metrics. Essential for optimizing retrieval-augmented generation systems
rate-limiterRate LimiterEnforce rate limits with token bucket or sliding window
relevance-graderRelevance GraderEvaluates whether retrieved documents or context are relevant to the query. Essential for RAG pipeline evaluation and retrieval quality assessment

Use Cases:

  • RAG pipeline quality monitoring
  • Hallucination detection and prevention
  • A/B testing prompts and models
  • Automated quality gates in production
  • Continuous evaluation of AI outputs
  • Cost tracking and budget enforcement
  • Content safety and PII detection

Configuration:

  • Select evaluation criteria
  • Configure scoring scales (0-1, 1-5, 1-10, binary)
  • Set pass/fail thresholds
  • Enable chain-of-thought reasoning
  • Connect to AI Gateway for judge model
Metrics Logging

Evaluation nodes automatically log metrics (scores, pass rates) that can be viewed in the Workflow Monitor's execution trace and compared across runs.


Memory​

Memory nodes store and retrieve context, knowledge, and workflow state for multi-turn and agent-based workflows. The category contains 7 nodes:

Node IDDisplay NameDescription
context-bufferContext BufferManage working memory and context windows
episodic-memoryEpisodic MemoryStore and retrieve past workflow experiences via MongoDB
knowledge-baseKnowledge BaseStore and query structured knowledge
memory-retrieverMemory RetrieverQuery multiple memory sources and merge/rank results
semantic-memorySemantic MemoryVector store with embedding-based retrieval via Milvus
shared-blackboardShared BlackboardCross-agent shared key-value state via MongoDB
working-memoryWorking MemoryShort-term key-value scratchpad with TTL support

Use Cases:

  • Multi-turn conversations with context retention
  • Context-aware AI responses
  • RAG (Retrieval Augmented Generation) knowledge stores
  • Long-term memory for autonomous agents
  • Cross-agent state sharing in multi-agent workflows

AI​

AI nodes connect to language models for inference, embeddings, vision, and speech processing. The category contains 9 nodes:

Node IDDisplay NameDescription
avatar-render-batchAvatar Render (Batch)Render a photoreal talking-head video clip from an audio file using a deployed avatar, at higher quality than the real-time renderer
embeddingsEmbeddingsGenerate vector embeddings via AI Gateway
image-generationImage GenerationGenerate images via AI Gateway with async job-based processing
llmLLMText and chat completion via AI Gateway
model-registryModel RegistryRun inference against deployed ML models from the Strongly Model Registry: select a model, map input features, and get predictions
speech-to-textSpeech to TextTranscribe audio to text
streaming-realtimeStreaming Realtime ModelSelect a bidirectional realtime audio model for use by streaming realtime agents
text-to-speechText to SpeechGenerate speech audio from text via AI Gateway
visionVisionAnalyze images and visual content with AI models

Configuration:

  • Select model from AI Gateway
  • Set prompt template
  • Configure parameters (temperature, max tokens)
  • Define response format
  • Token usage tracking

Advanced Features:

  • Streaming responses
  • Function calling
  • Multi-turn conversations
  • Prompt engineering
  • Cost tracking

Learn more about AI in workflows


Tools​

Tool nodes provide general-purpose utilities for code execution, HTTP calls, file operations, and web interaction, plus a large catalog of integration tools that can be wired to agent nodes. The category contains 152 nodes.

Core utilities:

Node IDDisplay NameDescription
api-callerAPI CallerMake dynamic HTTP API calls with optional datasource authentication
calculatorCalculatorSafe mathematical expression evaluator (no eval, uses AST)
code-interpreterCode InterpreterExecute Python or JavaScript code in a sandboxed subprocess
fetchHTTP FetchFetch URLs, parse JSON, convert HTML to text/markdown, and make REST API requests
file-managerFile ManagerRead, write, and copy files via workflow storage
filesystemFilesystemLocal file system operations: read, write, copy, move files, list and search directories
timeTimeGet current time, convert between timezones, parse/format datetimes, calculate time differences
web-browserWeb BrowserChromium-based browser with full JS rendering, screenshots, and PDF generation
web-searchWeb SearchSearch the web using SerpAPI, Brave Search, Tavily, or a generic search API endpoint

Integration tools: the rest of the category covers named services and capabilities, including browser automation (Playwright, Puppeteer, HyperBrowser), web scraping and search (Firecrawl, Brave Search, DuckDuckGo, Exa Search, ScrapeGraph), developer platforms (GitHub, GitLab, Git, CircleCI, Docker Hub, Postman, SonarQube), productivity and business apps (Notion, Todoist, Box, Coda, Webflow, Xero, Zoho CRM, Stripe), data systems (MongoDB, Redis, Elasticsearch, Oracle Database, SingleStore, Neo4j), AI and language services (ElevenLabs, Whisper, DeepL, Google Translate, Wolfram Alpha), reasoning helpers (Sequential Thinking, Memory), and Library tools (Library Skills, Library Prompts, Library Rules, Library Memory, Library Preferences, Library Tasks).


Operators​

Operators are helper nodes that provide capabilities to other nodes in the workflow, such as supplying tools to agents, building prompts, and handling cross-node plumbing. The category contains 7 nodes:

Node IDDisplay NameDescription
agent-handoffAgent HandoffPackage and transfer context between agent nodes
execution-errorsExecution ErrorsQuery errors from the current workflow execution so error data can be included in reports, alerts, or downstream processing
function-callingFunction Call ExtractorExtracts and parses function/tool calls from AI responses
mcp-tools-providerMCP Tools ProviderProvides MCP server tools to agents. Connect to an agent's 'tools' connector
ragRAG Prompt BuilderBuilds RAG prompts by combining user queries with retrieved documents
s3-moveAmazon S3 (Move)Move S3 objects from one S3 datasource to another using server-side copy and delete
tool-routerTool RouterLLM-based dynamic tool selection for a given task

MCP (Model Context Protocol) servers can expose their tools to agent nodes through the MCP Tools Provider operator.

Learn more about MCP Tools


Node Configuration​

Common Settings​

All nodes share these basic settings:

Identity

  • Name: Display name on canvas
  • Description: Purpose and notes
  • Enabled: Toggle execution on/off

Execution

  • Retry Count: Number of retry attempts
  • Retry Delay: Wait time between retries
  • Timeout: Maximum execution time

Error Handling

  • On Error: Continue, stop workflow, or branch
  • Fallback Value: Default value on failure
  • Error Output: Capture error details

Data Mapping​

Node settings and mappings do not use {{ }} templates. A node gets data from the node directly connected before it, through the input mappings on its Input tab: drag a field from the upstream node's output onto one of the node's inputs. A path starts with data (the upstream node's output) and uses dots and [n] indexes:

MappingReads
data.body.userIdA field of a webhook payload (webhook bodies arrive under data.body)
data.responseAn LLM node's response text
data.items[0].nameA field of the first element of an array
data.file || data.files[0]The first of several paths that has a value
data.dataThe array a Loop Accumulator collected

A node sees only its directly connected upstream nodes. To carry a value further, pass it through each node in between (its pass-through values). To compute a value (a condition, a transform of every element), use a node for it: Conditional or Switch-Case to branch, Filter, Set Fields or Code to transform.

Some nodes fill {{name}} placeholders inside their own template settings, for example an email or notification body, a PDF Generator template or a String Transform template.

Best Practices​

Node Organization​

  1. Left-to-Right Flow: Arrange nodes to show progression
  2. Vertical Spacing: Group related processing paths
  3. Descriptive Names: Use clear, purpose-driven names
  4. Documentation: Add notes to complex nodes

Performance Optimization​

  1. Minimize Sequential Chains: Use parallel execution where possible
  2. Cache Results: Store frequently accessed data
  3. Batch Operations: Process multiple items together
  4. Filter Early: Remove unnecessary data early in pipeline

Error Handling​

  1. Add Retries: Configure retries for network operations
  2. Fallback Values: Provide defaults for optional data
  3. Error Branches: Route errors to notification/logging
  4. Validation: Check data format before processing

Security​

  1. Credentials: Use Data Sources for sensitive credentials
  2. Input Validation: Sanitize user inputs
  3. Output Filtering: Do not expose sensitive data
  4. Access Control: Review workflow permissions

Node Examples​

Example: Data Enrichment Pipeline​

Webhook Trigger
-> REST API (Fetch user data)
-> AI Gateway (Analyze sentiment)
-> MongoDB (Store results)
-> Webhook Response (Notify completion)

Example: Document Processing​

Schedule Trigger
-> Amazon S3 (List new PDFs)
-> Loop (For each PDF)
-> PDF Parser (Extract text)
-> Entity Extraction (Find entities)
-> Neo4j (Store relationships)

Example: Batch Processing with Aggregation​

Schedule Trigger
-> SFTP Source (Download files)
-> Loop (For each file)
-> Conditional (Check file type)
-> [.zip] File Extractor -> PDF Parser
-> [.pdf] PDF Parser (direct)
-> Table Parser (Extract data)
-> MySQL (Lookup)
-> PDF Redactor (Redact sensitive data)
-> Data Aggregator (Collect results)
-> [allPdfs] Amazon S3 (Upload batch)
-> [allErrors] PDF Generator (Create report)
-> Microsoft Exchange (Email report)

Example: Conditional Routing​

Form Trigger
-> Conditional (Check priority)
-> [High Priority]
-> AI Gateway (Urgent response)
-> Gmail (Send immediately)
-> [Normal Priority]
-> MongoDB (Queue for later)

Example: Multi-Agent RAG Pipeline​

Chat Trigger
-> Embeddings (Generate query vector)
-> Semantic Memory (Retrieve relevant documents)
-> RAG Prompt Builder (Combine query with retrieved documents)
-> LLM (Generate grounded response)
-> Faithfulness Checker (Verify no hallucinations)
-> Conditional (Check faithfulness score)
-> [Pass] Chat Response (Return answer)
-> [Fail] Reflection (Revise answer)
-> Chat Response (Return revised answer)

Next Steps​