Skill Listing
Review the skill and install it into your account in one click.
n8n Expression Syntax Guide
Assists with robust n8n expressions and fixes common syntax/data-reference mistakes.
AI review
Quality 88Trust 86Discovery 58Well-written, practical reference for n8n expression syntax with clear examples and common-mistake fixes, especially the webhook-body gotcha. High utility for n8n users troubleshooting expressions; professionally presented and safe to use.
This listing is a concise, well-organized guide to n8n expression syntax that highlights frequent pitfalls (notably webhook data nesting) and provides practical examples and fixes. The included README, common-mistakes document, and examples make it immediately useful for developers building or debugging workflows. It reads like a reliable open-source reference, though it’s primarily documentation rather than an interactive validation tool.
Strengths
- Practical, example-driven coverage of common expression mistakes (webhook body access emphasized)
- Clear, usable examples for $json, $node, $now, and $env variables
Considerations
- Mostly documentation — not an interactive validator or runtime tool, so users must apply examples manually
- Minor metadata inconsistency: README references 4 files while the codeFileCount is 3
Why this ranks
Agent List ranks listings using quality, trust, traction, and freshness instead of follower count alone. Paid Computer Agents badges are identity signals only and do not raise discovery score.
- The AI review rated the product quality as notably strong.
- Trust signals are strong, which helps the listing rank more confidently.
- It is surfacing as a hidden-gem candidate: high quality with less existing traction.
Trust signals
AI review
Review pending.
Badge guide
Paid account badge
Automatic for active Computer Agents Individual, Team, and Enterprise subscriptions. It confirms account status only and does not increase discovery ranking.
Agent List review
Granted after Agent List reviews the creator profile and marketplace presence. This is separate from the blue paid account badge.
n8n Expression Syntax
Expert guide for writing correct n8n expressions in workflows.
Expression Format
All dynamic content in n8n uses double curly braces:
Examples:
Core Variables
$json - Current Node Output
Access data from the current node:
$node - Reference Other Nodes
Access data from any previous node:
Important:
- Node names must be in quotes
- Node names are case-sensitive
- Must match exact node name from workflow
$now - Current Timestamp
Access current date/time:
$env - Environment Variables
Access environment variables:
🚨 CRITICAL: Webhook Data Structure
Most Common Mistake: Webhook data is NOT at the root!
Webhook Node Output Structure
Correct Webhook Data Access
Why: Webhook node wraps incoming data under .body property to preserve headers, params, and query parameters.
Common Patterns
Access Nested Fields
Reference Other Nodes
Combine Variables
When NOT to Use Expressions
❌ Code Nodes
Code nodes use direct JavaScript access, NOT expressions!
❌ Webhook Paths
❌ Credential Fields
Validation Rules
1. Always Use {{}}
Expressions must be wrapped in double curly braces.
2. Use Quotes for Spaces
Field or node names with spaces require bracket notation:
3. Match Exact Node Names
Node references are case-sensitive:
4. No Nested {{}}
Don't double-wrap expressions:
Common Mistakes
For complete error catalog with fixes, see COMMON_MISTAKES.md
Quick Fixes
| Mistake | Fix |
|---|---|
$json.field | {{$json.field}} |
{{$json.field name}} | {{$json['field name']}} |
{{$node.HTTP Request}} | {{$node["HTTP Request"]}} |
{{{$json.field}}} | {{$json.field}} |
{{$json.name}} (webhook) | {{$json.body.name}} |
'={{$json.email}}' (Code node) | $json.email |
Working Examples
For real workflow examples, see EXAMPLES.md
Example 1: Webhook to Slack
Webhook receives:
In Slack node text field:
Example 2: HTTP Request to Email
HTTP Request returns:
In Email node (reference HTTP Request):
Example 3: Format Timestamp
Data Type Handling
Arrays
Objects
Strings
Numbers
Advanced Patterns
Conditional Content
Date Manipulation
String Manipulation
Debugging Expressions
Test in Expression Editor
- Click field with expression
- Open expression editor (click "fx" icon)
- See live preview of result
- Check for errors highlighted in red
Common Error Messages
"Cannot read property 'X' of undefined" → Parent object doesn't exist → Check your data path
"X is not a function" → Trying to call method on non-function → Check variable type
Expression shows as literal text → Missing {{ }} → Add curly braces
Expression Helpers
Available Methods
String:
.toLowerCase(),.toUpperCase().trim(),.replace(),.substring().split(),.includes()
Array:
.length,.map(),.filter().find(),.join(),.slice()
DateTime (Luxon):
.toFormat(),.toISO(),.toLocal().plus(),.minus(),.set()
Number:
.toFixed(),.toString()- Math operations:
+,-,*,/,%
Best Practices
✅ Do
- Always use {{ }} for dynamic content
- Use bracket notation for field names with spaces
- Reference webhook data from
.body - Use $node for data from other nodes
- Test expressions in expression editor
❌ Don't
- Don't use expressions in Code nodes
- Don't forget quotes around node names with spaces
- Don't double-wrap with extra {{ }}
- Don't assume webhook data is at root (it's under .body!)
- Don't use expressions in webhook paths or credentials
Related Skills
- n8n MCP Tools Expert: Learn how to validate expressions using MCP tools
- n8n Workflow Patterns: See expressions in real workflow examples
- n8n Node Configuration: Understand when expressions are needed
Summary
Essential Rules:
- Wrap expressions in {{ }}
- Webhook data is under
.body - No {{ }} in Code nodes
- Quote node names with spaces
- Node names are case-sensitive
Most Common Mistakes:
- Missing {{ }} → Add braces
{{$json.name}}in webhooks → Use{{$json.body.name}}{{$json.email}}in Code → Use$json.email{{$node.HTTP Request}}→ Use{{$node["HTTP Request"]}}
For more details, see:
- COMMON_MISTAKES.md - Complete error catalog
- EXAMPLES.md - Real workflow examples
Need Help? Reference the n8n expression documentation or use n8n-mcp validation tools to check your expressions.