n8n
4 versionsSummary
TL;DR: Manage n8n workflows and automations via API. Use when working with n8n workflows, executions, or automation tasks - listing workflows, activating/deactivating, checking execution status, manually triggering workflows, or debugging automation issues.
n8n gives your AI agent control over your n8n automation server. It connects through the n8n API to list workflows, check execution status, activate or deactivate automations, and trigger runs manually.
When an automation fails, your agent can check what went wrong by reviewing execution logs. When you need to pause or restart a workflow, it handles that too. No need to open the n8n dashboard for routine management tasks.
If you run n8n for business automation, this skill turns your AI agent into a control panel. Monitor, manage, and debug your workflows from a conversation.
Use cases
- Listing all n8n workflows and their current active/inactive status
- Manually triggering a specific workflow from your AI conversation
- Checking execution logs to debug failed automation runs
- Activating or deactivating workflows without opening the n8n dashboard
Installation
Run this command to install the skill on your OpenClaw agent:
npx clawhub@latest install n8nSecurity scan
The skill's files, runtime instructions, and required environment variables are coherent for an n8n management tool — nothing in the package indicates it is trying to do something unrelated to its stated purpose.
SKILL.md
---
name: n8n
description: Manage n8n workflows and automations via API. Use when working with n8n workflows, executions, or automation tasks - listing workflows, activating/deactivating, checking execution status, manually triggering workflows, or debugging automation issues.
metadata: {"openclaw":{"emoji":"\u2699\ufe0f","requires":{"env":["N8N_API_KEY","N8N_BASE_URL"]},"primaryEnv":"N8N_API_KEY"}}
---
# n8n Workflow Management
Comprehensive workflow automation management for n8n platform with creation, testing, execution monitoring, and performance optimization capabilities.
## ⚠️ CRITICAL: Workflow Creation Rules
**When creating n8n workflows, ALWAYS:**
1. ✅ **Generate COMPLETE workflows** with all functional nodes
2. ✅ **Include actual HTTP Request nodes** for API calls (ImageFX, Gemini, Veo, Suno, etc.)
3. ✅ **Add Code nodes** for data transformation and logic
4. ✅ **Create proper connections** between all nodes
5. ✅ **Use real node types** (n8n-nodes-base.httpRequest, n8n-nodes-base.code, n8n-nodes-base.set)
**NEVER:**
- ❌ Create "Setup Instructions" placeholder nodes
- ❌ Generate workflows with only TODO comments
- ❌ Make incomplete workflows requiring manual node addition
- ❌ Use text-only nodes as substitutes for real functionality
**Example GOOD workflow:**
```
Manual Trigger → Set Config → HTTP Request (API call) → Code (parse) → Response
```
**Example BAD workflow:**
```
Manual Trigger → Code ("Add HTTP nodes here, configure APIs...")
```
Always build the complete, functional workflow with all necessary nodes configured and connected.
## Setup
**Required environment variables:**
- `N8N_API_KEY` — Your n8n API key (Settings → API in the n8n UI)
- `N8N_BASE_URL` — Your n8n instance URL
**Configure credentials via OpenClaw settings:**
Add to `~/.config/openclaw/settings.json`:
```json
{
"skills": {
"n8n": {
"env": {
"N8N_API_KEY": "your-api-key-here",
"N8N_BASE_URL": "your-n8n-url-here"
}
}
}
}
```
Or set per-session (do **not** persist secrets in shell rc files):
```bash
export N8N_API_KEY="your-api-key-here"
export N8N_BASE_URL="your-n8n-url-here"
```
**Verify connection:**
```bash
python3 scripts/n8n_api.py list-workflows --pretty
```
> **Security note:** Never store API keys in plaintext shell config files (`~/.bashrc`, `~/.zshrc`). Use the OpenClaw settings file or a secure secret manager.
## Quick Reference
### Workflow Management
#### List Workflows
```bash
python3 scripts/n8n_api.py list-workflows --pretty
python3 scripts/n8n_api.py list-workflows --active true --pretty
```
#### Get Workflow Details
```bash
python3 scripts/n8n_api.py get-workflow --id <workflow-id> --pretty
```
#### Create Workflows
```bash
# From JSON file
python3 scripts/n8n_api.py create --from-file workflow.json
```
#### Activate/Deactivate
```bash
python3 scripts/n8n_api.py activate --id <workflow-id>
python3 scripts/n8n_api.py deactivate --id <workflow-id>
```
### Testing & Validation
#### Validate Workflow Structure
```bash
# Validate existing workflow
python3 scripts/n8n_tester.py validate --id <workflow-id>
# Validate from file
python3 scripts/n8n_tester.py validate --file workflow.json --pretty
# Generate validation report
python3 scripts/n8n_tester.py report --id <workflow-id>
```
#### Dry Run Testing
```bash
# Test with data
python3 scripts/n8n_tester.py dry-run --id <workflow-id> --data '{"email": "test@example.com"}'
# Test with data file
python3 scripts/n8n_tester.py dry-run --id <workflow-id> --data-file test-data.json
# Full test report (validation + dry run)
python3 scripts/n8n_tester.py dry-run --id <workflow-id> --data-file test.json --report
```
#### Test Suite
```bash
# Run multiple test cases
python3 scripts/n8n_tester.py test-suite --id <workflow-id> --test-suite test-cases.json
```
### Execution Monitoring
#### List Executions
```bash
# Recent executions (all workflows)
python3 scripts/n8n_api.py list-executions --limit 10 --pretty
# Specific workflow executions
python3 scripts/n8n_api.py list-executions --id <workflow-id> --limit 20 --pretty
```
#### Get Execution Details
```bash
python3 scripts/n8n_api.py get-execution --id <execution-id> --pretty
```
#### Manual Execution
```bash
# Trigger workflow
python3 scripts/n8n_api.py execute --id <workflow-id>
# Execute with data
python3 scripts/n8n_api.py execute --id <workflow-id> --data '{"key": "value"}'
```
### Performance Optimization
#### Analyze Performance
```bash
# Full performance analysis
python3 scripts/n8n_optimizer.py analyze --id <workflow-id> --pretty
# Analyze specific period
python3 scripts/n8n_optimizer.py analyze --id <workflow-id> --days 30 --pretty
```
#### Get Optimization Suggestions
```bash
# Priority-ranked suggestions
python3 scripts/n8n_optimizer.py suggest --id <workflow-id> --pretty
```
#### Generate Optimization Report
```bash
# Human-readable report with metrics, bottlenecks, and suggestions
python3 scripts/n8n_optimizer.py report --id <workflow-id>
```
#### Get Workflow Statistics
```bash
# Execution statistics
python3 scripts/n8n_api.py stats --id <workflow-id> --days 7 --pretty
```
## Python API
### Basic Usage
```python
from scripts.n8n_api import N8nClient
client = N8nClient()
# List workflows
workflows = client.list_workflows(active=True)
# Get workflow
workflow = client.get_workflow('workflow-id')
# Create workflow
new_workflow = client.create_workflow({
'name': 'My Workflow',
'nodes': [...],
'connections': {...}
})
# Activate/deactivate
client.activate_workflow('workflow-id')
client.deactivate_workflow('workflow-id')
# Executions
executions = client.list_executions(workflow_id='workflow-id', limit=10)
execution = client.get_execution('execution-id')
# Execute workflow
result = client.execute_workflow('workflow-id', data={'key': 'value'})
```
### Validation & Testing
```python
from scripts.n8n_api import N8nClient
from scripts.n8n_tester import WorkflowTester
client = N8nClient()
tester = WorkflowTester(client)
# Validate workflow
validation = tester.validate_workflow(workflow_id='123')
print(f"Valid: {validation['valid']}")
print(f"Errors: {validation['errors']}")
print(f"Warnings: {validation['warnings']}")
# Dry run
result = tester.dry_run(
workflow_id='123',
test_data={'email': 'test@example.com'}
)
print(f"Status: {result['status']}")
# Test suite
test_cases = [
{'name': 'Test 1', 'input': {...}, 'expected': {...}},
{'name': 'Test 2', 'input': {...}, 'expected': {...}}
]
results = tester.test_suite('123', test_cases)
print(f"Passed: {results['passed']}/{results['total_tests']}")
# Generate report
report = tester.generate_test_report(validation, result)
print(report)
```
### Performance Optimization
```python
from scripts.n8n_optimizer import WorkflowOptimizer
optimizer = WorkflowOptimizer()
# Analyze performance
analysis = optimizer.analyze_performance('workflow-id', days=7)
print(f"Performance Score: {analysis['performance_score']}/100")
print(f"Health: {analysis['execution_metrics']['health']}")
# Get suggestions
suggestions = optimizer.suggest_optimizations('workflow-id')
print(f"Priority Actions: {len(suggestions['priority_actions'])}")
print(f"Quick Wins: {len(suggestions['quick_wins'])}")
# Generate report
report = optimizer.generate_optimization_report(analysis)
print(report)
```
## Common Workflows
### 1. Validate and Test Workflow
```bash
# Validate workflow structure
python3 scripts/n8n_tester.py validate --id <workflow-id> --pretty
# Test with sample data
python3 scripts/n8n_tester.py dry-run --id <workflow-id> \
--data '{"email": "test@example.com", "name": "Test User"}'
# If tests pass, activate
python3 scripts/n8n_api.py activate --id <workflow-id>
```
### 2. Debug Failed Workflow
```bash
# Check recent executions
python3 scripts/n8n_api.py list-executions --id <workflow-id> --limit 10 --pretty
# Get specific execution details
python3 scripts/n8n_api.py get-execution --id <execution-id> --pretty
# Validate workflow structure
python3 scripts/n8n_tester.py validate --id <workflow-id>
# Generate test report
python3 scripts/n8n_tester.py report --id <workflow-id>
# Check for optimization issues
python3 scripts/n8n_optimizer.py report --id <workflow-id>
```
### 3. Optimize Workflow Performance
```bash
# Analyze current performance
python3 scripts/n8n_optimizer.py analyze --id <workflow-id> --days 30 --pretty
# Get actionable suggestions
python3 scripts/n8n_optimizer.py suggest --id <workflow-id> --pretty
# Generate comprehensive report
python3 scripts/n8n_optimizer.py report --id <workflow-id>
# Review execution statistics
python3 scripts/n8n_api.py stats --id <workflow-id> --days 30 --pretty
# Test optimizations with dry run
python3 scripts/n8n_tester.py dry-run --id <workflow-id> --data-file test-data.json
```
### 4. Monitor Workflow Health
```bash
# Check active workflows
python3 scripts/n8n_api.py list-workflows --active true --pretty
# Review recent execution status
python3 scripts/n8n_api.py list-executions --limit 20 --pretty
# Get statistics for each critical workflow
python3 scripts/n8n_api.py stats --id <workflow-id> --pretty
# Generate health reports
python3 scripts/n8n_optimizer.py report --id <workflow-id>
```
## Validation Checks
The testing module performs comprehensive validation:
### Structure Validation
- ✓ Required fields present (nodes, connections)
- ✓ All nodes have names and types
- ✓ Connection targets exist
- ✓ No disconnected nodes (warning)
### Configuration Validation
- ✓ Nodes requiring credentials are configured
- ✓ Required parameters are set
- ✓ HTTP nodes have URLs
- ✓ Webhook nodes have paths
- ✓ Email nodes have content
### Flow Validation
- ✓ Workflow has trigger nodes
- ✓ Proper execution flow
- ✓ No circular dependencies
- ✓ End nodes identified
## Optimization Analysis
The optimizer analyzes multiple dimensions:
### Execution Metrics
- Total executions
- Success/failure rates
- Health status (excellent/good/fair/poor)
- Error patterns
### Performance Metrics
- Node count and complexity
- Connection patterns
- Expensive operations (API calls, database queries)
- Parallel execution opportunities
### Bottleneck Detection
- Sequential expensive operations
- High failure rates
- Missing error handling
- Rate limit issues
### Optimization Opportunities
- **Parallel Execution:** Identify nodes that can run concurrently
- **Caching:** Suggest caching for repeated API calls
- **Batch Processing:** Recommend batching for large datasets
- **Error Handling:** Add error recovery mechanisms
- **Complexity Reduction:** Split complex workflows
- **Timeout Settings:** Configure execution limits
## Performance Scoring
Workflows receive a performance score (0-100) based on:
- **Success Rate:** Higher is better (50% weight)
- **Complexity:** Lower is better (30% weight)
- **Bottlenecks:** Fewer is better (critical: -20, high: -10, medium: -5)
- **Optimizations:** Implemented best practices (+5 each)
Score interpretation:
- **90-100:** Excellent - Well-optimized
- **70-89:** Good - Minor improvements possible
- **50-69:** Fair - Optimization recommended
- **0-49:** Poor - Significant issues
## Best Practices
### Development
1. **Plan Structure:** Design workflow nodes and connections before building
2. **Validate First:** Always validate before deployment
3. **Test Thoroughly:** Use dry-run with multiple test cases
4. **Error Handling:** Add error nodes for reliability
5. **Documentation:** Comment complex logic in Code nodes
### Testing
1. **Sample Data:** Create realistic test data files
2. **Edge Cases:** Test boundary conditions and errors
3. **Incremental:** Test each node addition
4. **Regression:** Retest after changes
5. **Production-like:** Use staging environment that mirrors production
### Deployment
1. **Inactive First:** Deploy workflows in inactive state
2. **Gradual Rollout:** Test with limited traffic initially
3. **Monitor Closely:** Watch first executions carefully
4. **Quick Rollback:** Be ready to deactivate if issues arise
5. **Document Changes:** Keep changelog of modifications
### Optimization
1. **Baseline Metrics:** Capture performance before changes
2. **One Change at a Time:** Isolate optimization impacts
3. **Measure Results:** Compare before/after metrics
4. **Regular Reviews:** Schedule monthly optimization reviews
5. **Cost Awareness:** Monitor API usage and execution costs
### Maintenance
1. **Health Checks:** Weekly execution statistics review
2. **Error Analysis:** Investigate failure patterns
3. **Performance Monitoring:** Track execution times
4. **Credential Rotation:** Update credentials regularly
5. **Cleanup:** Archive or delete unused workflows
## Troubleshooting
### Authentication Error
```
Error: N8N_API_KEY not found in environment
```
**Solution:** Set environment variable:
```bash
export N8N_API_KEY="your-api-key"
```
### Connection Error
```
Error: HTTP 401: Unauthorized
```
**Solution:**
1. Verify API key is correct
2. Check N8N_BASE_URL is set correctly
3. Confirm API access is enabled in n8n
### Validation Errors
```
Validation failed: Node missing 'name' field
```
**Solution:** Check workflow JSON structure, ensure all required fields present
### Execution Timeout
```
Status: timeout - Execution did not complete
```
**Solution:**
1. Check workflow for infinite loops
2. Reduce dataset size for testing
3. Optimize expensive operations
4. Set execution timeout in workflow settings
### Rate Limiting
```
Error: HTTP 429: Too Many Requests
```
**Solution:**
1. Add Wait nodes between API calls
2. Implement exponential backoff
3. Use batch processing
4. Check API rate limits
### Missing Credentials
```
Warning: Node 'HTTP_Request' may require credentials
```
**Solution:**
1. Configure credentials in n8n UI
2. Assign credentials to node
3. Test connection before activating
## File Structure
```
~/clawd/skills/n8n/
├── SKILL.md # This file
├── scripts/
│ ├── n8n_api.py # Core API client (extended)
│ ├── n8n_tester.py # Testing & validation
│ └── n8n_optimizer.py # Performance optimization
└── references/
└── api.md # n8n API reference
```
## API Reference
For detailed n8n REST API documentation, see [references/api.md](references/api.md) or visit:
https://docs.n8n.io/api/
## Support
**Documentation:**
- n8n Official Docs: https://docs.n8n.io
- n8n Community Forum: https://community.n8n.io
- n8n API Reference: https://docs.n8n.io/api/
**Debugging:**
1. Use validation: `python3 scripts/n8n_tester.py validate --id <workflow-id>`
2. Check execution logs: `python3 scripts/n8n_api.py get-execution --id <execution-id>`
3. Review optimization report: `python3 scripts/n8n_optimizer.py report --id <workflow-id>`
4. Test with dry-run: `python3 scripts/n8n_tester.py dry-run --id <workflow-id> --data-file test.json`
Version history
# Changelog - n8n Enhanced Workflow Management Skill ## Version 2.0.0 - 10 Feb 2026 ### 🎉 Major Enhancement Release Complete redesign of the n8n skill with comprehensive workflow lifecycle management capabilities. ### ✨ New Features #### Testing & Validation - **Structure Validation:** `n8n_tester.py` validates workflow integrity - Node and connection validation - Credential checking - Configuration verification - Flow analysis - **Dry-Run Testing:** Test workflows with sample data before activation - **Test Suites:** Run multiple test cases against workflows - **Validation Reports:** Human-readable test reports with errors and warnings #### Execution Monitoring - **Enhanced Execution Tracking:** Real-time execution monitoring - **Detailed Statistics:** Success/failure rates, execution patterns - **Error Analysis:** Identify and categorize failure patterns - **Retry Logic:** Built-in retry support for failed executions #### Performance Optimization - **Performance Analysis:** `n8n_optimizer.py` provides comprehensive metrics - Execution metrics (success rate, failure patterns) - Node analysis (complexity, expensive operations) - Connection analysis (parallel paths, bottlenecks) - Performance scoring (0-100) - **Bottleneck Detection:** Identify workflow performance issues - Sequential expensive operations - High failure rates - Missing error handling - **Optimization Suggestions:** Actionable recommendations - Parallel execution opportunities - Caching strategies - Batch processing - Error handling improvements - Complexity reduction - **Optimization Reports:** Human-readable performance reports ### 📝 API Extensions #### n8n_api.py Enhancements - `validate_workflow()` - Validate workflow structure - `dry_run_workflow()` - Test workflow with mock data - `get_workflow_statistics()` - Get execution statistics - `analyze_workflow_performance()` - Performance analysis - CLI support for `create`, `validate`, and `stats` commands #### New Modules - **n8n_tester.py** - Testing and validation - Structure validation - Dry-run execution - Test suite runner - Report generation - **n8n_optimizer.py** - Performance optimization - Performance analysis - Bottleneck detection - Optimization suggestions - Report generation ### 📚 Documentation #### New Documentation - **README.md** - Quick start guide with examples - **SKILL.md** - Comprehensive documentation (16KB) - All CLI commands - Python API examples - Common workflows - Best practices - Troubleshooting guide - **templates/README.md** - Template documentation - Template descriptions - Configuration guides - Test data examples - **CHANGELOG.md** - This file #### Updated Documentation - Enhanced quick reference - Added validation examples - Performance optimization guides - Template usage examples ### 🗂️ File Structure ``` ~/clawd/skills/n8n/ ├── README.md # Quick start guide ├── SKILL.md # Comprehensive documentation ├── CHANGELOG.md # This file ├── scripts/ │ ├── n8n_api.py # Core API client (extended) │ ├── n8n_tester.py # NEW: Testing & validation │ └── n8n_optimizer.py # NEW: Performance optimization └── references/ └── api.md ``` ### 🔧 Technical Improvements - **Modular Design:** Separated concerns into specialized modules - **Error Handling:** Comprehensive error checking and reporting - **Import Flexibility:** Support for both direct and module imports - **Validation Logic:** Standalone validation without API dependency - **Performance Metrics:** Multi-dimensional workflow analysis - **Extensible Templates:** Easy to add new workflow templates ### 📊 Metrics & Analysis New performance metrics tracked: - Execution success/failure rates - Node complexity scores (0-100) - Performance scores (0-100) - Health status (excellent/good/fair/poor) - Bottleneck severity levels - Optimization priorities (high/medium/low) ### 🎯 Use Cases The enhanced skill now supports: 1. **Rapid Prototyping:** Deploy templates and test within minutes 2. **Quality Assurance:** Validate and test before production deployment 3. **Performance Tuning:** Identify and resolve bottlenecks 4. **Continuous Monitoring:** Track workflow health over time 5. **Best Practices:** Built-in optimization recommendations ### 🔄 Migration from v1.0 No breaking changes. All v1.0 functionality preserved and enhanced: - `list-workflows` - Still works - `get-workflow` - Still works - `activate` / `deactivate` - Still works - `list-executions` / `get-execution` - Still works - `execute` - Still works New commands added: - `create` - Create workflows from templates or files - `validate` - Validate workflow structure - `stats` - Get execution statistics ### 🐛 Bug Fixes - Fixed import issues in testing module - Added standalone validation for file-based workflows - Improved error messages for missing credentials - Enhanced connection validation logic ### ⚡ Performance - Validation runs without API calls for file-based workflows - Efficient execution monitoring with configurable polling - Optimized statistics calculation for large execution histories ### 🔐 Security - No credentials stored in templates (placeholders only) - Environment variable-based authentication - Validation runs safely without modifying workflows ### 📦 Dependencies No new dependencies - `requests` (existing) - `json`, `sys`, `argparse`, `pathlib`, `typing` (standard library) ### 🚀 Future Roadmap Planned for future releases: - Additional workflow templates (10+ total) - Workflow versioning and rollback - A/B testing framework - Cost tracking and optimization - Workflow dependencies and orchestration - Visual workflow builder web UI - AI-powered workflow optimization - Integration testing framework ### 👥 Contributors - Enhanced n8n skill for Clawdbot/Thomas - Based on requirements for SaaS automation workflows ### 📄 License Part of the Clawdbot skills library. --- ## Version 1.0.0 - January 2026 ### Initial Release Basic n8n API integration: - List workflows - Get workflow details - Activate/deactivate workflows - List and get executions - Manual workflow execution - Python API client - Basic CLI interface
- Removed three unnecessary or temporary files from the repository: ._SKILL.md, references/._api.md, scripts/._n8n_api.py - No changes made to workflow or user-facing documentation.
n8n skill v1.0.1 changelog: - Improved troubleshooting documentation: updated connection error help to focus on verifying N8N_BASE_URL only.
n8n Workflow Automation API Control n8n workflows programmatically - list, activate, execute, and monitor automation workflows via Python client and REST API.
Frequently asked questions
The skill works with any n8n instance that has API access enabled. Both self-hosted and n8n Cloud instances are supported.
Installation method
Send this prompt to your agent to install the skill
npx clawhub@latest install n8nSkill info
Files
Skill data sourced from ClawHub