
N8n Node Configuration
Configure n8n nodes correctly by understanding displayOptions and property dependencies so hidden fields do not block valid workflows.
Overview
n8n Node Configuration is an agent skill for the Build phase that teaches displayOptions property dependencies so n8n node fields show, hide, and validate correctly.
Install
npx skills add https://github.com/czlonkowski/n8n-skills --skill n8n-node-configurationWhat is this skill?
- Explains displayOptions show/hide rules tied to sibling field values
- Documents AND logic when multiple conditions must match before a property appears
- Maps common patterns such as sendBody gating body fields and HTTP method gating payloads
- Helps avoid invalid configurations caused by fields that stay hidden in the editor
Adoption & trust: 4.4k installs on skills.sh; 5.3k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your n8n workflow JSON references properties that never appear in the UI or fail validation because dependency rules were not satisfied.
Who is it for?
Indie builders debugging or codegen n8n node settings who need schema-level dependency rules, not just copy-pasted examples.
Skip if: Users who only run prebuilt templates without editing node parameters or custom node source.
When should I use this skill?
An n8n node form hides fields, requires unexpected inputs, or your generated workflow JSON does not match visible properties.
What do I get? / Deliverables
You configure nodes with the right prerequisite field values so dependent properties unlock and invalid combinations are avoided.
- Correct field visibility chain for target node
- Valid parameter object respecting displayOptions
Recommended Skills
Journey fit
Integration authoring happens in build when you wire third-party nodes and HTTP steps in n8n. Integrations subphase fits node schema behavior that gates request bodies, auth modes, and resource-specific fields.
How it compares
Conceptual schema guide for any n8n node—pair with vendor-specific node docs for endpoint payloads.
Common Questions / FAQ
Who is n8n-node-configuration for?
Builders and automation-minded solo developers who author or fix n8n workflows and need to understand why fields are hidden or required.
When should I use n8n-node-configuration?
During build integrations when mapping HTTP methods to body fields, debugging displayOptions, or generating node configs that must match editor visibility rules.
Is n8n-node-configuration safe to install?
It is documentation-only procedural content; check the Security Audits panel on this page before installing any skill from the repo bundle.
SKILL.md
READMESKILL.md - N8n Node Configuration
# Property Dependencies Guide Deep dive into n8n property dependencies and displayOptions mechanism. --- ## What Are Property Dependencies? **Definition**: Rules that control when fields are visible or required based on other field values. **Mechanism**: `displayOptions` in node schema **Purpose**: - Show relevant fields only - Hide irrelevant fields - Simplify configuration UX - Prevent invalid configurations --- ## displayOptions Structure ### Basic Format ```javascript { "name": "fieldName", "type": "string", "displayOptions": { "show": { "otherField": ["value1", "value2"] } } } ``` **Translation**: Show `fieldName` when `otherField` equals "value1" OR "value2" ### Show vs Hide #### show (Most Common) **Show field when condition matches**: ```javascript { "name": "body", "displayOptions": { "show": { "sendBody": [true] } } } ``` **Meaning**: Show `body` when `sendBody = true` #### hide (Less Common) **Hide field when condition matches**: ```javascript { "name": "advanced", "displayOptions": { "hide": { "simpleMode": [true] } } } ``` **Meaning**: Hide `advanced` when `simpleMode = true` ### Multiple Conditions (AND Logic) ```javascript { "name": "body", "displayOptions": { "show": { "sendBody": [true], "method": ["POST", "PUT", "PATCH"] } } } ``` **Meaning**: Show `body` when: - `sendBody = true` AND - `method IN (POST, PUT, PATCH)` **All conditions must match** (AND logic) ### Multiple Values (OR Logic) ```javascript { "name": "someField", "displayOptions": { "show": { "method": ["POST", "PUT", "PATCH"] } } } ``` **Meaning**: Show `someField` when: - `method = POST` OR - `method = PUT` OR - `method = PATCH` **Any value matches** (OR logic) --- ## Common Dependency Patterns ### Pattern 1: Boolean Toggle **Use case**: Optional feature flag **Example**: HTTP Request sendBody ```javascript // Field: sendBody (boolean) { "name": "sendBody", "type": "boolean", "default": false } // Field: body (depends on sendBody) { "name": "body", "displayOptions": { "show": { "sendBody": [true] } } } ``` **Flow**: 1. User sees sendBody checkbox 2. When checked → body field appears 3. When unchecked → body field hides ### Pattern 2: Resource/Operation Cascade **Use case**: Different operations show different fields **Example**: Slack message operations ```javascript // Operation: post { "name": "channel", "displayOptions": { "show": { "resource": ["message"], "operation": ["post"] } } } // Operation: update { "name": "messageId", "displayOptions": { "show": { "resource": ["message"], "operation": ["update"] } } } ``` **Flow**: 1. User selects resource="message" 2. User selects operation="post" → sees channel 3. User changes to operation="update" → channel hides, messageId shows ### Pattern 3: Type-Specific Configuration **Use case**: Different types need different fields **Example**: IF node conditions ```javascript // String operations { "name": "value2", "displayOptions": { "show": { "conditions.string.0.operation": ["equals", "notEquals", "contains"] } } } // Unary operations (isEmpty) don't show value2 { "displayOptions": { "hide": { "conditions.string.0.operation": ["isEmpty", "isNotEmpty"] } } } ``` ### Pattern 4: Method-Specific Fields **Use case**: HTTP methods have different options **Example**: HTTP Request ```javascript // Query parameters (all methods can have) { "name": "queryParameters", "displayOptions": { "show": { "sendQuery": [true] } } } // Body (only certain methods) { "name": "body", "displayOptions": { "show": { "sendBody": [true], "method": ["POST", "PUT", "PATCH", "DELETE"] } } } ``` --- ## Finding Property Dependencies ### Using get_node with search_properties Mode ```javascript // Find properties related