n8n

Review·Scanned 2/18/2026

This skill manages n8n workflows and provides Python clients and CLI commands for listing, creating, testing, executing, and optimizing workflows. It requires N8N_API_KEY/N8N_BASE_URL, performs HTTP requests to f"{self.base_url}/api/v1/...", and includes shell commands such as python3 scripts/n8n_api.py list-workflows --pretty.

from clawhub.ai·vd8a6527·76.2 KB·0 installs
Scanned from 2.0.0 at d8a6527 · Transparency log ↗
$ vett add clawhub.ai/thomasansems/n8nReview findings below

n8n Enhanced Workflow Management Skill

Comprehensive n8n automation skill with workflow creation, testing, execution monitoring, and performance optimization capabilities.

Features

✨ Workflow Creation

  • Template Library: 6 pre-built SaaS automation workflows
  • Interactive Builder: Guided workflow creation
  • JSON Import: Create from existing workflow files
  • Programmatic API: Build workflows in Python

🧪 Testing & Validation

  • Structure Validation: Check workflow integrity
  • Dry-Run Testing: Test with sample data before activation
  • Test Suites: Run multiple test cases
  • Validation Reports: Detailed error and warning reports

📊 Execution Monitoring

  • Real-time Tracking: Monitor workflow execution status
  • Execution Logs: Detailed execution history
  • Error Analysis: Identify and debug failures
  • Retry Logic: Built-in failure handling

⚡ Performance Optimization

  • Performance Analysis: Comprehensive workflow metrics
  • Bottleneck Detection: Identify slow operations
  • Optimization Suggestions: Actionable improvement recommendations
  • Performance Scoring: 0-100 workflow health score

Quick Start

1. Setup

# Set environment variables
export N8N_API_KEY="your-api-key"
export N8N_BASE_URL="your-n8n-url-here"

# Verify connection
python3 scripts/n8n_api.py list-workflows --pretty

2. Create Your First Workflow

# Deploy a template
python3 scripts/n8n_api.py create --from-template waitlist-pipeline

# Output: {"id": "123", "name": "Waitlist to Customer Pipeline", ...}

3. Test Before Activating

# Validate structure
python3 scripts/n8n_tester.py validate --id 123

# Dry run with test data
python3 scripts/n8n_tester.py dry-run --id 123 \
  --data '{"email": "test@example.com", "name": "Test User"}'

4. Activate & Monitor

# Activate workflow
python3 scripts/n8n_api.py activate --id 123

# Monitor executions
python3 scripts/n8n_api.py list-executions --id 123 --limit 10 --pretty

5. Optimize Performance

# Generate optimization report
python3 scripts/n8n_optimizer.py report --id 123

Available Templates

TemplateDescriptionTriggerKey Features
waitlist-pipelineWaitlist to customer automationWebhookEmail validation, CRM integration, welcome emails
product-huntMonitor Product Hunt launchesSchedule (hourly)Vote filtering, Slack notifications, Sheets logging
social-media-crosspostMulti-platform postingWebhookTwitter, LinkedIn, Facebook parallel posting
revenue-dashboardRevenue data collectionSchedule (daily)Stripe integration, Sheets updates
customer-onboardingMulti-day email sequenceWebhookTime-delayed follow-ups, progressive engagement
lead-scrapingLead generation pipelineSchedule (daily)Web scraping, data enrichment, DB storage

CLI Commands

Workflow Management

# List all workflows
python3 scripts/n8n_api.py list-workflows --pretty

# Get workflow details
python3 scripts/n8n_api.py get-workflow --id <id> --pretty

# Create from template
python3 scripts/n8n_api.py create --from-template waitlist-pipeline

# Create from file
python3 scripts/n8n_api.py create --from-file workflow.json

# Activate/Deactivate
python3 scripts/n8n_api.py activate --id <id>
python3 scripts/n8n_api.py deactivate --id <id>

Testing & Validation

# Validate workflow
python3 scripts/n8n_tester.py validate --id <id> --pretty

# Validate from file
python3 scripts/n8n_tester.py validate --file workflow.json --pretty

# Dry run with data
python3 scripts/n8n_tester.py dry-run --id <id> --data '{"key": "value"}'

# Dry run with file
python3 scripts/n8n_tester.py dry-run --id <id> --data-file test-data.json

# Generate test report
python3 scripts/n8n_tester.py report --id <id>

# Run test suite
python3 scripts/n8n_tester.py test-suite --id <id> --test-suite tests.json

Execution Monitoring

# List executions
python3 scripts/n8n_api.py list-executions --limit 20 --pretty

# Get execution details
python3 scripts/n8n_api.py get-execution --id <exec-id> --pretty

# Execute manually
python3 scripts/n8n_api.py execute --id <workflow-id>

# Execute with data
python3 scripts/n8n_api.py execute --id <id> --data '{"key": "value"}'

# Get statistics
python3 scripts/n8n_api.py stats --id <id> --days 7 --pretty

Performance Optimization

# Analyze performance
python3 scripts/n8n_optimizer.py analyze --id <id> --pretty

# Get suggestions
python3 scripts/n8n_optimizer.py suggest --id <id> --pretty

# Generate report
python3 scripts/n8n_optimizer.py report --id <id>

Python API

Basic Usage

from scripts.n8n_api import N8nClient

client = N8nClient()

# List workflows
workflows = client.list_workflows(active=True)
print(f"Active workflows: {len(workflows)}")

# Create workflow
workflow = client.create_workflow({
    'name': 'My Workflow',
    'nodes': [...],
    'connections': {...}
})

# Execute workflow
result = client.execute_workflow(workflow['id'], data={'test': True})

Testing

from scripts.n8n_tester import WorkflowTester

tester = WorkflowTester()

# Validate
validation = tester.validate_workflow(workflow_id='123')
if validation['valid']:
    print("✓ Workflow is valid")
else:
    print(f"✗ Errors: {validation['errors']}")

# Dry run
result = tester.dry_run('123', test_data={'email': 'test@example.com'})
print(f"Status: {result['status']}")

Optimization

from scripts.n8n_optimizer import WorkflowOptimizer

optimizer = WorkflowOptimizer()

# Analyze
analysis = optimizer.analyze_performance('123', days=30)
print(f"Performance Score: {analysis['performance_score']}/100")
print(f"Health: {analysis['execution_metrics']['health']}")

# Get suggestions
suggestions = optimizer.suggest_optimizations('123')
print(f"Priority Actions: {len(suggestions['priority_actions'])}")

Common Workflows

Create → Test → Deploy

# 1. Create from template
python3 scripts/n8n_api.py create --from-template waitlist-pipeline > workflow.json
WORKFLOW_ID=$(cat workflow.json | jq -r '.id')

# 2. Validate structure
python3 scripts/n8n_tester.py validate --id $WORKFLOW_ID

# 3. Test with sample data
python3 scripts/n8n_tester.py dry-run --id $WORKFLOW_ID \
  --data '{"email": "test@example.com", "name": "Test User"}' --report

# 4. If tests pass, activate
python3 scripts/n8n_api.py activate --id $WORKFLOW_ID

Debug Failed Workflow

# 1. Check recent executions
python3 scripts/n8n_api.py list-executions --id $WORKFLOW_ID --limit 5

# 2. Get execution details
python3 scripts/n8n_api.py get-execution --id $EXEC_ID --pretty

# 3. Validate workflow structure
python3 scripts/n8n_tester.py report --id $WORKFLOW_ID

# 4. Check for optimization issues
python3 scripts/n8n_optimizer.py report --id $WORKFLOW_ID

Optimize Performance

# 1. Analyze current state
python3 scripts/n8n_optimizer.py analyze --id $WORKFLOW_ID --days 30 --pretty

# 2. Get recommendations
python3 scripts/n8n_optimizer.py suggest --id $WORKFLOW_ID --pretty

# 3. Generate full report
python3 scripts/n8n_optimizer.py report --id $WORKFLOW_ID > optimization-report.txt

# 4. Review execution stats
python3 scripts/n8n_api.py stats --id $WORKFLOW_ID --days 30 --pretty

File Structure

~/clawd/skills/n8n/
├── README.md                   # This file
├── SKILL.md                    # Comprehensive documentation
├── scripts/
│   ├── n8n_api.py             # Core API client
│   ├── n8n_tester.py          # Testing & validation
│   └── n8n_optimizer.py       # Performance optimization
├── templates/
│   ├── README.md              # Template documentation
│   ├── *.json                 # Workflow templates
│   └── test-data-*.json       # Test data files
└── references/
    └── api.md                 # API reference

Best Practices

  1. Always validate before activating: Catch errors early
  2. Test with sample data: Use dry-run to verify behavior
  3. Monitor execution metrics: Track success rates and failures
  4. Regular optimization reviews: Monthly performance analysis
  5. Use templates as starting points: Proven patterns save time
  6. Document customizations: Keep changelog of modifications
  7. Implement error handling: Add error nodes for reliability
  8. Gradual rollout: Test with limited traffic initially

Troubleshooting

IssueSolution
Authentication errorSet N8N_API_KEY environment variable
Connection errorVerify N8N_BASE_URL and network access
Validation errorsCheck workflow JSON structure
Execution timeoutOptimize expensive operations, reduce dataset size
Rate limitingAdd Wait nodes, implement backoff
Missing credentialsConfigure in n8n UI, assign to nodes

Resources

Support

For issues or questions:

  1. Check validation output: python3 scripts/n8n_tester.py validate --id <id>
  2. Review execution logs: python3 scripts/n8n_api.py get-execution --id <exec-id>
  3. Generate optimization report: python3 scripts/n8n_optimizer.py report --id <id>
  4. Consult SKILL.md for detailed documentation

License

Part of the Clawdbot skills library.