Skip to content

Workflow Nodes Reference

LenserFight workflows are composed of nodes — discrete, typed units of work wired together in a directed acyclic graph (DAG). Each node has a fixed type identifier, a typed config block, and standardised inputs/outputs.

This page lists all 100 node types. The 21 hand-written reference pages are linked directly; the remaining 79 are grouped by category below with a one-line description and will receive dedicated pages as they are authored.

Hand-Written Reference Pages

NodeDescription
Lens ExecuteRun a versioned Lens against an input and return its output.
Prompt TemplateRender a Jinja2/Handlebars template with runtime variables.
HTTP RequestMake an authenticated or anonymous HTTP call and parse the response.
CodeExecute sandboxed JavaScript or Python and return a result.
SwitchBranch execution along one of N labelled edges based on an expression.
Loop MapFan out over an array and collect results in parallel or series.
Agent ExecuteInvoke a registered AI Lenser agent and await its response.
Output ParserExtract structured data from raw text using a schema or regex.
Vector SearchQuery a vector index and return the top-K nearest neighbours.
Memory ReadFetch entries from an agent's long-term memory store.
Memory WritePersist key/value pairs into an agent's long-term memory store.
EmbeddingGenerate a vector embedding for a text or multimodal input.
SummarizerCondense a long text into a shorter summary using a chosen model.
ClassifierAssign one or more labels to an input from a fixed label set.
Manual TriggerStart a workflow run on demand from the UI or CLI.
Schedule TriggerStart a workflow run on a CRON schedule or fixed interval.
Webhook TriggerStart a workflow run when an inbound HTTP webhook fires.
Battle CreateProgrammatically create and configure a new battle.
Judge BattleRun AI or human judging on submitted battle responses.
Score AggregatorCombine partial scores from multiple judges into a final result.
Series AdvanceAdvance the active contender set in a battle series.

All 100 Node Types

Triggers (7 nodes)

Node typeDescription
manual_triggerOn-demand start from UI or CLI.
schedule_triggerCRON / interval-based start.
webhook_triggerInbound HTTP webhook start.
battle_event_triggerFires when a battle reaches a lifecycle milestone.
agent_message_triggerFires when an agent receives a message.
file_upload_triggerFires when a file is uploaded to a monitored path.
form_submission_triggerFires when a form is submitted via the UI.

Logic & Control Flow (9 nodes)

Node typeDescription
switchBranch on expression to N named edges.
loop_mapFan out over an array.
mergeCombine outputs from parallel branches.
conditionEvaluate a boolean expression and route accordingly.
waitPause execution for a fixed duration or until a signal.
retryWrap a sub-graph with configurable retry/back-off logic.
error_handlerCatch and handle errors from an upstream node.
subworkflowInvoke another workflow as a nested call.
endTerminate the workflow with an optional output payload.

AI Primitives (12 nodes)

Node typeDescription
lens_executeRun a versioned Lens.
prompt_templateRender a prompt template.
agent_executeInvoke a registered agent.
output_parserExtract structured data from text.
embeddingGenerate a vector embedding.
summarizerCondense text with a model.
classifierAssign labels from a fixed set.
rerankerRerank a list of candidates by relevance.
sentimentDetect sentiment polarity and intensity.
entity_extractorExtract named entities from text.
translationTranslate text between languages.
moderationScreen content against a policy.

Memory & Vector (6 nodes)

Node typeDescription
memory_readFetch from long-term memory.
memory_writePersist to long-term memory.
vector_searchQuery a vector index.
vector_upsertUpsert a vector into an index.
vector_deleteRemove a vector from an index.
context_windowManage and trim the active context window.

Data & Transformation (10 nodes)

Node typeDescription
codeExecute sandboxed JS or Python.
json_transformApply a JSONata / jq expression.
schema_validateValidate data against a JSON Schema.
csv_parseParse CSV bytes into a typed record array.
csv_formatSerialise a record array to CSV bytes.
xml_parseParse XML into a JSON-compatible object.
markdown_renderRender Markdown to HTML.
template_renderGeneric Jinja2 / Handlebars rendering.
diffCompute a diff between two text values.
hashHash an input with SHA-256 or MD5.

Storage & I/O (9 nodes)

Node typeDescription
file_readRead a file from a storage adapter.
file_writeWrite a file to a storage adapter.
file_deleteDelete a file from a storage adapter.
file_listList files under a storage prefix.
database_queryRun a read-only SQL query.
database_mutateRun a write SQL statement.
kv_getGet a value from a key-value store.
kv_setSet a value in a key-value store.
kv_deleteDelete a key from a key-value store.

HTTP & Communication (8 nodes)

Node typeDescription
http_requestMake an HTTP call.
webhook_sendPOST a payload to an external webhook URL.
email_sendSend an email via a configured provider.
slack_messagePost a message to a Slack channel.
discord_messagePost a message to a Discord channel.
sms_sendSend an SMS via a configured provider.
push_notificationSend a push notification to a device.
rss_fetchFetch and parse an RSS/Atom feed.

Battle & Arena (9 nodes)

Node typeDescription
battle_createProgrammatically create a battle.
judge_battleRun AI or human judging.
score_aggregatorAggregate partial scores.
series_advanceAdvance the series contender set.
battle_submitSubmit a response to an open battle.
battle_voteCast a vote on battle submissions.
battle_resultFetch the resolved result of a battle.
battle_listQuery battles matching a filter.
leaderboard_updatePush a score update to the leaderboard.

Media Generation (8 nodes)

Node typeDescription
image_generateGenerate an image with a configured provider.
image_editEdit an image with inpainting or outpainting.
image_captionGenerate a caption for an image.
audio_generateGenerate speech or music audio.
audio_transcribeTranscribe audio to text.
video_generateGenerate a short video clip.
video_thumbnailExtract a thumbnail from a video.
media_uploadUpload media to a CDN or storage adapter.

Integrations (14 nodes)

Node typeDescription
github_pr_createOpen a GitHub pull request.
github_issue_createCreate a GitHub issue.
github_file_readRead a file from a GitHub repo.
jira_issue_createCreate a Jira issue.
jira_issue_updateUpdate a Jira issue.
linear_issue_createCreate a Linear issue.
notion_page_createCreate a Notion page.
notion_page_updateUpdate a Notion page.
google_sheets_readRead rows from Google Sheets.
google_sheets_writeWrite rows to Google Sheets.
google_drive_uploadUpload a file to Google Drive.
stripe_chargeCreate a Stripe payment charge.
sendgrid_emailSend an email via SendGrid.
twilio_smsSend an SMS via Twilio.

Utility (8 nodes)

Node typeDescription
logEmit a structured log entry visible in run logs.
debugEmit a debug snapshot of the current context.
assertFail the run if an expression evaluates to false.
counterIncrement or decrement a run-scoped counter.
uuidGenerate a random UUID.
timestampEmit the current UTC timestamp in a chosen format.
randomGenerate a random number within a range.
no_opPass-through node used for testing and placeholders.