n8n-expression-syntax
Validates n8n expression syntax and resolves common errors for efficient workflow automation.
Install this skill
Security score
The n8n-expression-syntax skill was audited on Feb 28, 2026 and we found 23 security issues across 3 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 307 | ``` |
Webhook reference - potential data exfiltration
| 3 | description: Validate n8n expression syntax and fix common errors. Use when writing n8n expressions, using {{}} syntax, accessing $json/$node variables, troubleshooting expression errors, or working w |
Webhook reference - potential data exfiltration
| 51 | {{$node["Webhook"].json.body.email}} |
Webhook reference - potential data exfiltration
| 81 | ## 🚨 CRITICAL: Webhook Data Structure |
Webhook reference - potential data exfiltration
| 83 | **Most Common Mistake**: Webhook data is **NOT** at the root! |
Webhook reference - potential data exfiltration
| 85 | ### Webhook Node Output Structure |
Webhook reference - potential data exfiltration
| 100 | ### Correct Webhook Data Access |
Webhook reference - potential data exfiltration
| 111 | **Why**: Webhook node wraps incoming data under `.body` property to preserve headers, params, and query parameters. |
Webhook reference - potential data exfiltration
| 140 | {{$node["Respond to Webhook"].json.message}} |
Webhook reference - potential data exfiltration
| 142 | // Webhook node |
Webhook reference - potential data exfiltration
| 143 | {{$node["Webhook"].json.body.email}} |
Webhook reference - potential data exfiltration
| 184 | ### ❌ Webhook Paths |
Webhook reference - potential data exfiltration
| 188 | path: "{{$json.user_id}}/webhook" |
Webhook reference - potential data exfiltration
| 191 | path: "user-webhook" // Static paths only |
Webhook reference - potential data exfiltration
| 262 | | `{{$json.name}}` (webhook) | `{{$json.body.name}}` | |
Webhook reference - potential data exfiltration
| 271 | ### Example 1: Webhook to Slack |
Webhook reference - potential data exfiltration
| 273 | **Webhook receives**: |
Webhook reference - potential data exfiltration
| 473 | - Reference webhook data from `.body` |
Webhook reference - potential data exfiltration
| 482 | - Don't assume webhook data is at root (it's under .body!) |
Webhook reference - potential data exfiltration
| 483 | - Don't use expressions in webhook paths or credentials |
Webhook reference - potential data exfiltration
| 499 | 2. Webhook data is under `.body` |
Webhook reference - potential data exfiltration
| 506 | - `{{$json.name}}` in webhooks → Use `{{$json.body.name}}` |
External URL reference
| 153 | https://api.example.com/users/{{$json.body.user_id}} |