n8n

Comprehensive assistance with n8n development, generated from official documentation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "n8n" with this command: npx skills add acejou27/skills/acejou27-skills-n8n

N8N Skill

Comprehensive assistance with n8n development, generated from official documentation.

When to Use This Skill

This skill should be triggered when:

  • Building or debugging n8n workflows

  • Working with n8n nodes (core, integration, or AI nodes)

  • Implementing RAG (Retrieval-Augmented Generation) workflows with vector stores

  • Using n8n's REST API for programmatic workflow management

  • Writing custom JavaScript/Python code in n8n Code nodes

  • Setting up n8n authentication and credentials

  • Handling API rate limits in workflows

  • Working with Luxon for date/time operations

  • Using expressions to manipulate data between nodes

  • Deploying or hosting n8n (Docker, self-hosted, or cloud)

  • Creating AI agents with LangChain integration

  • Integrating with OpenAI, ChatGPT, or other LLM services

Quick Reference

RAG Workflow - Inserting Data

// Basic RAG workflow structure: // 1. Fetch source data (HTTP Request, Google Drive, etc.) // 2. Insert into Vector Store node with "Insert Documents" operation // 3. Select embedding model (e.g., text-embedding-ada-002) // 4. Add Default Data Loader to chunk content // 5. Optional: Add metadata for better filtering

// Chunking strategies: // - Character Text Splitter: splits by character length // - Recursive Character Text Splitter: splits by Markdown/HTML/code (recommended) // - Token Text Splitter: splits by token count

// Small chunks (200-500 tokens): fine-grained retrieval // Large chunks: more context but potentially noisy

RAG Workflow - Querying with Agent

// Using an agent to query vector store: // 1. Add an Agent node to your workflow // 2. Connect Vector Store as a tool // 3. Give it a clear description (helps agent decide when to use it) // 4. Set limit for chunks to return // 5. Enable "Include Metadata" for extra context // 6. Use same embedding model as when inserting data

// Cost-saving tip: Use Vector Store Question Answer tool first // to retrieve relevant data, then pass to expensive model

Code Node - Data Transformation

// Finding data in nested structures const slackUser = $("Mock Slack").all()[0]; const notionUsers = $input.all(); const slackUserEmail = slackUser.json.email;

const notionUser = notionUsers.find( (user) => user.json.person && user.json.person.email === slackUserEmail );

return notionUser ? [{ json: { notionId: notionUser.json.id } }] : [];

Code Node - Joining Items into Text

// Return a single line of text with all usernames, comma-separated and quoted const items = $input.all(); const usernames = items.map((item) => "${item.json.username}"); const result = usernames.join(", "); return [{ json: { usernames: result } }];

Code Node - Data Aggregation

// Count submissions by type and list top 5 by votes const submissions = $input.all();

let ideaCount = 0, featureCount = 0, bugCount = 0;

submissions.forEach((submission) => { switch (submission.json.property_type[0]) { case "Idea": ideaCount++; break; case "Feature": featureCount++; break; case "Bug": bugCount++; break; } });

// Sort by votes and take top 5 const topSubmissions = submissions .sort((a, b) => b.json.property_votes - a.json.property_votes) .slice(0, 5);

return [{ json: { ideaCount, featureCount, bugCount, topSubmissions } }];

Luxon Date/Time - Current Time

// Get current datetime {{$now}} // Returns ISO formatted: 2022-03-09T14:02:37.065+00:00

// Get today's date (rounded down to day) {{$today}} // Equivalent to: DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 })

// String concatenation behavior {{"Today's date is " + $now}} // Returns: "Today's date is 1646834498755" (unix timestamp)

Expressions - Referencing Node Data

// Reference data from specific nodes using dot notation // For each person, extract first name and job title const items = $input.all(); const newItems = items.map((item) => { const firstName = item.json.personal_info.first_name; const jobTitle = item.json.work_info.job_title; return { json: { firstName, jobTitle } }; }); return newItems;

n8n API - Authentication

Authenticate API calls with X-N8N-API-KEY header

curl -X GET
https://your-instance.com/api/v1/workflows?active=true
-H "X-N8N-API-KEY: your_api_key_here"

Create API key:

1. Go to Settings > n8n API

2. Create an API key with label and expiration

3. Set scopes (enterprise only)

4. Copy and use key in X-N8N-API-KEY header

Docker Compose - Production Setup

services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - "127.0.0.1:5678:5678" environment: - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME} - N8N_PORT=5678 - N8N_PROTOCOL=https - N8N_RUNNERS_ENABLED=true - NODE_ENV=production - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/ - GENERIC_TIMEZONE=${GENERIC_TIMEZONE} volumes: - n8n_data:/home/node/.n8n - ./local-files:/files

volumes: n8n_data:

Handling API Rate Limits

// Method 1: Enable "Retry On Fail" in node settings // - Automatically retries on failure with pause between attempts

// Method 2: Use Loop Over Items + Wait nodes // 1. Loop Over Items: batch requests into smaller chunks // 2. Wait node: pause between batches // 3. Process each batch through API node

// Rate limit error: HTTP 429 "Too many requests" // Check API docs for specific limits (per minute/day)

Reference Files

This skill includes comprehensive documentation in references/ :

advanced.md - Advanced Documentation (39 pages)

  • RAG (Retrieval-Augmented Generation): Complete guide to implementing RAG workflows with vector stores, embedding models, and chunking strategies

  • AI Tools: Understanding and using tools in AI agents (Wikipedia, SerpAPI, Call n8n Workflow Tool, Custom Code Tool, HTTP Request Tool)

  • OpenAI Integration: File operations, conversation management, and text operations with ChatGPT/GPT models

api.md - API Documentation (12 pages)

  • REST API Overview: Introduction to n8n's public API for programmatic workflow management

  • Authentication: API key creation, scopes, and usage with X-N8N-API-KEY header

  • API Playground: Using Scalar's interactive playground and built-in Swagger UI

  • Monitoring Endpoints: /healthz , /healthz/readiness , and /metrics for instance monitoring

  • Base URL Configuration: Setting VUE_APP_URL_BASE_API for separate front-end/back-end hosting

code.md - Code Documentation (26 pages)

  • AI Coding with GPT: Using ChatGPT to generate JavaScript in Code nodes (Cloud only)

  • Writing Good Prompts: Best practices for AI code generation with examples

  • Data Structure: Understanding n8n's data format for custom code

  • Expressions Cookbook: Common expression patterns and recipes

  • Luxon Date/Time: Working with dates using the Luxon library

  • Convenience Methods: Built-in helper methods like $evaluateExpression() and $ifEmpty()

getting_started.md - Getting Started

  • Initial setup and configuration

  • Basic workflow concepts

  • First workflow creation

hosting.md - Hosting Documentation

  • Docker deployment options

  • Self-hosted installation

  • Traefik SSL/TLS configuration

  • Environment variables for production

integrations.md - Integrations

  • Node types and usage

  • Credential management

  • API connection patterns

workflows.md - Workflows Documentation

  • Workflow design patterns

  • Data flow between nodes

  • Debugging and testing

other.md - Other Documentation

  • Miscellaneous topics

  • Advanced configuration

  • Troubleshooting

Working with This Skill

For Beginners

  • Start with getting_started.md for foundational concepts

  • Review workflows.md to understand how nodes connect and data flows

  • Use the Quick Reference examples above for common patterns

  • Learn about n8n's data structure (arrays of JSON objects)

For AI/LLM Workflows

  • Read advanced.md for RAG implementation details

  • Understand vector stores, embedding models, and chunking strategies

  • Learn about AI agents and tools

  • Use the RAG examples in Quick Reference as templates

For Custom Code

  • Study code.md for JavaScript/Python in Code nodes

  • Learn AI-assisted code generation with ChatGPT (Cloud only)

  • Master Luxon for date/time operations

  • Review expression syntax and built-in methods

For API Integration

  • Check api.md for REST API authentication and endpoints

  • Use the API playground to test calls

  • Learn about rate limit handling

  • Understand pagination and monitoring

For Deployment

  • See hosting.md for Docker Compose configurations

  • Configure SSL/TLS with Traefik

  • Set environment variables for production

  • Enable metrics and health check endpoints

Key Concepts

Data Structure

n8n uses a specific data format between nodes:

  • Each node outputs an array of items

  • Each item has a json property containing the data

  • Access data with $input.all() or $("NodeName").all()

  • Transform data to maintain this structure

Expressions

  • JavaScript expressions wrapped in {{ }}

  • Access node data with $input , $json , $node

  • Use Luxon for dates: $now , $today

  • Built-in methods: $evaluateExpression() , $ifEmpty()

Vector Stores & RAG

  • Vector Store: Database for high-dimensional vectors representing text/data

  • Embedding Model: Converts text chunks to vectors (e.g., text-embedding-ada-002)

  • Chunking: Splitting documents into smaller pieces for better retrieval

  • Semantic Search: Find relevant content by meaning, not keywords

AI Agents & Tools

  • Agent: AI that can use tools to interact with external systems

  • Tools: Interfaces for agents (workflows, APIs, code, databases)

  • Call n8n Workflow Tool: Load any workflow as a tool for agents

  • Context Passing: Provide relevant data to agents for better responses

API Authentication

  • Create API keys in Settings > n8n API

  • Use X-N8N-API-KEY header for authentication

  • Enterprise: Scope keys to limit access

  • Non-enterprise: Keys have full account access

Rate Limits

  • Identification: Error 429 "Too many requests"

  • Retry On Fail: Automatic retry with delays

  • Batching: Use Loop Over Items + Wait to chunk requests

  • Documentation: Check API docs for specific limits

Resources

Official Documentation

All reference files are extracted from official n8n documentation and include:

  • Detailed explanations with context

  • Real code examples with language annotations

  • Links to original documentation

  • Table of contents for navigation

Common Patterns

The Quick Reference section contains practical patterns for:

  • RAG workflow implementation

  • Code node data transformations

  • Date/time operations with Luxon

  • API authentication and calls

  • Docker deployment configurations

Helper Scripts

Add automation scripts to scripts/ directory for:

  • Workflow backup/restore

  • Bulk credential management

  • API testing utilities

Templates & Examples

Add to assets/ directory:

  • Workflow templates (JSON)

  • Docker Compose configurations

  • Common integration patterns

Notes

  • This skill was automatically generated from official n8n documentation

  • Code examples are extracted from real documentation and tested patterns

  • AI code generation is Cloud-only (not available in self-hosted)

  • Python support is limited to Code node, not available in expressions

  • Vector stores and RAG features require appropriate n8n plan

  • API access requires upgrade from free trial

Best Practices

Writing Code in Code Node

  • Use AI assistance to generate initial code (Cloud only)

  • Provide clear prompts with expected input/output

  • Reference node data explicitly with dot notation

  • Always return data in n8n format: [{ json: { ... } }]

  • Handle null/undefined values in nested structures

Building RAG Workflows

  • Choose appropriate embedding model (smaller = faster, larger = more accurate)

  • Select optimal chunk size (200-500 tokens for fine-grained retrieval)

  • Use Recursive Character Text Splitter for most use cases

  • Add metadata to chunks for better filtering

  • Save costs by using QA tool before expensive models

API Integration

  • Always handle rate limits (Retry On Fail or batching)

  • Use specific error handling for API failures

  • Test with API playground before deploying

  • Store credentials securely in n8n credential store

  • Monitor with /metrics and /healthz endpoints

Deployment

  • Use Docker Compose for production

  • Configure Traefik for automatic SSL/TLS

  • Set GENERIC_TIMEZONE for consistent date/time

  • Mount volumes for data persistence

  • Enable N8N_RUNNERS_ENABLED for better performance

Updating

To refresh this skill with updated documentation:

  • Re-run the scraper with the same configuration

  • The skill will be rebuilt with the latest information

  • Quick Reference examples will be updated with new patterns

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

apidog

No summary provided by upstream source.

Repository SourceNeeds Review
General

shadcn-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

gitlab

No summary provided by upstream source.

Repository SourceNeeds Review
General

redis

No summary provided by upstream source.

Repository SourceNeeds Review