Skip to content
FlowHubFluxonLab
C
General Automationfree

Secure API Endpoint with Bearer Token Authentication and Field Validation

by Audunadapted from n8n official workflow galleryUpdated Aug 2026
RequiresCCode
Share Post Share
IfCheck Authorization HeaderCheck Authoriza…RT401 UnauthorizedRT200 OKSeConfigurationWeWebhookCoHas required fields?Has required fi…IfCheck Valid RequestCheck Valid Req…RT400 Bad RequestSeCreate ResponseNOAdd workflow nodes hereAdd workflow no…123456789
1/5
STEPS · 9
Starts on an incoming request

A reusable and production-ready n8n workflow that secures public webhooks using Bearer Token authentication and dynamic request validation. ✨ What It Does Verifies Bearer Token** Compares the Authorization header with a configured secret token. Validates Required Fields** Checks that all expected fields are present in the incoming request body. Returns Standardized JSON Responses** 401 Unauthorized if token is missing or invalid 400 Bad Request if required fields are missing 200 OK with a custom success payload 👤 Who It’s For Developers exposing n8n workflows as APIs No-code/low-code builders integrating with external forms or tools Anyone needing simple authentication and validation on incoming webhooks 💡 Why Use It 🔒 Secure: Prevents unauthorized access to your public workflows 🧼 Clean: Centralized configuration for token and required fields ⚙️ Flexible: Easy to extend and customize for any use case 🛠 Setup Instructions Configure Values in the Configuration Node Set your secret token: config.bearerToken = YOUR_TOKEN Define required request fields by key: Example: config.requiredFields.message = true; config.requiredFields.email = true; ✅ Only the keys matter – values can be

Tags

n8nreference-only
Connects
CCode
CategoryGeneral Automation
Triggermanual
Complexitycomplex
Nodes10
AddedMay 10, 2025
CW
free

Poll and download received invoice PDFs with KSeF Gateway to disk storage

Quick overview This workflow runs every 20 minutes to poll a self-hosted KSeF Gateway for newly received KSeF invoices, maintains a cursor checkpoint in n8n static data, downloads each new invoice PDF via the gateway API, and saves the files to local disk. How it works Runs every 20 minutes on a schedule. Reads the last successful polling checkpoint from the workflow’s static data and calls the KSeF Gateway /ksef/invoices/received/new endpoint with the since cursor. If the gateway response is unsuccessful, records the error details for alerting and leaves the checkpoint unchanged so the next run retries the same window. If the response is successful, stores the returned nextSince value as the new checkpoint. If new invoices are returned, processes each invoice summary individually. Downloads each invoice PDF from the KSeF Gateway /ksef/invoice/{ksefNumber}/pdf endpoint and saves it to the configured local folder. Outputs invoice metadata (number, seller, amount, and saved file path) as a placeholder where you can plug in notifications (Slack, email, or Discord). Setup Deploy and configure a self-hosted KSeF Gateway (https://github.com/jurczykpawel/ksef-gateway) with a token or cert

by Pawel Jurczyk
CW
free

Create KSeF invoices from completed Sellf purchases via KSeF Gateway

Quick overview This workflow receives signed Sellf purchase webhooks, validates the HMAC signature, and when the buyer requests an invoice with a NIP it builds a KSeF-ready invoice and submits it to a self-hosted KSeF Gateway, capturing the returned KSeF number or an error. How it works Receives a POST webhook from Sellf with the raw request body and the X-Sellf-Signature header. Verifies the webhook signature using HMAC-SHA256 and rejects the request with a 401 response if the signature is invalid. Responds immediately with a JSON OK response and continues processing in the background. Filters the event to purchase.completed and extracts the customer, order, and invoice details from the webhook payload. Continues only if the customer requested an invoice and provided a non-empty NIP. Builds a KSeF invoice payload using your seller details and the purchase data, then posts it to your KSeF Gateway /ksef/invoice endpoint with an X-Api-Key header. Stores the KSeF submission result by extracting the ksefNumber and status on success, or capturing the returned error details on failure. Setup Set up Sellf webhooks to send purchase.completed events to this workflow’s production webhook URL

by Pawel Jurczyk
CW
free

Send signed WooCommerce orders to KSeF via a self-hosted KSeF Gateway

Quick overview This workflow receives WooCommerce order webhooks, verifies the WooCommerce signature, converts eligible orders into a KSeF invoice payload, and submits them to a self-hosted KSeF Gateway API, skipping consumer orders that do not include a buyer NIP. How it works Receives a WooCommerce order webhook request and keeps the raw request body for signature validation. Verifies the X-WC-Webhook-Signature HMAC against your shared webhook secret and rejects invalid requests with a 401 response. Extracts the buyer NIP from WooCommerce order meta data and maps the order (seller, buyer, line items, VAT rates, and payment details) into a KSeF invoice payload. Skips processing and responds to WooCommerce with a success message when the order has no buyer NIP (consumer purchase). Sends the invoice payload to your self-hosted KSeF Gateway endpoint over HTTP with an X-Api-Key header. Responds to WooCommerce with the resulting KSeF number (when available) or an error from the gateway. Setup Deploy a KSeF Gateway instance and note its base URL. Update the workflow configuration values for the gateway URL and API key, seller NIP/name/address, and the WooCommerce webhook secret. In WooC

by Pawel Jurczyk