n8n-node-configuration-official
n8n Node Configuration
Each n8n node has its own parameter shape, often with conditional fields (parameter X only matters when parameter Y has value Z). Shapes evolve between versions. Guessing produces cryptic validation errors.
Don't guess, use the get_node_types tool.
Non-negotiable
Call get_node_types with discriminators (resource, operation, mode) before configuring a node. Without discriminators you get the generic shape, missing operation-specific parameters and required fields. Build against the exact shape. Don't guess from memory.
The live get_node_types output is the canonical parameter shape. The references in this skill cover patterns, gotchas, security rules, and decision-making (when to use which operation, why credentials over text fields, engine retry caps, etc.) not parameter names or field structures. If a reference example conflicts with what get_node_types returns, trust the tool. Markdown drifts; the type def is generated from the live source.
Never guess resource-locator or load-options values. When get_node_types shows a param with @searchListMethod or @loadOptionsMethod (Slack channels, Sheets tabs/docs, DB tables/columns, model lists, labels), resolve the real value with explore_node_resources (pass a credentialId from list_credentials) and use a returned value. If you already know the exact ID, use it; if several match and intent is ambiguous, ask the user. An invented ID validates but points at nothing. Exception: toolWorkflow.workflowId has no search method, resolve it via search_workflows and use mode: 'id'.
Strong defaults
- Configure operation-first. Set
resourceandoperationfirst, and conditional parameters become visible. Most "field doesn't exist" errors are really "you haven't set the parent operation yet." - Don't carry parameters across operations. When changing
operation, re-derive from the new shape. Stale parameters from the previous operation trip validation.