n8n-expression-syntax

Validate n8n expression syntax and fix common errors in workflows.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/gabrielrdga/n8n-skills --skill n8n-expression-syntax-gabrielrdga
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: n8n-expression-syntax
Source: https://github.com/gabrielrdga/n8n-skills/tree/main/skills/n8n-expression-syntax
Command: npx skills add https://github.com/gabrielrdga/n8n-skills --skill n8n-expression-syntax-gabrielrdga

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Validate and correct n8n expression syntax to prevent common errors, with emphasis on proper webhook data structure and cross-node references.

Core Features & Use Cases

  • Enforces the required expression syntax using double curly braces, and documents $json, $node, $now, and $env usage.
  • Highlights the critical webhook data structure (data under .body) and provides common-mistakes guidance with real examples.
  • Supports debugging workflows by offering best practices, quick reference patterns, and test scenarios for expression validity.

Quick Start

Review the rules and examples, then apply them to craft correct expressions in your workflow editor.

Frequently Asked Questions about n8n-expression-syntax

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix n8n expression syntax errors when referencing webhook data?

Fix n8n expression syntax errors by wrapping references in double curly braces and accessing webhook payloads through the `.body` property. Properly structuring webhook data locations ensures accurate data extraction and prevents common validation failures during workflow execution.

What is the correct syntax for using $json and $node variables in n8n workflows?

The correct syntax for using $json and $node variables in n8n workflows requires enclosing them in double curly braces. This notation allows cross-node references and data mapping, ensuring the platform parses the dynamic variables correctly without throwing syntax validation exceptions.

Why does my n8n webhook expression return undefined or empty data?

An n8n webhook expression returns undefined when the syntax misses double curly braces or targets the wrong data location. Webhook payload data resides under `.body`, so accessing it directly without this property reference causes empty data retrieval and failed downstream node execution.

How do I validate n8n expressions using $now and $env before running a workflow?

Validate n8n expressions using $now and $env by applying syntax rules and testing reference patterns before execution. Checking that environment variables and current timestamps are wrapped in double curly braces ensures the workflow editor parses dynamic values correctly and prevents runtime errors.

What's the best way to debug cross-node references in n8n expressions?

The best way to debug cross-node references in n8n expressions is enforcing double curly braces around $node variables and verifying data paths. Using validation test scenarios and quick reference patterns helps identify structural mistakes and ensures accurate data mapping between nodes.