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
| Template | Description | Trigger | Key Features |
|---|---|---|---|
| waitlist-pipeline | Waitlist to customer automation | Webhook | Email validation, CRM integration, welcome emails |
| product-hunt | Monitor Product Hunt launches | Schedule (hourly) | Vote filtering, Slack notifications, Sheets logging |
| social-media-crosspost | Multi-platform posting | Webhook | Twitter, LinkedIn, Facebook parallel posting |
| revenue-dashboard | Revenue data collection | Schedule (daily) | Stripe integration, Sheets updates |
| customer-onboarding | Multi-day email sequence | Webhook | Time-delayed follow-ups, progressive engagement |
| lead-scraping | Lead generation pipeline | Schedule (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
- Always validate before activating: Catch errors early
- Test with sample data: Use dry-run to verify behavior
- Monitor execution metrics: Track success rates and failures
- Regular optimization reviews: Monthly performance analysis
- Use templates as starting points: Proven patterns save time
- Document customizations: Keep changelog of modifications
- Implement error handling: Add error nodes for reliability
- Gradual rollout: Test with limited traffic initially
Troubleshooting
| Issue | Solution |
|---|---|
| Authentication error | Set N8N_API_KEY environment variable |
| Connection error | Verify N8N_BASE_URL and network access |
| Validation errors | Check workflow JSON structure |
| Execution timeout | Optimize expensive operations, reduce dataset size |
| Rate limiting | Add Wait nodes, implement backoff |
| Missing credentials | Configure in n8n UI, assign to nodes |
Resources
- Documentation: SKILL.md
- Templates: templates/README.md
- n8n Docs: https://docs.n8n.io
- n8n API: https://docs.n8n.io/api/
- n8n Community: https://community.n8n.io
Support
For issues or questions:
- Check validation output:
python3 scripts/n8n_tester.py validate --id <id> - Review execution logs:
python3 scripts/n8n_api.py get-execution --id <exec-id> - Generate optimization report:
python3 scripts/n8n_optimizer.py report --id <id> - Consult SKILL.md for detailed documentation
License
Part of the Clawdbot skills library.