schema-guard

n8n community node that enforces JSON data contracts — validates incoming items against a JSON schema, auto-fills defaults, renames fields, and drops invalid records.

Package Information

Downloads: 44 weekly / 194 monthly
Latest Version: 0.1.0
Author: Ammar Alshuaibi

Documentation

n8n-nodes-schema-guard

Schema Guard — A data-contract enforcer for n8n.
Validates incoming JSON items against a schema, auto-fills defaults, renames fields, and routes invalid records — bringing typed pipelines to n8n.

n8n community node
license


Why?

Workflows break silently when upstream JSON shapes change.
Schema Guard catches those changes at runtime, preventing bad data from cascading through your pipeline.

Features

Capability Description
Validate Check every item against a JSON Schema (draft-07 / 2020-12)
Auto-Generate Schema Infer the schema from the first incoming item automatically
Auto-Fill Defaults Missing fields are populated from schema default values or custom defaults
Rename Fields Map old field names to new ones before validation
Route / Drop / Error Choose what happens to invalid items — route them to a second output, drop them silently, or halt the workflow
Structured Errors Invalid items carry _schemaErrors with detailed diagnostics

Installation

In n8n (Community Nodes)

  1. Go to Settings → Community Nodes
  2. Enter n8n-nodes-schema-guard
  3. Click Install

Manual / npm

npm install n8n-nodes-schema-guard

Then restart n8n.

Usage

1. Validate Mode

Paste a JSON Schema into the JSON Schema field. Every incoming item is validated against it.

{
  "type": "object",
  "properties": {
    "email": { "type": "string", "format": "email" },
    "age":   { "type": "integer", "minimum": 0 },
    "role":  { "type": "string", "default": "viewer" }
  },
  "required": ["email"]
}

2. Auto-Generate Schema Mode

No schema? No problem. Schema Guard inspects the first item and derives a schema from it, then validates all items against that shape.

Options

Option Default Description
Auto-Fill Defaults true Fills missing fields from schema default values
Custom Defaults {} Extra field → value pairs applied before validation
Rename Fields {} {"old_name": "newName"} mapping applied before validation
Include Error Details true Attaches _schemaErrors array to invalid items
Additional Properties true Whether to allow fields not in the schema

Outputs

Output Contents
Valid (top) Items that passed validation
Invalid (bottom) Items that failed (when On Invalid = "Route to Second Output")

On Invalid Item

  • Route to Second Output — invalid items are sent to the second output with error metadata
  • Drop Silently — invalid items are removed entirely
  • Stop Workflow With Error — throws an error, halting execution

Example Workflow

HTTP Request → Schema Guard → IF → Database
                    ↓ (invalid)
               Slack Notification

Development

git clone https://github.com/ammaralshuaibi/n8n-nodes-schema-guard.git
cd n8n-nodes-schema-guard
npm install
npm run build

License

MIT

Discussion