n8n Self-Hosted Workflow Templates
30+ production-ready n8n workflow templates for data processing, notifications, monitoring, reporting, and API integrations. Designed for self-hosted n8n instances with full control over execution, scheduling, and data privacy.
Key Features
- 30+ importable workflows in n8n JSON format — paste and run
- Self-hosted optimized — leverages n8n's full node library without cloud plan limitations
- Error handling on every workflow — Error Trigger nodes with Slack/email fallback
- Credential placeholders — clearly marked connection points for your services
- Cron-ready scheduling — pre-configured trigger intervals for each workflow
- Sub-workflow patterns — reusable utility workflows called from main flows
- Environment-aware — development and production configs with variable overrides
What's Included
| Category | Workflows | Key Automations |
|---|---|---|
| Data Processing | 8 | CSV transforms, JSON normalization, database sync, deduplication |
| Notifications | 6 | Multi-channel alerts, digest emails, escalation chains |
| Monitoring | 5 | Uptime checks, SSL expiry, disk space, API health |
| Reporting | 5 | Daily summaries, weekly KPIs, monthly exports |
| API Integration | 6 | Webhook receivers, REST-to-database, API orchestration |
n8n-workflow-templates/
├── README.md
├── configs/
│ ├── development.yaml # Dev instance configuration
│ └── production.yaml # Production instance settings
├── src/
│ ├── data_processing/
│ │ ├── csv_transformer.json
│ │ ├── database_sync.json
│ │ ├── deduplication.json
│ │ └── ...
│ ├── notifications/
│ │ ├── multi_channel_alert.json
│ │ ├── digest_email.json
│ │ └── ...
│ ├── monitoring/
│ │ ├── uptime_checker.json
│ │ ├── ssl_expiry.json
│ │ └── ...
│ ├── reporting/
│ │ ├── daily_summary.json
│ │ ├── weekly_kpi.json
│ │ └── ...
│ └── api_integration/
│ ├── webhook_processor.json
│ ├── rest_to_database.json
│ └── ...
├── examples/
│ ├── import_guide.md
│ └── sub_workflow_patterns.md
├── docs/
│ └── QUICKSTART.md
└── LICENSE
Quick Start
- Access your n8n instance — navigate to your self-hosted n8n UI
-
Import a workflow — click the menu (⋮) → Import from File → select a
.jsonfromsrc/ - Configure credentials — click each node with a ⚠️ warning and connect your accounts
- Update variables — edit the Set node at the start of each workflow with your values
- Test with "Execute Workflow" — run manually to verify each node's output
- Activate the workflow — toggle the Active switch to enable scheduled/triggered execution
Example: Multi-Channel Alert Workflow
{
"name": "Multi-Channel Alert",
"nodes": [
{
"name": "Webhook Trigger",
"type": "n8n-nodes-base.webhook",
"position": [250, 300],
"parameters": {
"path": "alert",
"httpMethod": "POST",
"responseMode": "onReceived"
}
},
{
"name": "Classify Severity",
"type": "n8n-nodes-base.switch",
"position": [450, 300],
"parameters": {
"rules": [
{ "output": 0, "value": "critical", "field": "={{$json.severity}}" },
{ "output": 1, "value": "warning", "field": "={{$json.severity}}" },
{ "output": 2, "value": "info", "field": "={{$json.severity}}" }
]
}
},
{
"name": "Slack - Critical",
"type": "n8n-nodes-base.slack",
"position": [700, 150],
"parameters": { "channel": "#alerts-critical", "text": "CRITICAL: {{$json.message}}\nSource: {{$json.source}}" }
},
{
"name": "Email - Critical",
"type": "n8n-nodes-base.emailSend",
"position": [700, 300],
"parameters": { "toEmail": "oncall@example.com", "subject": "[CRITICAL] {{$json.source}}: {{$json.message}}" }
},
{
"name": "Slack - Warning",
"type": "n8n-nodes-base.slack",
"position": [700, 500],
"parameters": { "channel": "#alerts-warning", "text": "WARNING: {{$json.message}} ({{$json.source}})" }
}
],
"connections": {
"Webhook Trigger": { "main": [["Classify Severity"]] },
"Classify Severity": {
"main": [
["Slack - Critical", "Email - Critical"],
["Slack - Warning"],
[]
]
}
}
}
Configuration
# configs/production.yaml
n8n:
instance:
url: "https://n8n.example.com"
# Basic auth or header auth for API access
api_key: "YOUR_N8N_API_KEY"
# Environment variables for workflow expressions
variables:
COMPANY_NAME: "Acme Corp"
ALERT_EMAIL: "alerts@example.com"
SLACK_CHANNEL_ALERTS: "#alerts"
SLACK_CHANNEL_REPORTS: "#daily-reports"
TIMEZONE: "UTC"
# Execution settings
execution:
timeout: 300 # Max seconds per workflow
save_success: true # Retain successful execution data
retention_days: 30 # Days to keep execution logs
# Credential references (configured in n8n UI)
credentials: { slack: "Slack OAuth2", postgres: "Production PostgreSQL", smtp: "SMTP Email" }
# Scheduling defaults
scheduling:
monitoring: "*/5 * * * *" # Every 5 minutes
reporting: "0 8 * * *" # Daily at 8 AM
data_sync: "0 */2 * * *" # Every 2 hours
Best Practices
- Use the Error Trigger node — create a global error-handling workflow that catches all failures
- Pin test data — use n8n's pin data feature to freeze test inputs for reproducible debugging
- Use sub-workflows — extract reusable logic (send Slack, log to DB) into shared workflows
- Set execution timeouts — prevent runaway workflows from consuming server resources
- Version control your workflows — export JSON files and commit to Git after each change
- Use environment variables — never hardcode URLs or keys in workflow expressions
-
Monitor disk space — n8n stores execution data; set
retention_daysto prevent disk bloat
Troubleshooting
| Issue | Solution |
|---|---|
| Workflow won't activate | Check that all credential nodes are configured — any ⚠️ blocks activation |
| Webhook not receiving data | Verify the webhook URL includes /webhook/ (not /webhook-test/) for production |
| Cron trigger not firing | Ensure the workflow is Active (green toggle) and the server timezone matches your cron |
| "Execution timed out" errors | Increase timeout in Settings or optimize the workflow (reduce API calls, add pagination) |
| Memory errors on large datasets | Use the "Split In Batches" node to process records in chunks of 50-100 |
| Credentials not found after import | Credentials are not exported with workflows — recreate them in n8n and re-link |
This is 1 of 11 resources in the No-Code Builder Pro toolkit. Get the complete [n8n Self-Hosted Workflow Templates] with all files, templates, and documentation for $29.
Or grab the entire No-Code Builder Pro bundle (11 products) for $129 — save 30%.
Top comments (0)