Marketplace n8n
n8n workflow automation patterns and API integration. This skill should
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/89jobrien/n8n" ~/.claude/skills/aiskillstore-marketplace-n8n && rm -rf "$T"
manifest:
skills/89jobrien/n8n/SKILL.mdsource content
n8n Workflow Automation Skill
This skill enables creating and managing n8n workflows for automation tasks.
Prerequisites
n8n instance running with API access:
N8N_HOST=localhost N8N_PORT=5678 N8N_API_KEY=your-api-key
Core Concepts
Workflow Structure
Every n8n workflow is JSON with this structure:
{ "name": "Workflow Name", "nodes": [], "connections": {}, "settings": { "executionOrder": "v1" } }
Node Structure
Each node has:
{ "id": "unique-id", "name": "Display Name", "type": "n8n-nodes-base.nodetype", "typeVersion": 1, "position": [x, y], "parameters": {}, "credentials": {} }
Connection Structure
Connections define data flow between nodes:
{ "Source Node": { "main": [ [{"node": "Target Node", "type": "main", "index": 0}] ] } }
Common Workflow Patterns
1. Webhook-Triggered Workflow
Creates an HTTP endpoint that triggers workflow execution:
{ "name": "Webhook Handler", "nodes": [ { "id": "webhook", "name": "Webhook", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [250, 300], "webhookId": "my-webhook", "parameters": { "path": "my-endpoint", "httpMethod": "POST", "responseMode": "responseNode" } }, { "id": "respond", "name": "Respond", "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.1, "position": [450, 300], "parameters": { "respondWith": "json", "responseBody": "={{ $json }}" } } ], "connections": { "Webhook": { "main": [[{"node": "Respond", "type": "main", "index": 0}]] } } }
Access at:
http://localhost:5678/webhook/my-endpoint
2. HTTP Request Pattern
Make external API calls:
{ "id": "http", "name": "HTTP Request", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [450, 300], "parameters": { "method": "POST", "url": "https://api.example.com/endpoint", "authentication": "predefinedCredentialType", "nodeCredentialType": "myApiCredential", "sendBody": true, "specifyBody": "json", "jsonBody": "={{ JSON.stringify($json) }}" }, "credentials": { "myApiCredential": {"id": "cred-id", "name": "My Credential"} } }
3. Conditional Branching (IF Node)
Route data based on conditions:
{ "id": "if", "name": "IF", "type": "n8n-nodes-base.if", "typeVersion": 2, "position": [450, 300], "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }, "conditions": [ { "leftValue": "={{ $json.status }}", "rightValue": "success", "operator": { "type": "string", "operation": "equals" } } ], "combinator": "and" } } }
4. Loop Over Items (SplitInBatches)
Process items in batches:
{ "id": "batch", "name": "Loop Over Items", "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [450, 300], "parameters": { "batchSize": 10, "options": {} } }
n8n REST API
List Workflows
curl -s "http://localhost:5678/api/v1/workflows" \ -H "X-N8N-API-KEY: $N8N_API_KEY"
Get Workflow
curl -s "http://localhost:5678/api/v1/workflows/{id}" \ -H "X-N8N-API-KEY: $N8N_API_KEY"
Create Workflow
curl -s -X POST "http://localhost:5678/api/v1/workflows" \ -H "X-N8N-API-KEY: $N8N_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "New Workflow", "nodes": [...], "connections": {...}}'
Update Workflow
curl -s -X PUT "http://localhost:5678/api/v1/workflows/{id}" \ -H "X-N8N-API-KEY: $N8N_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "Updated", "nodes": [...], "connections": {...}}'
Activate/Deactivate
curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/activate" \ -H "X-N8N-API-KEY: $N8N_API_KEY" curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/deactivate" \ -H "X-N8N-API-KEY: $N8N_API_KEY"
Get Executions
curl -s "http://localhost:5678/api/v1/executions?workflowId={id}&limit=10&includeData=true" \ -H "X-N8N-API-KEY: $N8N_API_KEY"
Expression Syntax
n8n uses expressions for dynamic values:
| Syntax | Description |
|---|---|
| Access current item field |
| Access nested field |
| Access output from specific node |
| First input item |
| All input items |
| Convert to JSON string |
Common Node Types
| Node | Type | Purpose |
|---|---|---|
| Webhook | | HTTP trigger |
| HTTP Request | | API calls |
| Respond to Webhook | | Return HTTP response |
| IF | | Conditional branching |
| Switch | | Multi-way branching |
| Set | | Transform data |
| Code | | Custom JavaScript |
| Split In Batches | | Loop processing |
| Merge | | Combine branches |
MCP Integration
n8n can expose workflows as MCP tools via the built-in MCP server:
- Enable MCP in workflow settings:
"availableInMCP": true - Access MCP endpoint:
http://localhost:5678/mcp-server/http - Use supergateway for Claude Code integration
Tips
- Webhook Response: Use
with Respond node for controlresponseMode: "responseNode" - Credentials: Store API keys in n8n credentials, reference by ID
- Error Handling: Add Error Trigger node for failure notifications
- Testing: Use
path during development/webhook-test/ - ADF Format: Jira/Confluence require Atlassian Document Format for rich text