Validation Tools

Validate node configurations and workflows before deployment. Use multiple validation profiles to catch issues at different stages of development.

validate_node

Validate n8n node configuration with multiple profiles. Supports two validation modes and four validation profiles for different use cases. Automatically validates complex n8n types: filter (40+ operations), resourceMapper, assignmentCollection, and resourceLocator.

No Setup Required
ParameterTypeDescription
nodeType*stringNode type with prefix: "nodes-base.slack"
config*objectConfiguration object to validate. Use {} for empty config
modestringValidation mode
fullminimal
profilestringValidation profile (applies to mode=full)
minimalruntimeai-friendlystrict

Full validation with default profile

javascript
validate_node({
  nodeType: "nodes-base.slack",
  config: {resource: "channel", operation: "create"}
})

Quick required fields check

javascript
validate_node({
  nodeType: "nodes-base.webhook",
  config: {},
  mode: "minimal"
})

Strict validation for production

javascript
validate_node({
  nodeType: "nodes-base.httpRequest",
  config: {...},
  mode: "full",
  profile: "strict"
})
Use Cases
  • Validate node configuration before adding to workflow
  • Quick check for required fields during development
  • Pre-production validation with strict profile
  • Validate complex structures (filters, resource mappers)
Best Practices
  • Always call get_node() first to understand required fields
  • Use mode="minimal" for rapid iteration during development
  • Use profile="strict" before deploying to production
  • Pay attention to warnings - they often prevent runtime issues
  • Re-validate after any configuration change
Common Pitfalls
  • Empty config {} is valid for some nodes (e.g., manual trigger)
  • mode="minimal" only checks required fields, not value validity
  • Some warnings may be acceptable for specific use cases
  • Credential validation requires runtime context and cannot be checked here

validate_workflow

Complete workflow validation including structure, node configurations, connections, and expressions. Essential before deploying workflows.

No Setup Required
ParameterTypeDescription
workflow*objectComplete workflow JSON with nodes[] and connections{}
optionsobjectValidation options
options.validateNodesbooleanValidate individual node configurations
options.validateConnectionsbooleanValidate node connections and flow
options.validateExpressionsbooleanValidate n8n expression syntax
options.profilestringValidation profile
minimalruntimeai-friendlystrict

Full validation with default settings

javascript
validate_workflow({workflow: myWorkflow})

Quick validation for development

javascript
validate_workflow({
  workflow: myWorkflow,
  options: {profile: "minimal"}
})

Skip expression validation

javascript
validate_workflow({
  workflow: myWorkflow,
  options: {validateExpressions: false}
})
Use Cases
  • Pre-deployment validation to catch all workflow issues
  • Quick validation during workflow development
  • Validate workflows with AI Agent nodes and tool connections
  • Check expression syntax before workflow execution
  • Ensure workflow structure integrity after modifications
Best Practices
  • Always validate workflows before creating or updating in n8n
  • Use minimal profile during development, strict profile before production
  • Pay attention to warnings - they often indicate potential runtime issues
  • Validate after any workflow modifications, especially connection changes
  • Check statistics to understand workflow complexity
  • Operator structures and missing metadata are auto-sanitized during create/update — validating first still saves a round-trip
Common Pitfalls
  • Large workflows (100+ nodes) may take longer to validate
  • Expression validation requires proper node references to exist
  • Some warnings may be acceptable depending on use case
  • Validation cannot catch all runtime errors (e.g., API failures)
  • The profile option only affects node validation, not connection or expression checks