czlonkowski avatar

N8n Expression Syntax

If you've ever stared at an n8n workflow wondering why your webhook data isn't showing up, this will save you hours. The single biggest gotcha is that webhook payloads live under `$json.body`, not `$json` directly, and this skill drills that into your head with examples. Beyond that, it covers the double brace syntax, proper node referencing with quotes, when to skip expressions entirely in Code nodes, and how to handle field names with spaces or special characters. The validation rules are practical, the common mistakes section maps errors to fixes, and the examples show real webhook-to-Slack and HTTP-to-email patterns. Worth having open when you're wiring nodes together and the data suddenly disappears between steps.

skills.sh installs
6.9K
GitHub stars
6.6K
last updated
Aug 21, 2026

Install

$ npx -y skills add czlonkowski/n8n-skills --skill n8n-expression-syntax --agent claude-code

Installs into .claude/skills of the current project.

Files

n8n Expression Syntax

Expert guide for writing correct n8n expressions in workflows.


Expression Format

All dynamic content in n8n uses double curly braces:

{{expression}}

Examples:

✅ {{$json.email}}
✅ {{$json.body.name}}
✅ {{$node["HTTP Request"].json.data}}
❌ $json.email  (no braces - treated as literal text)
❌ {$json.email}  (single braces - invalid)

Core Variables

$json - Current Node Output

Access data from the current node:

{{$json.fieldName}}
{{$json['field with spaces']}}
{{$json.nested.property}}
{{$json.items[0].name}}

$node - Reference Other Nodes

Access data from any previous node:

{{$node["Node Name"].json.fieldName}}
{{$node["HTTP Request"].json.data}}
{{$node["Webhook"].json.body.email}}

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:

{{$now}}
{{$now.toFormat('yyyy-MM-dd')}}
{{$now.toFormat('HH:mm:ss')}}
{{$now.plus({days: 7})}}

$env - Environment Variables

Access environment variables:

Sponsors

Details

Repository
github.com/czlonkowski/n8n-skills
Categories
Documentation, Debugging, Automation & Workflows

More from czlonkowski/n8n-skills

All 7
1shubhamsaboo avataracademic-researchershubhamsaboo/awesome-llm-appsAcademic research assistant for literature reviews, paper analysis, and scholarly writing. Use when: reviewing academic papers, conducting literature reviews, w6.7Kskills.sh installs
2agricidaniel avatarseo-image-genagricidaniel/claude-seoAI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics. Powered by Gemini via nanobana6.7Kskills.sh installs
3mvanhorn avatarprinting-press-retromvanhorn/cli-printing-pressRun a retrospective after generating a CLI. Identifies systemic improvements to the Printing Press — templates, Go binary, skill instructions, and workflow docs6.7Kskills.sh installs
4forcedotcom avatardx-code-analyzer-runforcedotcom/sf-skillsRun Salesforce Code Analyzer to scan code for security, performance, best practice, and code style violations. Supports all engines (PMD, ESLint, CPD, RetireJS,6.7Kskills.sh installs
5mvanhorn avatarprinting-press-reprintmvanhorn/cli-printing-pressRegenerate an existing printed CLI from scratch under the current Printing Press, with prior research, prior novel features, and prior patches (post-publish han6.6Kskills.sh installs
6dotnet avatarrun-testsdotnet/skillsRecommend or run the exact `dotnet test` command. ALWAYS use when the user asks to run, filter, or troubleshoot .NET tests or wants the precise command, flags, 6.6Kskills.sh installs