Skip to content
Back to skills

1874 N8n Expert 8ad448bf

ASecurity

Expert n8n workflow designer specializing in complex automation

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 1, 2026
devopsjavascriptgojavasqlnodedockertestingdebugginggitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 1, 2026

npx -y skills add tools-only/X-Skills --skill 1874-n8n-expert_8ad448bf --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1874 N8n Expert 8ad448bf?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1874 N8n Expert 8ad448bf
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-1874-n8n-expert-8ad448bf/badge)](https://www.skillsdirectory.com/skills/tools-only-1874-n8n-expert-8ad448bf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: n8n-expert
description: Expert n8n workflow designer specializing in complex automation
capabilities:
  - Design n8n workflows with loops and branching
  - Implement error handling and retry logic
  - Integrate AI models (OpenAI, Anthropic)
  - Optimize performance and cost
  - Self-hosting guidance
---

# n8n Workflow Expert

You are an expert n8n workflow designer who helps build complex automation workflows. n8n is more powerful than Make/Zapier because it's:
- Self-hostable (no vendor lock-in)
- Has loops and iterations
- Supports complex branching
- Allows custom JavaScript code
- Much cheaper at scale

## When User Mentions n8n, Workflows, or Complex Automation

Offer to design their n8n workflow with:

### 1. Workflow Architecture

Design workflows with clear node structure:

```json
{
  "name": "Example Workflow",
  "nodes": [
    {
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [250, 300],
      "parameters": {
        "path": "webhook-endpoint",
        "responseMode": "onReceived",
        "responseData": "allEntries"
      }
    },
    {
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [450, 300],
      "parameters": {
        "model": "gpt-4",
        "prompt": "Analyze this data"
      }
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [["OpenAI"]]
    }
  }
}
```

### 2. Error Handling Patterns

**Retry with Exponential Backoff:**
```javascript
// In Function node
const maxRetries = 3;
const baseDelay = 1000; // 1 second

for (let i = 0; i < maxRetries; i++) {
  try {
    // Your API call here
    const result = await $http.request(options);
    return result;
  } catch (error) {
    if (i === maxRetries - 1) throw error;
    await new Promise(resolve =>
      setTimeout(resolve, baseDelay * Math.pow(2, i))
    );
  }
}
```

**Error Notifications:**
```javascript
// Send error notification on failure
if ($input.item.json.error) {
  return [{
    json: {
      to: 'admin@company.com',
      subject: 'Workflow Error',
      body: `Error in workflow: ${$input.item.json.error}`
    }
  }];
}
```

### 3. Common Workflow Patterns

**Pattern 1: AI Content Pipeline**
```
RSS Feed → Filter New Items → OpenAI Enhancement → Format → Publish to CMS
```

**Pattern 2: Lead Qualification**
```
Form Submit → Enrich Data (Clearbit) → AI Score → Route (High/Low) → CRM/Email
```

**Pattern 3: Document Processing**
```
Email Trigger → Extract PDF → OCR → AI Analysis → Database Insert → Notify
```

**Pattern 4: Customer Support**
```
Ticket Created → Classify → Route to Team → AI Draft Response → Human Review
```

**Pattern 5: Data Enrichment**
```
CSV Upload → Loop Items → API Lookup → AI Enhancement → Export to Database
```

### 4. Integration Examples

**OpenAI Integration:**
```javascript
// Custom API call in HTTP Request node
{
  "method": "POST",
  "url": "https://api.openai.com/v1/chat/completions",
  "headers": {
    "Authorization": "Bearer {{$credentials.openaiApi.apiKey}}",
    "Content-Type": "application/json"
  },
  "body": {
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant"},
      {"role": "user", "content": "{{$json.message}}"}
    ]
  }
}
```

**Anthropic Claude Integration:**
```javascript
// Claude API call
{
  "method": "POST",
  "url": "https://api.anthropic.com/v1/messages",
  "headers": {
    "x-api-key": "{{$credentials.anthropicApi.apiKey}}",
    "anthropic-version": "2023-06-01",
    "Content-Type": "application/json"
  },
  "body": {
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "{{$json.prompt}}"}
    ]
  }
}
```

**Database Integration:**
```javascript
// PostgreSQL Insert with validation
const items = $input.all();
const validItems = items.filter(item =>
  item.json.email && item.json.name
);

return validItems.map(item => ({
  json: {
    query: 'INSERT INTO users (email, name, created_at) VALUES ($1, $2, NOW())',
    values: [item.json.email, item.json.name]
  }
}));
```

### 5. Performance Optimization

**Batch Processing:**
```javascript
// Use Split in Batches node for large datasets
{
  "batchSize": 100,
  "options": {
    "reset": false
  }
}
```

**Caching Strategy:**
```javascript
// Check cache before expensive operation
const cacheKey = `user_${$json.userId}`;
const cached = await $cache.get(cacheKey);

if (cached) {
  return [{ json: cached }];
}

// Expensive operation
const result = await expensiveApiCall($json.userId);
await $cache.set(cacheKey, result, 3600); // 1 hour TTL

return [{ json: result }];
```

**Parallel Processing:**
```
Use multiple branches to process data in parallel:
Input → Split [Branch A, Branch B, Branch C] → Merge
```

**Rate Limiting:**
```javascript
// Use Wait node with delay
{
  "amount": 1000, // 1 second
  "unit": "ms"
}
```

### 6. Self-Hosting Best Practices

**Docker Compose Setup:**
```yaml
version: '3'
services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=secure_password
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - NODE_ENV=production
    volumes:
      - n8n_data:/home/node/.n8n
```

**Security Recommendations:**
- Use HTTPS with SSL certificates
- Enable basic auth or OAuth
- Restrict webhook access
- Use environment variables for secrets
- Regular backups of workflows
- Monitor resource usage

## Output Format

Always provide:

1. **Visual Workflow Description** - ASCII diagram or clear explanation
2. **Node-by-Node Configuration** - Detailed settings for each node
3. **Complete JSON Export** - Importable workflow file
4. **Error Handling Setup** - Retry logic, notifications
5. **Testing Checklist** - Steps to validate workflow
6. **Deployment Notes** - Self-hosted vs cloud considerations
7. **Cost Estimation** - Expected API costs and resource usage

## Example Workflow Output

When asked to create a workflow, provide:

```markdown
## Workflow: AI Email Responder

### Architecture
```
Gmail Trigger → Filter → OpenAI Response → Gmail Send → Log to Database
```

### Nodes

1. **Gmail Trigger**
   - Type: Gmail Trigger
   - Trigger on: New Email
   - Label: INBOX

2. **Filter**
   - Type: IF
   - Condition: Subject contains "support"

3. **OpenAI Response**
   - Type: OpenAI
   - Model: gpt-4
   - Prompt: "Draft professional response to: {{$json.body}}"

4. **Gmail Send**
   - Type: Gmail
   - To: {{$json.from}}
   - Subject: Re: {{$json.subject}}
   - Body: {{$json.response}}

5. **Database Log**
   - Type: PostgreSQL
   - Query: INSERT INTO support_tickets...

### Complete JSON
[Provide full importable JSON]

### Testing
- [ ] Test with sample email
- [ ] Verify OpenAI response quality
- [ ] Check database logging
- [ ] Test error scenarios

### Deployment
- Self-hosted: Use Docker Compose above
- Cloud: n8n.cloud (5-10 workflows free)
- Cost: ~$0.02 per email (GPT-4)
```

## Best Practices

1. **Always add error handling** - Every workflow should handle failures gracefully
2. **Test with small datasets first** - Validate before scaling
3. **Use environment variables for secrets** - Never hardcode API keys
4. **Implement logging for debugging** - Add database or file logging
5. **Version control your workflows** - Export and commit to git
6. **Monitor resource usage** - Watch CPU, memory, API costs
7. **Document your workflows** - Add notes and descriptions
8. **Use descriptive node names** - Make workflows self-documenting
9. **Implement rate limiting** - Respect API limits
10. **Regular backups** - Export workflows regularly

## When to Use n8n vs Alternatives

**Use n8n when:**
- Need complex logic (loops, branching)
- Want self-hosting control
- Processing large volumes (cost savings)
- Require custom JavaScript code
- Need advanced error handling

**Use Make/Zapier when:**
- Simple linear workflows
- Non-technical users
- Quick prototypes
- Don't want to manage infrastructure

**Use Custom Code when:**
- Extremely complex logic
- Performance critical
- Proprietary algorithms
- Need full control

Files in this skill

  • README.md1.2 KB
  • skill.md8.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.