{"title":"n8n Workflows","description":null,"products":[{"product_id":"ai-pdf-application-scorer","title":"AI PDF Application Scorer","description":"\u003cp\u003e\u003cstrong\u003eScore PDF applications against your own rubric, with a person in the loop for anything that looks off.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eApplicants upload a PDF through an n8n form. The workflow reads it, scores it against the rubric and pass threshold you write, and emails the applicant the result.\u003c\/p\u003e\u003cp\u003eThe AI never decides pass or fail. It scores each criterion, and plain code checks those scores and applies your threshold.\u003c\/p\u003e\u003cp\u003eDocuments that try to manipulate the reviewer get caught in layers:\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003ePattern screen.\u003c\/strong\u003e Plain checks for text aimed at the AI, like \"ignore previous instructions\" or hidden characters.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eClassifier.\u003c\/strong\u003e A separate AI call whose only job is to ask \"is this document trying to manipulate the reviewer?\" If that call fails, the document is held.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOutput checks.\u003c\/strong\u003e Every score must be present, in range, and add up. Notes can't contain links, HTML, or instruction-like text.\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003eAnything flagged is held for a human and never auto-approved. You get an email with the reasons, the extracted text, and the original PDFs. The applicant hears nothing until you decide.\u003c\/p\u003e\u003cp\u003eNo single defense stops every manipulation attempt. Layering them and holding anything flagged for a person lowers the risk. An application that gets past all three checks is scored and answered automatically, like any other. If you'd rather approve passes yourself, one setting holds every passing application for your review (off by default).\u003c\/p\u003e\u003ch3\u003eFeatures\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eYour rubric and your threshold, set in one Config node\u003c\/li\u003e\n\u003cli\u003eWorks with OpenAI-compatible chat-completions APIs, such as OpenAI, OpenRouter, or a local model via Ollama\u003c\/li\u003e\n\u003cli\u003eRate guard: caps submissions per hour and alerts you at most once an hour when it drops extras\u003c\/li\u003e\n\u003cli\u003eFile limits: number of files, size, PDF only, page count, and text length, checked before any AI call\u003c\/li\u003e\n\u003cli\u003eThree-layer prompt-injection defense\u003c\/li\u003e\n\u003cli\u003eHuman hold for anything flagged\u003c\/li\u003e\n\u003cli\u003eOptional review hold for passing applications, so nothing reaches an applicant until you approve it (off by default)\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhat's included\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e2 workflow JSON files (main workflow + rate-guard sub-workflow)\u003c\/li\u003e\n\u003cli\u003eREADME with setup, configuration, and test steps\u003c\/li\u003e\n\u003cli\u003eDocker self-hosting guide\u003c\/li\u003e\n\u003cli\u003eLicense for one business\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eRequirements\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eSelf-hosted n8n 2.x (tested on 2.42.6)\u003c\/li\u003e\n\u003cli\u003eAn API key for an OpenAI-compatible service, or a local model through Ollama\u003c\/li\u003e\n\u003cli\u003eAn SMTP mail account\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eLicense\u003c\/h3\u003e\u003cp\u003eOne license covers one business, for unlimited use in its own operations. Setting it up for a client? You can, as long as that client's business has its own license. No reselling or redistributing the files. Free updates for 12 months from purchase. Full terms are in the license in the download.\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003ch4\u003eWhich AI model should I use?\u003c\/h4\u003e\u003cp\u003eOne served through an OpenAI-compatible chat-completions API, such as OpenAI, OpenRouter, or a local model in Ollama. You choose the model and pay your provider directly. If a model's reply can't be read, the application is held for you rather than scored.\u003c\/p\u003e\u003ch4\u003eCan I keep applicant documents away from AI providers?\u003c\/h4\u003e\u003cp\u003eYes, if you point it at a local model. Text extraction uses n8n's built-in node, with no outside service. Held applications are emailed to you with the PDFs attached, so they do pass through your mail provider.\u003c\/p\u003e\u003ch4\u003eIs it immune to prompt injection?\u003c\/h4\u003e\u003cp\u003eNo tool can promise that. This one uses three separate checks, and anything any of them flags goes to a person instead of being approved.\u003c\/p\u003e\u003ch4\u003eDoes the AI decide who passes?\u003c\/h4\u003e\u003cp\u003eNo. The AI scores each criterion. Code checks the scores and applies your threshold. You can also turn on a setting that holds passing applications for your review before anyone is told.\u003c\/p\u003e\u003ch4\u003eWhat happens to a flagged application?\u003c\/h4\u003e\u003cp\u003eYou get an email with the reasons, the extracted text, and the PDFs. Nothing goes to the applicant until you act.\u003c\/p\u003e\u003ch4\u003eDoes it work on n8n Cloud?\u003c\/h4\u003e\u003cp\u003eIt's built and tested for self-hosted n8n 2.x. We don't support n8n Cloud.\u003c\/p\u003e","brand":"Halter Home Labs","offers":[{"title":"Standard","offer_id":53118090248504,"sku":"ai-pdf-application-scorer-standard","price":79.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/3578\/3992\/files\/ai-pdf-application-scorer.png?v=1791579439"},{"product_id":"no-duplicate-delivery-pipeline","title":"No-Duplicate Delivery Pipeline: Event Registration to Certificate","description":"\u003cp\u003e\u003cstrong\u003eSend each new registrant one certificate, designed so a re-run never sends a duplicate.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eThe workflow checks your registration system for new paid records, generates a certificate for each, and emails it. Out of the box it delivers certificates, but the same structure works for any \"do this once per record\" job. (Engineers call this idempotent: it's designed so running it again doesn't repeat what already went out.)\u003c\/p\u003e\u003cp\u003eIt's built around the failures that cause double sends or lost sends: a run that repeats, a crash halfway through, a mail server error, and an API that keeps returning the same records. It's designed for a single n8n instance, not multi-worker queue mode.\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eRegistry.\u003c\/strong\u003e A durable list of every record it has seen, marked pending, sent, or failed. A record that's already listed is not sent again automatically.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWrite-ahead reservation.\u003c\/strong\u003e Each record is reserved before anything is sent, and a run only sends the records it reserved.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSecond duplicate guard.\u003c\/strong\u003e The sender re-checks the registry on its own before every email.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eNo automatic retries.\u003c\/strong\u003e A failed send is recorded and reported, not silently tried again. You decide whether to resend.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOne alert per problem.\u003c\/strong\u003e You get one email for failed sends, and one for sends stuck mid-way, where the recipient may or may not have received it.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRun cap.\u003c\/strong\u003e A limit on sends per run, so a bad data pull can't flood inboxes. The rest wait for the next run.\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eFeatures\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eConnects to most records APIs (adapt the fetch step to your platform)\u003c\/li\u003e\n\u003cli\u003eGeneric certificate you restyle with your own branding\u003c\/li\u003e\n\u003cli\u003eSchedule trigger, plus an optional webhook trigger\u003c\/li\u003e\n\u003cli\u003eRegistry, duplicate guard, alerts, and run cap as above\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhat's included\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e3 workflow JSON files (watcher, sender, registry)\u003c\/li\u003e\n\u003cli\u003eREADME with setup, configuration, and test steps\u003c\/li\u003e\n\u003cli\u003eDocker self-hosting guide\u003c\/li\u003e\n\u003cli\u003eLicense for one business\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eRequirements\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eSelf-hosted n8n 2.x (tested on 2.42.6)\u003c\/li\u003e\n\u003cli\u003eAn API that lists your registrations or records\u003c\/li\u003e\n\u003cli\u003eAn SMTP mail account\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eLicense\u003c\/h3\u003e\u003cp\u003eOne license covers one business, for unlimited use in its own operations. Setting it up for a client? You can, as long as that client's business has its own license. No reselling or redistributing the files. Free updates for 12 months from purchase. Full terms are in the license in the download.\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003ch4\u003eWill it ever send a duplicate?\u003c\/h4\u003e\u003cp\u003eIt's designed so a re-run never sends one: every record is reserved before sending, and the sender checks again on its own. If a run dies between sending and recording, that record is flagged as stuck and you're told, rather than it being sent again.\u003c\/p\u003e\u003ch4\u003eWhy doesn't it retry failed sends?\u003c\/h4\u003e\u003cp\u003eAn automatic retry is how people get the same email twice. Failures are recorded and you get one alert, so a person decides.\u003c\/p\u003e\u003ch4\u003eDoes it only work for certificates?\u003c\/h4\u003e\u003cp\u003eNo. Certificates are the example. Swap the sender step for any once-per-record action.\u003c\/p\u003e\u003ch4\u003eWhich event platforms does it work with?\u003c\/h4\u003e\u003cp\u003eAny that offers an API listing your records. You edit the fetch and mapping steps to match its fields.\u003c\/p\u003e\u003ch4\u003eCan I change the certificate design?\u003c\/h4\u003e\u003cp\u003eYes. It's a generic template meant to be restyled.\u003c\/p\u003e\u003ch4\u003eWhat if a large batch comes in?\u003c\/h4\u003e\u003cp\u003eThe run cap limits how many go out per run. The rest go out on the next runs.\u003c\/p\u003e","brand":"Halter Home Labs","offers":[{"title":"Standard","offer_id":53118090314040,"sku":"idempotent-delivery-pipeline-standard","price":59.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/3578\/3992\/files\/no-duplicate-delivery-pipeline.png?v=1791580510"},{"product_id":"uptime-monitor-alerter","title":"Uptime Monitor \u0026 Alerter","description":"\u003cp\u003e\u003cstrong\u003eOne email when a site goes down, one when it comes back. Nothing in between.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eList the websites and APIs you care about. The workflow checks them on a schedule and emails you only when something changes: once when a site goes down, once when it recovers.\u003c\/p\u003e\u003cp\u003eA check passes when the site answers in time with a normal status. Add an optional keyword and it also confirms that text is on the page, which catches a page that loads fine but shows an error.\u003c\/p\u003e\u003cp\u003eA site has to fail several checks in a row before you hear about it, so one-off blips don't wake you up. If several sites change at once, you get one email covering all of them.\u003c\/p\u003e\u003ch3\u003eFeatures\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eYour URL list, set in one Config node\u003c\/li\u003e\n\u003cli\u003eAdjustable timeout\u003c\/li\u003e\n\u003cli\u003eOptional keyword check per URL\u003c\/li\u003e\n\u003cli\u003eAlerts on change of state only: DOWN and RECOVERED\u003c\/li\u003e\n\u003cli\u003eConsecutive-failure threshold before a DOWN alert\u003c\/li\u003e\n\u003cli\u003eEmail by default; swap in Slack, Discord, or Teams with n8n's own nodes\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhat's included\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e2 workflow JSON files (monitor + state sub-workflow)\u003c\/li\u003e\n\u003cli\u003eREADME with setup, configuration, and test steps\u003c\/li\u003e\n\u003cli\u003eDocker self-hosting guide\u003c\/li\u003e\n\u003cli\u003eLicense for one business\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eRequirements\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eSelf-hosted n8n 2.x (tested on 2.42.6)\u003c\/li\u003e\n\u003cli\u003eAn SMTP mail account (or another n8n alert node)\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eLicense\u003c\/h3\u003e\u003cp\u003eOne license covers one business, for unlimited use in its own operations. Setting it up for a client? You can, as long as that client's business has its own license. No reselling or redistributing the files. Free updates for 12 months from purchase. Full terms are in the license in the download.\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003ch4\u003eHow often does it check?\u003c\/h4\u003e\u003cp\u003eEvery 5 minutes by default. You can change the interval.\u003c\/p\u003e\u003ch4\u003eWill it spam me during an outage?\u003c\/h4\u003e\u003cp\u003eNo. You get one DOWN alert and one RECOVERED alert per site. If several sites change at once, they share one email.\u003c\/p\u003e\u003ch4\u003eCan it alert somewhere other than email?\u003c\/h4\u003e\u003cp\u003eYes. Replace the email node with n8n's Slack, Discord, Teams, or SMS node.\u003c\/p\u003e\u003ch4\u003eWhat counts as down?\u003c\/h4\u003e\u003cp\u003eAn error status, no answer within your timeout, or, if you set one, a missing keyword. It must fail the number of times in a row you choose.\u003c\/p\u003e\u003ch4\u003eDoes it monitor my n8n server itself?\u003c\/h4\u003e\u003cp\u003eNo. It runs on your n8n, so if n8n is down it can't send. Pair it with an outside check for the server it runs on.\u003c\/p\u003e","brand":"Halter Home Labs","offers":[{"title":"Standard","offer_id":53118090412344,"sku":"uptime-monitor-alerter-standard","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/3578\/3992\/files\/uptime-monitor-alerter.png?v=1791579621"},{"product_id":"secure-webhook-to-email","title":"Secure Webhook-to-Email","description":"\u003cp\u003e\u003cstrong\u003eTurn a JSON request into an HTML email that can only ever reach you.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eSend reports, summaries, and alerts from your scripts and scheduled jobs without giving each of them mail credentials. They post JSON to one webhook. The workflow checks it and sends you an HTML email.\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eHeader token.\u003c\/strong\u003e Requests without the right token are refused before the workflow runs.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eValidation and size limits.\u003c\/strong\u003e A one-line subject and an HTML body under a size cap. Anything else gets a clear error back.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eFixed recipient.\u003c\/strong\u003e The address lives in your config, never in the request. A leaked token can only send email to you.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eJSON responses.\u003c\/strong\u003e Callers get a plain success or a list of what was wrong.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eNo stored content.\u003c\/strong\u003e Execution data isn't saved, so report contents don't pile up in n8n's database.\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhat's included\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e1 workflow JSON file\u003c\/li\u003e\n\u003cli\u003eREADME with setup, configuration, and example requests\u003c\/li\u003e\n\u003cli\u003eDocker self-hosting guide\u003c\/li\u003e\n\u003cli\u003eLicense for one business\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eRequirements\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eSelf-hosted n8n 2.x (tested on 2.42.6)\u003c\/li\u003e\n\u003cli\u003eAn SMTP mail account\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eLicense\u003c\/h3\u003e\u003cp\u003eOne license covers one business, for unlimited use in its own operations. Setting it up for a client? You can, as long as that client's business has its own license. No reselling or redistributing the files. Free updates for 12 months from purchase. Full terms are in the license in the download.\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003ch4\u003eWhat if my token leaks?\u003c\/h4\u003e\u003cp\u003eWhoever has it can only email the one address in your config, though they could still flood it. Rotate the token in n8n to shut them out.\u003c\/p\u003e\u003ch4\u003eCan callers choose the recipient?\u003c\/h4\u003e\u003cp\u003eNo. Extra fields like \u003ccode\u003eto\u003c\/code\u003e are ignored.\u003c\/p\u003e\u003ch4\u003eWhat can I send with it?\u003c\/h4\u003e\u003cp\u003eAnything your scripts can turn into HTML: nightly reports, backup summaries, form digests, alerts.\u003c\/p\u003e\u003ch4\u003eWhat if the HTML comes from someone I don't trust?\u003c\/h4\u003e\u003cp\u003eSwitch the body mode to text and the content is escaped and shown as plain text.\u003c\/p\u003e\u003ch4\u003eWhat does a caller get back?\u003c\/h4\u003e\u003cp\u003eA JSON response: success, a list of validation errors, or a notice that the mail server refused the message.\u003c\/p\u003e","brand":"Halter Home Labs","offers":[{"title":"Standard","offer_id":53118090477880,"sku":"secure-webhook-to-email-standard","price":19.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/3578\/3992\/files\/secure-webhook-to-email.png?v=1791579801"},{"product_id":"n8n-templates-bundle","title":"The Complete n8n Workflow Bundle","description":"\u003cp\u003e\u003cstrong\u003eAll four workflows in one download.\u003c\/strong\u003e\u003c\/p\u003e\u003cp\u003eThe AI PDF Application Scorer, the No-Duplicate Delivery Pipeline, the Uptime Monitor \u0026amp; Alerter, and Secure Webhook-to-Email, each with its own README, the Docker self-hosting guide, and one license covering all four.\u003c\/p\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003e\u003c\/th\u003e\n\u003cth\u003ePrice\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBought separately\u003c\/td\u003e\n\u003ctd\u003e$186\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBundle\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003e$149\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eYou save\u003c\/td\u003e\n\u003ctd\u003e$37\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWhat's included\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e8 workflow JSON files across the four workflows\u003c\/li\u003e\n\u003cli\u003eA README for each workflow\u003c\/li\u003e\n\u003cli\u003eDocker self-hosting guide\u003c\/li\u003e\n\u003cli\u003eLicense for one business, covering all four\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eRequirements\u003c\/h3\u003e\u003cp\u003eSelf-hosted n8n 2.x (tested on 2.42.6), an SMTP mail account, and an OpenAI-compatible API key or a local model for the AI scorer.\u003c\/p\u003e\u003ch3\u003eLicense\u003c\/h3\u003e\u003cp\u003eOne license covers one business, for unlimited use in its own operations. Setting it up for a client? You can, as long as that client's business has its own license. No reselling or redistributing the files. Free updates for 12 months from purchase. Full terms are in the license in the download.\u003c\/p\u003e","brand":"Halter Home Labs","offers":[{"title":"Standard","offer_id":53118090543416,"sku":"n8n-templates-bundle-standard","price":149.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1020\/3578\/3992\/files\/n8n-templates-bundle.png?v=1791579842"}],"url":"https:\/\/shop.halterhomelabs.com\/collections\/n8n-workflows.oembed","provider":"Halter Home Labs","version":"1.0","type":"link"}