How it works Send a POST request with a JSON array of records and your validation rules. The workflow checks every field in every row and returns a structured report showing valid/invalid rows with specific error messages. Supported rules: required, type (string, number, email, date, url, boolean), min/max, minLength/maxLength, regex, enum, and dateFormat (YYYY-MM-DD, DD.MM.YYYY, MM/DD/YYYY). The response includes a summary (total, valid, and invalid row counts) plus a detailed error list with row number, field name, failed rule, and error message. Set up steps Import the workflow and activate it Send a POST request to the webhook URL with "data" (array of objects) and "rules" (validation config) Optionally edit the Set Default Rules node to define fallback rules — these are used when no rules are sent in the request No external services or API keys required. Works on self-hosted and cloud n8n instances. Who is this for Operations teams, data engineers, and anyone importing data into ERP systems, CRMs, or databases who needs to catch errors before bad data enters the system. How to customize Edit the Set Default Rules node for your standard field definitions.
Tags
Related workflows
See all General Automation→Generate daily LinkedIn B2B leads with DataForB2B and LinkUp
Quick overview Automate B2B lead generation on autopilot: every weekday morning, DataForB2B finds fresh leads matching your ICP (800M+ profiles, 50+ filters), skips anyone already contacted, and sends up to 10 personalized LinkedIn connection requests per day via LinkUp API - with safe, human-like limits. How it works Runs every weekday at 9:00 AM using a schedule trigger. Searches for people matching your ICP in DataForB2B (for example, “Head of Sales” in the United States) and returns up to 25 results. Normalizes the lead data into consistent fields such as LinkedIn profile URL, name, title, company, and location. Skips leads whose LinkedIn URLs were already processed in previous executions to avoid re-contacting the same profiles. Limits the list to a daily cap of 10 leads. Sends a personalized connection request for each remaining lead using the LinkUp API, continuing even if individual invites fail. Setup Create a DataForB2B API key at app.dataforb2b.ai and adjust the people filters to match your ICP. Get your LinkUp API key at app.linkupapi.com and connect your account in the LinkUp dashboard. Update the schedule (cron expression) if you want a different time or cadence. Cust
Search and preview GIFs with forms and GIPHY
Quick overview This workflow publishes an n8n Form where users enter a search term, queries the GIPHY Search API for the top 9 G-rated GIFs, and renders the results as a clickable HTML gallery on the form completion page with copy-to-clipboard links. How it works Receives a submission from an n8n Form at the gif-finder path with a required query field. Calls the GIPHY Search API with the submitted query, limiting results to 9 GIFs and filtering to G-rated content. Transforms the GIPHY response into responsive HTML that shows a grid of GIF thumbnails and a fallback message when no results are returned. Displays the generated HTML on the form completion page so users can click any GIF to copy its direct URL to the clipboard. Setup Create a GIPHY developer app and generate an API key. Add an HTTP Query Auth credential and set the api_key value to your GIPHY API key, then select it in the HTTP Request that calls GIPHY. Activate the workflow and share the n8n Form URL for the gif-finder form with your users.
Monitor competitor web page changes with HTTP and Slack or Discord
Quick overview This workflow checks a list of competitor web pages every six hours, detects content changes by hashing cleaned page text, and posts a diff-style alert to a Discord or Slack channel via an incoming webhook. How it works Runs every 6 hours on a schedule. Loads a configured list of target competitor page URLs and the destination Discord/Slack webhook URL. Fetches each target page over HTTP with browser-like headers and continues even if a request fails. Converts the fetched HTML into cleaned plain text, stores a baseline on first run, and compares the latest hash against the previously saved version. When a change (or fetch error) is detected, generates a message including the URL and a small list of added/removed lines. Sends the alert message to your Discord or Slack webhook endpoint. Setup Create an incoming webhook in Discord or Slack and paste its URL into the workflow configuration. Update the target list with the competitor page names and URLs you want to monitor. Ensure n8n can persist workflow static data between runs (so change history is retained) and that your instance can reach the target sites over HTTP. Requirements n8n version 1.60+. A Discord or Slack