User Rating 0.0
Total Usage 0 times
Use keywords like: webhook, cron, slack, email, database, if, code, api 0 chars
Is this tool helpful?

Your feedback helps us improve.

About

Misconfigured automation workflows cost development teams hours of debugging. A missing connection between nodes, an incorrect typeVersion, or a malformed parameters object can silently break an entire pipeline. This tool parses natural language descriptions and outputs structurally valid n8n workflow JSON conforming to the n8n schema specification. It maps keywords to node types from a dictionary of 30+ supported n8n nodes, resolves execution order via topological dependency analysis, and auto-generates node positions using a layered graph layout algorithm with 250px horizontal spacing. The validator checks root structure, per-node integrity, connection graph consistency, and duplicate ID collisions. Note: this tool performs client-side rule-based generation. It does not call an external AI model. Complex multi-branch workflows with conditional logic may require manual refinement of the generated output.

n8n workflow automation json generator no-code converter natural-language

Formulas

The converter applies a weighted keyword matching algorithm to determine node selection confidence. For each candidate node type N, the match score is computed as:

SN = ki=1 wi miki=1 wi

Where wi = weight of keyword i in the node's dictionary (range 0.1 to 1.0), mi = 1 if keyword i is found in the prompt, 0 otherwise, and k = total keywords for node type N. A node is selected when SN 0.15 (threshold). Node positioning follows a layered grid formula:

xj = 250 + layerj × 250 , yj = 300 + offsetj × 150

Where layerj is the topological depth of node j (trigger = 0, first action = 1, etc.) and offsetj is the vertical index within nodes sharing the same layer. Validation checks 4 structural invariants: root schema conformance, node schema conformance, connection graph integrity (no dangling references), and unique ID constraint.

Reference Data

Node Typen8n Type KeyTrigger KeywordsCategoryDefault Version
Webhookn8n-nodes-base.webhookwebhook, http trigger, api endpointTrigger1.1
Cron / Schedulen8n-nodes-base.scheduleTriggercron, schedule, every, daily, hourlyTrigger1.1
Manual Triggern8n-nodes-base.manualTriggermanual, start, beginTrigger1
HTTP Requestn8n-nodes-base.httpRequesthttp, fetch, request, api call, get, postAction4.1
Slackn8n-nodes-base.slackslack, message slack, notify slackAction2.1
Email (Send)n8n-nodes-base.emailSendemail, send email, mail, notify emailAction2.1
Gmailn8n-nodes-base.gmailgmail, google mailAction2.1
Telegramn8n-nodes-base.telegramtelegram, send telegramAction1.1
Discordn8n-nodes-base.discorddiscord, send discordAction2
PostgreSQLn8n-nodes-base.postgrespostgres, postgresql, database, db insert, sqlAction2.3
MySQLn8n-nodes-base.mySqlmysql, mariadbAction2.3
MongoDBn8n-nodes-base.mongoDbmongodb, mongoAction1.1
Google Sheetsn8n-nodes-base.googleSheetsgoogle sheets, spreadsheet, gsheetAction4.2
Airtablen8n-nodes-base.airtableairtableAction2.1
IFn8n-nodes-base.ifif, condition, check, filter, branchLogic2
Switchn8n-nodes-base.switchswitch, route, caseLogic3
Mergen8n-nodes-base.mergemerge, combine, joinLogic2.1
Coden8n-nodes-base.codecode, javascript, transform, process, parse, scriptAction2
Setn8n-nodes-base.setset, assign, map, rename fieldAction3.3
OpenAI@n8n/n8n-nodes-langchain.openAiopenai, gpt, ai, chatgpt, analyze, sentimentAI1.3
RSS Feed Readn8n-nodes-base.rssFeedReadrss, feed, blog monitorTrigger1
Waitn8n-nodes-base.waitwait, delay, pause, sleepLogic1.1
Split In Batchesn8n-nodes-base.splitInBatchesbatch, split, chunk, loopLogic3
No Operationn8n-nodes-base.noOpnoop, nothing, placeholderLogic1
Respond to Webhookn8n-nodes-base.respondToWebhookrespond, return, reply webhookAction1.1
Date & Timen8n-nodes-base.dateTimedate, time, format date, timestampAction2
Crypton8n-nodes-base.cryptohash, encrypt, hmac, sha256Action1
XMLn8n-nodes-base.xmlxml, parse xml, convert xmlAction1
HTMLn8n-nodes-base.htmlhtml, scrape, extract htmlAction1.1
FTPn8n-nodes-base.ftpftp, upload file, sftpAction1
Error Triggern8n-nodes-base.errorTriggererror, on error, error trigger, catch errorTrigger1

Frequently Asked Questions

The converter supports over 30 node types including triggers (Webhook, Schedule, Manual, RSS, Error), actions (HTTP Request, Slack, Email, Gmail, Telegram, Discord, PostgreSQL, MySQL, MongoDB, Google Sheets, Code, Set, OpenAI, FTP), and logic nodes (IF, Switch, Merge, Wait, Split In Batches). Selection uses weighted keyword matching against each node type's dictionary. For example, the words "slack" and "notify slack" map to the Slack node with weight 1.0, while "message" alone maps with weight 0.3. A node is included when its aggregate match score exceeds the threshold of 0.15.
The converter builds a dependency graph based on the semantic order keywords appear in the prompt. Trigger nodes are always placed at layer 0 (leftmost). Subsequent nodes are layered by their dependency depth. Connections use the n8n format with source node name, output index (default 0), destination node name, and input index (default 0). For IF/Switch nodes, the converter creates branched connections: output 0 for the "true" path and output 1 for the "false" path, each linking to appropriate downstream nodes.
Unrecognized keywords are ignored during scoring. If no action nodes score above the 0.15 threshold, the converter generates a minimal workflow with only the detected trigger and a Code node placeholder, flagging it with a warning. If no trigger is detected, a Manual Trigger is inserted by default. The validation step will report warnings for workflows with fewer than 2 nodes or disconnected subgraphs. All ambiguities are surfaced in the validation report rather than silently resolved.
Yes. The output follows the n8n workflow export schema with all required fields: name (string), nodes (array of objects with id, name, type, typeVersion, position, parameters, credentials placeholder), connections (object keyed by source node name, containing main output arrays), and settings (executionOrder set to 'v1'). The JSON can be copied and pasted directly into n8n's "Import from JSON" dialog. Credential placeholders will need to be configured in n8n after import.
The layout algorithm assigns each node a layer (horizontal position) based on topological depth from the trigger. Within each layer, nodes are stacked vertically with 150px spacing. IF and Switch nodes cause branch splits: downstream nodes on the "true" branch get a negative vertical offset, "false" branch nodes get a positive offset. This prevents overlap for workflows up to approximately 15 nodes. Beyond that, manual repositioning in n8n's editor may be needed. The algorithm processes nodes in BFS order to maintain left-to-right flow consistency.
Four validation passes run sequentially. Pass 1: Root schema check verifies presence of "name" (string), "nodes" (non-empty array), and "connections" (object). Pass 2: Node schema check ensures each node has "id" (string, UUID format), "name" (string), "type" (string matching known n8n type patterns), "typeVersion" (number), and "position" (2-element number array). Pass 3: Connection integrity verifies all source and target node names referenced in connections exist in the nodes array. Pass 4: Uniqueness check detects duplicate node IDs and duplicate node names, which would cause import errors in n8n.