KEEP LEARNING
Build the bigger picture.
The Workflow Engineer connects individual n8n concepts to testing, deployment and running a complete workflow.
Tips > Reliability & Performance
When you are stuck, n8n's community forum and Discord are excellent resources.
n8n workflows are stored as JSON, so you can export a whole workflow with one click and share it for debugging. Sharing the JSON lets others import your exact nodes, configuration, and problem, turning a vague forum post into a reproducible bug report. Always review the exported JSON and remove any hardcoded secrets before posting it publicly.
When you are stuck, n8n's community forum and Discord are excellent resources. But describing a workflow in words is inefficient and error-prone. n8n workflows are stored as JSON and can be exported and imported with a single click. Sharing the JSON lets others import your exact workflow, see your exact configuration, and reproduce your exact problem.
Real-world example: You have a workflow with 8 nodes that fails intermittently. Instead of posting screenshots of each node, you export the workflow JSON and share it in a forum post.
1. Open the workflow in the editor.
2. Click the three-dot menu (top right) or use Ctrl+A
to select all nodes.
3. Select "Download" or use Ctrl+Shift+E to export.
4. n8n downloads a .json file containing the complete
workflow definition.Example: Exported workflow structure (abbreviated)
{
"name": "Stripe to Slack Notification",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "stripe-events",
"responseMode": "responseNode"
},
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [250, 300]
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.type }}",
"operation": "equals",
"value2": "charge.succeeded"
}
]
}
},
"name": "IF - Charge Succeeded",
"type": "n8n-nodes-base.if",
"position": [450, 300]
}
],
"connections": {
"Webhook": {
"main": [
[{ "node": "IF - Charge Succeeded", "type": "main", "index": 0 }]
]
}
}
}Danger: Remove Credentials Before Sharing. Exported workflows include credential references (IDs) but not the actual secrets. However, some nodes may contain hardcoded API keys, tokens, or URLs in their parameters. Always review the JSON before sharing and remove any sensitive values:
# Quick check for potential secrets in the exported JSON
grep -iE "(key|token|password|secret|bearer|api_key)" workflow.jsonForum Post Template
**Title:** Stripe webhook workflow fails on invoices with no line items
**n8n version:** 1.94.1 (self-hosted, Docker)
**Database:** PostgreSQL 16
**Relevant log output:** [paste error from execution detail]
**Workflow JSON:** [attach or paste the exported JSON]
**Steps to reproduce:**
1. Import the attached workflow.
2. Send this curl command to the webhook: [paste curl]
3. The IF node fails with "Cannot read property 'amount' of undefined"
**Expected behavior:** The workflow should handle invoices with empty line items.Sharing workflow JSON turns a vague "my workflow is broken" post into a precise, reproducible bug report that community members can import and debug in under a minute.
Related: Always Set an Error Workflow on Every Production Workflow · Break Large Workflows into Sub-Workflows
KEEP LEARNING
The Workflow Engineer connects individual n8n concepts to testing, deployment and running a complete workflow.
APPLY IT TO YOUR SYSTEM
Bring the process, the tools involved and an example of where the current workflow gets stuck.