Testing n8n Webhook Input Differences Across Execution LayersTesting n8n Webhook Input Differences Across Execution Layers
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Unit tests can pass while your webhook receives a different input.
In a self-initiated n8n 2.46.6 demo, the direct function rejected JSON null with OBJECT_REQUIRED. The loopback HTTP route converted null to {} before the Code node, so it rejected the request with UNSUPPORTED_SCHEMA instead.
Both paths rejected the input, but the transport changed what the mapping code received.
I tested the same 49 synthetic fixtures at three layers: direct JavaScript, native n8n execution, and loopback HTTP. The documented HTTP expectation accounts for that null-body conversion. Two additional transport checks passed too.
The lesson: test the request path as well as the function, and document intentional differences instead of hiding them behind one green total.
AI-assisted demonstration, not client work. The webhook has no authentication or signature verification and must stay isolated.
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started