n8n-node-configuration
czlonkowski/n8n-skills
操作を考慮したノード設定ガイド。ノードの設定、プロパティ間の依存関係の把握、必須フィールドの特定、get_node の詳細レベルの選択、あるいはノードタイプごとの一般的な設定パターンの学習を行う際に活用してください。
...すべて拡張します概要n8n-node-configuration
「n8n-node-configuration 」スキルは、実行される特定の操作に基づいて、プロパティの依存関係や必須フィールドといった複雑な要件に対処し、操作を意識した方法でノードを設定するための専門的なガイダンスを提供します。このスキルは、一般的なパターンやベストプラクティスに関する知見を提供することで設定プロセスを効率化し、ユーザーが最小限の手間で効果的にノードを設定できるように設計されています。 このスキルは、選択した操作に応じてどのフィールドが必要かを特定するという課題に対処し、最終的にノード設定タスク全体の効率を向上させます。
このスキルの主な機能には、段階的な開示アプローチが含まれており、ユーザーは最小限の設定から始め、必要に応じて徐々に複雑さを追加することができます。「get_node」ディスカバリーパターンを活用することで、ユーザーは必須フィールドや一般的な設定オプションに関する重要な情報に簡単にアクセスできます。 また、このスキルは、デプロイ前の正確性を確保するために各ステップで設定を検証することの重要性を強調しており、これによりエラーの可能性を低減し、ユーザーエクスペリエンスを向上させます。この構造化されたガイダンスは、n8nのワークフローを利用し、望ましい結果を得るために正確な設定を必要とする開発者、データエンジニア、および技術系ユーザーにとって特に有益です。
n8n-node-configuration スキルのユースケースには、さまざまなAPIとの連携設定、特定のデータ処理を必要とするワークフローの自動化、および異なるノードタイプにわたって設定がベストプラクティスに準拠していることを確認することなどが含まれます。対象ユーザーには、自動化プロセスの最適化を目指す開発者、複雑な連携を管理する技術チーム、およびワークフローの効率化を図るためにn8nノードの設定に関する理解を深めたいと考えているすべての方が含まれます。
よくある質問
特定の操作に必要なフィールドをどのように判断すればよいですか?
このスキルが提供する、操作に応じた設定ガイドを参照してください。そこでは、使用されるリソースや操作に基づいて、どのフィールドが必要かが説明されています。
このスキルはすべてのn8nノードと互換性がありますか?
はい。提供されるガイダンスは n8n 内のさまざまなノードタイプに適用できますが、フィールド間の依存関係はノードによって異なる場合があります。
プログレッシブ・ディスクロージャー方式にはどのような制限がありますか?
プログレッシブ・ディスクロージャー方式は、主に一般的なユースケース向けに設計されています。より複雑な設定の場合、さらに詳細な調査やスキーマの完全な取得が必要になる場合があります。
認証が必要なノードでもこのスキルを使用できますか?
もちろんです!このスキルには、認証が必要なノードの認証フィールドを設定するための手順が含まれています。
設定中に検証エラーが発生した場合はどうすればよいですか?
スキルから表示される検証プロンプトに従い、get_nodeの詳細を再度確認して、必須フィールドがすべて含まれていることを確認してください。
n8n Node Configuration
Expert guidance for operation-aware node configuration with property dependencies.
Configuration Philosophy
Progressive disclosure: Start minimal, add complexity as needed
Configuration best practices:
get_nodewithdetail: "standard"is the most used discovery pattern- 56 seconds average between configuration edits
- Covers 95% of use cases with 1-2K tokens response
Key insight: Most configurations need only standard detail, not full schema!
Core Concepts
1. Operation-Aware Configuration
Not all fields are always required - it depends on operation!
Example: Slack node
// For operation='post'{ "resource": "message", "operation": "post", "channel": "#general", // Required for post "text": "Hello!" // Required for post}// For operation='update'{ "resource": "message", "operation": "update", "messageId": "123", // Required for update (different!) "text": "Updated!" // Required for update // channel NOT required for update}
Key: Resource + operation determine which fields are required!
2. Property Dependencies
Fields appear/disappear based on other field values
Example: HTTP Request node
// When method='GET'{ "method": "GET", "url": "https://api.example.com" // sendBody not shown (GET doesn't have body)}// When method='POST'{ "method": "POST", "url": "https://api.example.com", "sendBody": true, // Now visible! "body": { // Required when sendBody=true "contentType": "json", "content": {...} }}
Mechanism: displayOptions control field visibility
3. Progressive Discovery
Use the right detail level:
get_node({detail: "standard"}) - DEFAULT
- Quick overview (~1-2K tokens)
- Required fields + common options
- Use first - covers 95% of needs
get_node({mode: "search_properties", propertyQuery: "..."}) (for finding specific fields)
- Find properties by name
- Use when looking for auth, body, headers, etc.
get_node({detail: "full"}) (complete schema)
- All properties (~3-8K tokens)
- Use only when standard detail is insufficient
Configuration Workflow
Standard Process
- Identify node type and operation.
- Use
get_node(standard detail is default). - Configure required fields.
- Validate configuration.
- If a field is unclear →
get_node({mode: "search_properties"}). - Add optional fields as needed.
- Validate again.
- Deploy.
Example: Configuring HTTP Request
The validate-driven loop in practice: start minimal (method, url, authentication), then let each validate_node error surface the next required field (sendBody for POST → body when sendBody=true) until valid. Full step-by-step walkthrough in OPERATION_PATTERNS.md.
get_node Detail Levels
Standard Detail (DEFAULT - Use This!)
✅ Starting configuration
get_node({ nodeType: "nodes-base.slack"});// detail="standard" is the default
Returns (~1-2K tokens):
- Required fields
- Common options
- Operation list
- Metadata
Use: 95% of configuration needs
Full Detail (Use Sparingly)
✅ When standard isn't enough
get_node({ nodeType: "nodes-base.slack", detail: "full"});
Returns (~3-8K tokens):
- Complete schema
- All properties
- All nested options
Warning: Large response, use only when standard insufficient
Search Properties Mode
✅ Looking for specific field
get_node({ nodeType: "nodes-base.httpRequest", mode: "search_properties", propertyQuery: "auth"});
Use: Find authentication, headers, body fields, etc.
Decision Tree
- Starting a new node config →
get_node(standard). - Standard has what you need → configure with it. Otherwise continue.
- Looking for a specific field →
search_propertiesmode. Otherwise continue. - Still need more →
get_node({detail: "full"}).
Property Dependencies Deep Dive
Fields have displayOptions visibility rules: show/hide blocks where multiple conditions are AND'd and multiple values are OR'd (e.g. body shows when sendBody=true AND method IN (POST, PUT, PATCH)). The three recurring patterns are the boolean toggle (sendBody → body), the operation switch (post vs update show different fields), and type selection (string vs boolean conditions). To find what controls a field, use get_node({mode: "search_properties", propertyQuery: "..."}) or get_node({detail: "full"}) — especially when validation flags a field you don't see.
Mechanism details, all four dependency patterns, complex flows, nested dependencies, and troubleshooting are in DEPENDENCIES.md (quick-reference recap under Quick Reference: displayOptions and Common Dependency Patterns).
Common Node Patterns
Pattern 1: Resource/Operation Nodes
Examples: Slack, Google Sheets, Airtable
Structure:
{ "resource": "<entity>", // What type of thing "operation": "<action>", // What to do with it // ... operation-specific fields}
How to configure:
- Choose resource
- Choose operation
- Use get_node to see operation-specific requirements
- Configure required fields
Pattern 2: HTTP-Based Nodes
Examples: HTTP Request, Webhook
Structure:
{ "method": "<HTTP_METHOD>", "url": "<endpoint>", "authentication": "<type>", // ... method-specific fields}
Dependencies:
- POST/PUT/PATCH → sendBody available
- sendBody=true → body required
- authentication != "none" → credentials required
Critical: credentials block, node id, typeVersion
- Never set a placeholder credential ID (e.g.
"id": "REPLACE_ME") — n8n's UI renders a permanently disabled credential selector for unknown IDs. Omit thecredentialsblock when the real ID is unknown; the user then gets a normal clickable dropdown. - Node
idmust be a UUID v4, not a readable slug — the frontend binds forms and the credential component to it. - Don't hardcode old
typeVersionvalues — verify the current version withget_node(httpRequest is 4.4+).
Pattern 3: Database Nodes
Examples: Postgres, MySQL, MongoDB
Structure:
{ "operation": "<query|insert|update|delete>", // ... operation-specific fields}
Dependencies:
- operation="executeQuery" → query required
- operation="insert" → table + values required
- operation="update" → table + values + where required
Critical: Write operations may return 0 items
- INSERT, UPDATE, DELETE can produce 0 n8n output items, depending on the node and operation (raw query execution reliably returns 0 result rows; some database nodes return the affected rows)
- Set
alwaysOutputData: trueon write-operation nodes to keep downstream chains alive - Downstream nodes should use
$('UpstreamNode').all()instead of$inputif they need data
Pattern 4: Conditional Logic Nodes
Examples: IF, Switch, Merge
Structure:
{ "conditions": { "<type>": [ { "operation": "<operator>", "value1": "...", "value2": "..." // Only for binary operators } ] }}
Dependencies:
- Binary operators (equals, contains, etc.) → value1 + value2
- Unary operators (isEmpty, isNotEmpty) → value1 only + singleValue: true
Operation-Specific Configuration
Required fields shift with resource + operation: Slack post needs channel+text, but update needs messageId+text (channel optional) and channel/create needs name. HTTP GET uses sendQuery+queryParameters; POST needs sendBody+body. IF binary operators (equals) need value1+value2; unary (isEmpty) need only value1 plus auto-added singleValue: true. Concrete minimal configs for each in OPERATION_PATTERNS.md.
Handling Conditional Requirements
Some fields are required only under certain conditions: HTTP body is required when sendBody=true AND method IN (POST, PUT, PATCH, DELETE); IF singleValue should be true when the operator is unary (isEmpty, isNotEmpty, true, false) — and auto-sanitization sets it for you. Discover conditional requirements by reading the validation error, searching the property (get_node({mode: "search_properties"})), or iterating from a minimal config. Worked discovery examples in DEPENDENCIES.md.
Node-Specific Configuration Notes
SplitInBatches v3
{ "batchSize": 100, // Number of items per batch "options": {}}
Output wiring:
main[0](done) → Connect to downstream processing (add Limit 1 first)main[1](each batch) → Connect to loop body, then loop back to SplitInBatches input
See the n8n Workflow Patterns skill for detailed loop and nested loop patterns.
Google Sheets Node
Per-item execution: Each input item triggers a separate API call. If you have 100 items and use a Google Sheets "Append Row" node, it makes 100 API calls. To write in bulk, aggregate items in a Code node first, then use a single HTTP Request with the Sheets API.
Formula columns: Never use append on sheets with formula columns — it overwrites formulas. Instead, use HTTP Request with Google Sheets API values.update (PUT) method and a googleApi credential.
Configuration Anti-Patterns
❌ Don't: Over-configure Upfront
Bad:
// Adding every possible field{ "method": "GET", "url": "...", "sendQuery": false, "sendHeaders": false, "sendBody": false, "timeout": 10000, "ignoreResponseCode": false, // ... 20 more optional fields}
Good:
// Start minimal{ "method": "GET", "url": "...", "authentication": "none"}// Add fields only when needed
❌ Don't: Skip Validation
Bad:
// Configure and deploy without validatingconst config = {...};n8n_update_partial_workflow({...}); // YOLO
Good:
// Validate before deployingconst config = {...};const result = validate_node({...});if (result.valid) { n8n_update_partial_workflow({...});}
❌ Don't: Ignore Operation Context
Bad:
// Same config for all Slack operations{ "resource": "message", "operation": "post", "channel": "#general", "text": "..."}// Then switching operation without updating config{ "resource": "message", "operation": "update", // Changed "channel": "#general", // Wrong field for update! "text": "..."}
Good:
// Check requirements when changing operationget_node({ nodeType: "nodes-base.slack"});// See what update operation needs (messageId, not channel)
Surgical Field Edits with patchNodeField
When you need to edit a specific string inside a node field — rather than replacing the whole field — use patchNodeField in n8n_update_partial_workflow. This is especially useful for:
- Editing code inside Code nodes without re-transmitting the full code block
- Updating URLs or text in large HTML email templates
- Fixing typos in JSON bodies or long text fields
// Instead of replacing the entire jsCode field:n8n_update_partial_workflow({ id: "wf-123", operations: [{ type: "patchNodeField", nodeName: "Code", fieldPath: "parameters.jsCode", patches: [{find: "const limit = 10;", replace: "const limit = 50;"}] }]})
patchNodeField is strict — it errors if the find string isn't found or matches multiple times (unless replaceAll: true). This prevents accidental silent failures during configuration updates. See the n8n MCP Tools Expert skill for full syntax and examples.
Best Practices
Do
Start with get_node (standard detail)
- ~1-2K tokens response
- Covers 95% of configuration needs
- Default detail level
Validate iteratively
- Configure → Validate → Fix → Repeat
- Average 2-3 iterations is normal
- Read validation errors carefully
Use search_properties mode when stuck
- If field seems missing, search for it
- Understand what controls field visibility
get_node({mode: "search_properties", propertyQuery: "..."})
Respect operation context
- Different operations = different requirements
- Always check get_node when changing operation
- Don't assume configs are transferable
Trust auto-sanitization
- Operator structure fixed automatically
- Don't manually add/remove singleValue
- IF/Switch metadata added on save
❌ Don't
Jump to detail="full" immediately
- Try standard detail first
- Only escalate if needed
- Full schema is 3-8K tokens
Configure blindly
- Always validate before deploying
- Understand why fields are required
- Use search_properties for conditional fields
Copy configs without understanding
- Different operations need different fields
- Validate after copying
- Adjust for new context
Manually fix auto-sanitization issues
- Let auto-sanitization handle operator structure
- Focus on business logic
- Save and let system fix structure
Silent-Failure Gotchas by Node Family
Some misconfigurations pass validate_node and validate_workflow clean, run without error, and quietly do the wrong thing — get_node shows the fields exist but not what happens when you omit them. The high-frequency ones:
- Switch — no
options.fallbackOutput⇒ unmatched items silently dropped. - Merge —
numberOfInputsdefaults to 2 (extra sources drop);useDataOfInputis 1-indexed vs the 0-indexedconnections.<src>.main[idx]slot (useDataOfInput: "N"→main[N-1]). - Database —
{{ }}interpolation intoparameters.queryis SQL injection; use$1/$2placeholders +options.queryReplacement. - Slack — Block Kit must be wrapped
={{ { "blocks": ... } }}or it posts as plain text. - Webhook / Respond —
responseCodedefaults to 200 even on error branches. - Schedule Trigger — timezone is workflow-level (Workflow Settings), not per-rule.
Full symptom/cause/fix detail (in JSON + n8n_update_partial_workflow terms) in NODE_FAMILY_GOTCHAS.md.
Detailed References
For comprehensive guides on specific topics:
- DEPENDENCIES.md - Deep dive into property dependencies and displayOptions
- OPERATION_PATTERNS.md - Common configuration patterns by node type
- NODE_FAMILY_GOTCHAS.md - Silent runtime traps by family (Switch, Merge, Database, Slack, Webhook, Schedule)
Summary
Configuration Strategy:
- Start with
get_node(standard detail is default) - Configure required fields for operation
- Validate configuration
- Search properties if stuck
- Iterate until valid (avg 2-3 cycles)
- Deploy with confidence
Key Principles:
- Operation-aware: Different operations = different requirements
- Progressive disclosure: Start minimal, add as needed
- Dependency-aware: Understand field visibility rules
- Validation-driven: Let validation guide configuration
Related Skills:
- n8n MCP Tools Expert - How to use discovery tools correctly
- n8n Validation Expert - Interpret validation errors
- n8n Expression Syntax - Configure expression fields
- n8n Workflow Patterns - Apply patterns with proper configuration
すべてのファイル
4件のファイルn8n-node-configurationをインストール
スキルファイルをダウンロードし、.claude/skills/ ディレクトリに解凍してください。
ZIPをダウンロードリポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。
git clone https://github.com/czlonkowski/n8n-skills/blob/main/skills/n8n-node-configuration/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
コピー





家
