n8n v2.0 Workflow Development
Overview
Comprehensive reference for building n8n workflows using v2.0 patterns and best practices. This skill provides complete documentation for nodes, expressions, patterns, troubleshooting, and production-ready examples.
Quick Start Guide
1. Test APIs First
curl -X GET "https://api.example.com/endpoint" \
-H "Authorization: Bearer $TOKEN"
2. Create Workflow JSON
Generate workflow JSON with nodes and connections.
3. Import into n8n
n8n UI > Settings > Import from File
4. Configure & Fix
- Replace Execute Sub-Workflow nodes (if needed)
- Configure credentials
- Test each node
5. Test Execution
Use MCP server mcp__n8n__execute_workflow or manual trigger
Core Concepts
n8n MCP Server Integration
What it CAN do:
- โ
Search workflows
- โ
View workflow details
- โ
Execute workflows
What it CANNOT do:
- โ Create workflows
- โ Modify workflows
- โ Manage credentials
Workaround: Generate JSON files, import via UI
๐ Deep dive: references/mcp-limitations.md
Node Library
Complete reference for all n8n nodes:
Trigger Nodes: Manual Trigger, Execute Workflow Trigger
Data Processing: Code, Set, Merge, Filter, Split in Batches
Flow Control: IF, Wait
Integration: HTTP Request, RSS Feed Read
Action: Execute Workflow, Respond to Webhook
Each node documented with configuration examples, parameters, and patterns.
๐ Complete reference: references/node-library.md
Expression Syntax
Dynamic values in node parameters using ={{ expression }}:
{{ $json.field }} // Current item
{{ $('Node Name').first().json.field }} // Cross-node
{{ $json.url || 'default' }} // Fallback
{{ new Date().toISOString() }} // Date/time
`urn:li:person:${$json.sub}` // Template literal
๐ Complete guide: references/expression-syntax.md
Common Workflows
Human-in-the-Loop Approval
Use Wait nodes with forms (NOT respondToWebhook):
Trigger โ Generate Content โ Wait Node (form) โ IF โ Action
๐ Complete patterns: references/wait-nodes-guide.md
Multi-Workflow Orchestration
Orchestrator coordinates sub-workflows:
Main Orchestrator
โโโ Trigger
โโโ Execute Sub-Workflow: Data Fetcher
โโโ Wait Node: Review
โโโ Execute Sub-Workflow: Processor
โโโ Execute Sub-Workflow: Output
๐ All patterns: references/workflow-patterns.md
News Aggregation
Multi-source data fetch, normalize, merge, deduplicate, rank:
Trigger
โโโ HTTP Request: Source 1 โ Normalize
โโโ HTTP Request: Source 2 โ Normalize
โโโ RSS Feed: Source 3 โ Normalize
โ Merge โ Deduplicate โ Rank
๐ Detailed patterns: references/workflow-patterns.md
AI Content Generation
Sub-workflow pattern for AI content:
Execute Workflow Trigger
โ Code: Build Prompt
โ HTTP Request: AI API
โ Code: Extract Response
๐ Implementation: references/workflow-patterns.md
Critical Issues & Solutions
Execute Sub-Workflow "Out of Date" Error
Problem: Imported nodes show error after import
Solution:
- Delete old Execute Sub-Workflow nodes
- Add fresh nodes from palette
- Select "Database" and choose workflow
๐ Detailed troubleshooting: references/execute-sub-workflow-issues.md
Wait Node Not Pausing
โ Wrong: respondToWebhook, Set nodes, IF on unset fields
โ
Correct: Wait node with resume: "form"
๐ Complete guide: references/wait-nodes-guide.md
LinkedIn unauthorized_scope_error
โ Turn OFF both: "Organization Support" and "Legacy" toggles
๐ All auth issues: references/api-credentials.md
Templates & Examples
Basic Templates
Starting points for common structures:
assets/templates/wait-node-approval-template.json
assets/templates/orchestrator-template.json
assets/templates/sub-workflow-template.json
Complete Workflow Examples
Production-ready workflows you can import and use:
-
News Aggregation - Multi-source fetch, normalize, deduplicate, rank
assets/examples/news-aggregation-workflow.json
-
Content Generation - AI-powered content creation sub-workflow
assets/examples/content-generation-workflow.json
-
LinkedIn Member ID - Retrieve your LinkedIn member URN
assets/examples/linkedin-member-id-workflow.json
-
Multi-Source Deduplication - Merge and deduplicate pattern
assets/examples/multi-source-deduplication-workflow.json
Code Snippet Library
Reusable JavaScript for Code nodes:
-
Deduplication - Remove duplicates by URL, title, ID, or multiple fields
code-snippets/deduplication.js
-
Ranking Algorithms - Multi-factor ranking (relevance, recency, engagement)
code-snippets/ranking-algorithms.js
-
Data Normalization - Unify data from different API sources
code-snippets/data-normalization.js
-
Form Data Preparation - Format data for Wait node forms
code-snippets/form-data-preparation.js
-
Cross-Node Data Access - Reference data from other nodes
code-snippets/cross-node-data-access.js
API Credentials Quick Reference
LinkedIn OAuth2:
- Scopes:
openid, profile, w_member_social
- โ OFF: Organization Support, Legacy
- URN format:
urn:li:person:{id}
Anthropic API:
- Header:
x-api-key
- Model:
claude-3-5-sonnet-20241022
- Temp: 0.7, Max tokens: 400
NewsAPI:
- Header:
X-Api-Key
- Endpoints:
/v2/everything, /v2/top-headlines
- Free tier: 100 requests/day
๐ Complete setup: references/api-credentials.md
Reference Documentation
Core References
Official n8n Documentation