Back to Catalog
Paolo Ronco

Paolo Ronco

Cybersecurity Analyst passionate about automation, cloud, and infrastructure. Since discovering n8n, I automate everything I can: workflows, processes, integrations, and repetitive tasks. I love building, optimizing, and making systems more secure, faster, and scalable.

Total Views3,334
Templates6

Templates by Paolo Ronco

Create and send tech news digests with RSS, Gemini AI and Gmail

This workflow automates the entire lifecycle of collecting, filtering, summarizing, and delivering the most important daily news in technology, artificial intelligence, cybersecurity, and the digital industry. It functions as a fully autonomous editorial engine, combining dozens of RSS feeds, structured data processing, and an LLM (Google Gemini) to transform a large volume of raw articles into a concise, high–value daily briefing delivered straight to your inbox. Read: Full setup Guide --- ✅ 1. Scheduled Automation The workflow begins with a Schedule Trigger, which runs at predefined intervals. Every execution generates a fresh briefing that reflects the most relevant news from the past 24 hours. --- ✅ 2. Massive Multi-Source RSS Collection The workflow gathers content from over 25 curated RSS feeds covering: 🔐 Cybersecurity (The Hacker News, Krebs on Security, SANS, CVE feeds, Google Cloud Threat Intelligence, Cisco Talos, etc.) 🤖 Artificial Intelligence (Google Research, MIT News, AI News, OpenAI News) 💻 Technology & Digital Industry (Il Sole 24 Ore, Cybersecurity360, Graham Cluley, and more) ⚙️ Nvidia Ecosystem (Nvidia Newsroom, Nvidia Developer Blog, Nvidia Blog) Each RSS feed is handled by a dedicated node, which ensures: source isolation easier debugging no single point of failure The feeds are grouped using category-specific Merge nodes (Cyber1/2/3, AI, Nvidia), enabling modular scalability. --- ✅ 3. Unified Feed Aggregation All category merges feed into the Merge_All node, creating a single combined dataset of articles from every source. --- ✅ 4. Intelligent Filtering (last 24 hours only) The Filter node removes: articles older than 24 hours (based on isoDate) invalid items duplicated or redundant entries This keeps the briefing strictly relevant to the current day. --- ✅ 5. Chronological Sorting The Sort – Articles by Date node orders all remaining items in descending date order. More recent or time-sensitive news is therefore prioritized. --- ✅ 6. Data Normalization (JavaScript Code) A dedicated Code node transforms all incoming items into one clean JSON object: json { "articles": [ { "title": "...", "content": "...", "link": "...", "isoDate": "..." } ] } This standardized structure becomes the input for the LLM summarization stage. --- ✅ 7. AI Editorial Processing – Google Gemini The node LLM – News Summarizer is the workflow’s editorial brain. A complex prompt instructs Gemini to behave like the editor-in-chief of a major tech newspaper, enforcing strict rules: Selection rules: choose only 8–10 truly important stories ignore low-value content (minor product releases, clickbait, rumors…) Relevance criteria: AI research & foundation models Big Tech developments cybersecurity incidents regulation and digital policy semiconductors, cloud, and infrastructure digital rights, governance, sovereignty Deduplication: If multiple feeds report the same story, only one version is kept. Output format: Gemini must output a valid JSON object containing: subject: the email subject line html: a fully structured HTML body grouped into categories Each news item ends with a clickable HTML source link, NEVER plaintext URLs. This step condenses dozens of articles into a polished, editorial-grade briefing. --- ✅ 8. HTML Newsletter Assembly (Code Node) The Build Final Newsletter HTML node: safely parses the JSON from the LLM cleans any json fences or extra text validates subject and html fields embeds the content into a modern, responsive HTML email template The output is a single item containing: the final email subject the final HTML body Ready to be sent. --- ✅ 9. Automatic Email Delivery The Send Final Digest Email (Gmail node): uses the generated subject sends the curated HTML newsletter delivers it to the configured recipient(s) uses a custom sender name (“n8n News”) The result is a fully automated Tech & AI Daily Briefing delivered with zero manual effort. --- In Summary: What This Workflow Achieves ✔ Collects news from 25+ high-quality RSS sources ✔ Normalizes, filters, and sorts all items automatically ✔ Uses Google Gemini to select only the stories that truly matter ✔ Generates a coherent, readable, professional-looking HTML newsletter ✔ Sends the result via email every day Perfect for: daily executive briefings technology and cybersecurity monitoring automated newsletter production internal knowledge distribution competitive intelligence workflows

Paolo RoncoBy Paolo Ronco
2618

Automatic email invoice archiving & data extraction with Gmail, Drive & AI

Automated Invoice Archiving Automatically fetch, store, and extract key information from invoices received via email from your ISP or utility provider (electricity, gas, telecom, water, etc.).The workflow saves the invoices to Google Drive (or optionally to your personal FTP/SFTP server) and logs all invoice details into Google Sheets via AI-powered extraction. Read: Full setup Guide How it works Scheduled TriggerRuns the workflow at a selected interval (e.g., every hour). You can freely adjust the timing. Gmail – Fetch MessagesReads your Gmail inbox and retrieves only messages coming from your ISP/utility provider’s email address, filtering for messages with PDF attachments. Gmail – Download Invoice Fetches the full email content and downloads the attached invoice (PDF). Google Drive – Upload File Uploads the invoice into a specific Google Drive folder of your choice. (Optional) Upload to FTP/SFTP Sends a copy of the invoice to your personal server via secure FTP/SFTP. AI Extraction Pipeline Extract PDF Text – converts the PDF into text (OCR not required if text-based). AI Agent (OpenRouter) – understands the invoice content and extracts structured fields (invoice number, date, provider name, total amount, tax info, line items, etc.) Code Node – sanitizes and parses the JSON from the AI model. Google Sheets – Append Invoice DataAdds a new row to your Google Sheet with all parsed invoice fields. (Optional) CleanupAutomatically deletes:– the Gmail message– the temporary file in Google Drive(Useful when you only want your FTP or Sheets copy.) Parameters to configure | Parameter | Description | Recommended configuration | | --- | --- | --- | | Gmail Credentials | OAuth2 credentials needed to read and delete emails. | Create OAuth credentials on Google Cloud → enable Gmail API → paste Client ID & Secret into n8n → “Connect OAuth2”. | | Sender Email Filter | Email address your provider uses to send invoices. | Example: billing@your-isp.com, invoices@utility.it, ciao@octopusenergy.it | | Google Drive Folder | Destination folder for saving invoices. | Copy the folder ID from the Drive URL and paste it into folderId. | | Google Drive Credentials | OAuth2 connection for file uploads/deletions. | Same Google Cloud project → enable Drive API → OAuth connect in n8n. | | FTP/SFTP Server (optional) | Upload invoices to your private server. | Host / IP · Port · Username · Password or SSH Key · Destination path (e.g. /home/user/invoices/). | | AI Model (OpenRouter) | Large-language model used to parse invoice text. | Example: gpt-4.1, llama-3.1, or any preferred OpenRouter model. | | Google Sheets Document | Destination spreadsheet for structured data. | Create a Sheet → add columns (Vendor, Invoice Number, Date, Amount, Service Type, etc.) → insert documentId & sheet name. | | Sheets Credentials (Service Account) | Used for writing into Google Sheets. | Create Service Account → download JSON → add to n8n → share the Sheet with the Service Account email. | | Trigger Interval | How often the workflow checks for new invoices. | Every hour · every 30 minutes · daily at set ti | Node-by-node breakdown Schedule Trigger Runs at the interval you choose (default: hourly).Start → triggers entire workflow. Gmail – Get Many Messages Filters inbox items using: Sender email (your ISP/utility address) Has attachment Unread or recent messages Downloads metadata + attachment references. Filter – Contains Attachment Ensures only messages with binary attachments continue. Gmail – Get Invoice Downloads: Full email JSON The invoice PDF (binary data) Google Drive – Upload File Uploads invoice PDF with a dynamic filename: {{ $json.from.value[0].name }}-{{ $json.date }}.pdf Requires: Google Drive OAuth2 credentials Folder ID (destination directory) HTTP Request – Download File Retrieves the raw PDF file from Google Drive for further processing. (Optional) FTP/SFTP Upload Uploads the PDF to your server using: Host / IP Port (default 22) Username Password or private key Destination path Filename is sanitized to ensure Unix compatibility. (Optional) Delete Temporary File Deletes the Google Drive file if you don’t want duplicates. (Optional) Delete Gmail Message Removes the original email once processed (optional inbox cleanup). Extract from File (PDF → Text) Reads the PDF and extracts raw text for AI processing. OpenRouter Chat Model LLM backend for the AI agent. Provides: invoice parsing field extraction structured reasoning AI Agent – Extract Invoice Fields The agent is instructed to return strict JSON only, containing keys such as: vendor_name invoice_number invoice_date total_amount tax_details line_items[] po_number po_date Works for most standard PDF invoices. Code – Clean & Parse JSON Sanitizes the AI output: Removes markdown fences Extracts valid JSON Parses into a clean JS object If the AI output is malformed, debugging info is returned. Google Sheets – Append Data Appends the extracted fields into a structured row.Example mappings: Vendor → {{ $json.vendor_name }} Invoice Number → {{ $json.invoice_number }} Date → {{ $json.invoice_date }} Amount → {{ $json.total_amount }} Service Type → {{ $json.line_items[0].description }} 💡 Tips & best practices Add multiple sender filters if you have more than one utility provider. Ensure invoices are text-based PDFs for best extraction results. Use Google Drive as a reliable long-term archive, or keep only FTP if you prefer local storage. Create charts in Google Sheets for tracking: Monthly utility cost trends Year-over-year comparison Consumption spikes (if included in invoices) ⚠️ Important notes Utility invoices contain personal and financial data. Keep your FTP/SFTP server secure. Google APIs require proper OAuth2 or Service Account setup; misconfiguration may cause permission errors. This workflow is for personal automation, not a replacement for official fiscal archiving. AI extraction quality depends on invoice formatting and the model you choose.

Paolo RoncoBy Paolo Ronco
328

Automated digital certificate creator & validator with PDF generation

A complete workflow to create, send, and verify digital certificates fully automated with n8n.Perfect for courses, events, onboarding, internal training, or product education. Visit my website for the: full deploy guide) See my Templates on Github: paoloronco/n8n-templates) Example-certificate ✔ 1. Certificate Generation When a POST webhook request arrives, the workflow: reads name, surname, course, and email generates a unique Certification ID saves everything in the Data Table ✔ 2. Data Storage Every issued certificate is recorded in an n8n Data Table containing: Name Surname CertificationID This creates a permanent, searchable certificate registry. ✔ 3. PDF Creation Uses PDF Generator API to create a professional PDF certificate from an HTML template: fully customizable (layout, colors, branding) includes candidate data, course, ID, and date ✔ 4. Email Delivery The workflow automatically sends the certificate to the recipient using Gmail OAuth2 with: a predefined subject the PDF attached a customizable message ✔ 5. Verification System A public endpoint /certificationscheck allows: validation of Certification IDs returning the candidate’s name and surname if valid responding with ok: true/false ✔ 6. Included Mini Verification Website A ready-to-use HTML file allows users to: enter a Certification ID verify its authenticity view name and surname if the certificate exists Fully customizable (CSS, texts, branding). 🛠 Requirements Before using this workflow, you must have: n8n Data Table with ID fields: Name (string) Surname (string) CertificationID (string) PDF Generator API accountCredentials set in n8n as pdfGeneratorApi. Gmail OAuth2 credentialsConfigured in n8n as gmailOAuth2. Ability to call HTTP POST endpoints from your website, backend, forms, etc. 🚀 Installation Import workflow In n8n: Go to Workflows → Import Paste the JSON provided in this repository Configure Data Table Update the following nodes to point to your Data Table: Insert_Certificaton FindCertificationBy_ID FindCertificationBy_ID1 Make sure the Data Table has the fields: | Field | Type | | --- | --- | | Name | string | | Surname | string | | CertificationID | string | Configure Credentials In the workflow: Node Generate_PDF → set PDF Generator API credentials Node Email_Certification → set Gmail OAuth2 credentials Activate Workflow Click Activate in n8n. 🔧 How the Workflow Works 🧩 1. Webhook /certifications Receives candidate data and triggers the workflow. POST https://YOUR-N8N-DOMAIN.com/webhook/certification Headers: name: John surname: Doe course: email: john.doe@example.com 🧩 2. Unique ID Generation A Code node creates a random alphanumeric ID.If it already exists, a new one is generated. 🧩 3. Data Table Insert Stores the certificate data for future lookup. 🧩 4. PDF Generation Builds a PDF from the (fully editable) HTML template. 🧩 5. Email Sending Delivers the certificate to the candidate. 🔍 Certificate Verification (/certificationscheck) API Behavior Send a POST request https://YOUR-N8N-DOMAIN.com/webhook/certificationcheck with header id: CERTIFICATION-ID. Valid ID: { "ok": "true", "name": "John", "surname": "Doe" } Invalid ID: { "ok": "false" } This request can be made manually (from tools like Postman, cURL, or your backend), or automatically through the HTML verification page included in the GitHub repository (the Cerification_Check.html template) found in your project files

Paolo RoncoBy Paolo Ronco
148

Create & validate digital certificates with PDF Generator API and Gmail

Automated Certificate Creation & Verification (PDF Template-based) 🔍 Overview This n8n workflow provides a complete end-to-end system for creating, distributing, and verifying digital certificates, using PDF Generator API templates instead of raw HTML. It is designed as a production-ready MVP, fully functional and tested, that can be imported and adapted with minimal configuration. The workflow exposes public endpoints to: generate personalized certificates as PDFs assign unique Certification IDs email certificates automatically verify certificate authenticity via API --- 🎯 Typical use cases This workflow is ideal for: training providers and academies online courses and bootcamps internal company certifications workshops and events proof-of-completion documents Any scenario where certificates must be generated automatically and verified reliably. --- ⚙️ What this workflow does 1️⃣ Certificate creation (Webhook) Endpoint POST /certifications2 When triggered, the workflow: Receives candidate data (name, surname, course, email) Generates a unique Certification ID Ensures the ID does not already exist Stores certificate data in an n8n Data Table Generates a PDF using a PDF Generator API template Sends the certificate via email as a PDF attachment --- 2️⃣ PDF generation (Template-based) Instead of HTML, the workflow sends a JSON payload to a predefined PDF template. Example payload: json { "Candidate": "John Doe", "CourseName": "Advanced n8n Automation", "DueDate": "2025-01-10", "ID": "LQ4Z5H8R2A1F" } The PDF layout (fonts, colors, logos, formatting) is fully managed via the PDF Generator API Template UI, keeping the workflow clean and maintainable. --- 3️⃣ Email delivery Uses Gmail OAuth2 Sends a customizable email Attaches the generated certificate PDF automatically --- 4️⃣ Certificate verification Endpoint GET /certificationscheck?id=CERTIFICATION-ID This endpoint: checks if the Certification ID exists returns validation status and candidate info Example response (valid): json { "ok": true, "name": "John", "surname": "Doe" } This enables public, API-based certificate verification. --- 🛠 Requirements Before importing the workflow, you need: n8n instance (cloud or self-hosted) n8n Data Table with the following fields: Name (string) Surname (string) CertificationID (string) PDF Generator API account Gmail OAuth2 credentials Ability to expose webhook endpoints publicly --- 🚀 Setup guide Step 1 – Import the workflow Open n8n Go to Workflows → Import Paste the provided workflow JSON --- Step 2 – Configure the Data Table Create (or reuse) an n8n Data Table with these fields: | Field | Type | | --------------- | ------ | | Name | string | | Surname | string | | CertificationID | string | Update the following nodes to reference your Data Table: Insert_Certification FindCertificationBy_ID FindCertificationBy_ID1 --- Step 3 – Configure PDF Generator API Create a PDF template in PDF Generator API Add placeholders such as: {Candidate} {CourseName} {DueDate} {ID} In n8n, set credentials on the Generate a PDF document node ⚠️ Placeholder names must exactly match the JSON keys used in the workflow. --- Step 4 – Configure email credentials Open the Email Certificate node Set Gmail OAuth2 credentials Customize subject and message body if needed --- Step 5 – Activate the workflow Click Activate Your endpoints are now live: /certifications2 /certificationscheck --- 🧪 Status & notes This workflow is an MVP, but already production-ready Designed to be: modular reusable easy to extend Recommended version for new implementations HTML-based version is kept only for reference/backward compatibility --- 💡 Customization ideas You can easily extend this workflow by: adding QR codes to certificates storing additional metadata integrating with LMS platforms adding a public verification webpage switching email provider

Paolo RoncoBy Paolo Ronco
147

Automate RSS to Instagram with AI-generated content and Cloudinary

What it does Reads and aggregates news from one or more RSS feeds (customizable by category). Uses AI to select the most relevant or engaging articles. Generates a caption and headline with a natural, professional tone. Creates a realistic AI-generated image to match the topic. Uploads the image to Cloudinary and publishes the post directly to Instagram through the Meta Graph API. Runs automatically on schedule (default: every 5 hours) — no manual steps required. Why it’s different Works with any subject or niche, from tech to fashion, news, travel, and more. Includes a guide with curated RSS feed sources by category — ready to plug in. AI-driven content generation for text and visuals, tuned for professional results. Fully automated workflow — from discovery to publishing. Self-hosted and scalable, with no vendor lock-in. What’s included Workflow JSON file (import-ready for n8n). PDF deployment guide (written together), covering: how to set up RSS sources by category; configuring APIs (OpenAI, Cloudinary, Meta Graph); scheduling and testing the workflow; recommended best practices for stability and scaling.

Paolo RoncoBy Paolo Ronco
65

Sync Amazon Luna Prime games to Google Sheets with automatic updates

Amazon Luna Prime Games Catalog Tracker (Auto-Sync to Google Sheets) Automatically fetch, organize, and maintain an updated catalog of Amazon Luna – Included with Prime games.This workflow regularly queries Amazon’s official Luna endpoint, extracts complete metadata, and syncs everything into Google Sheets without duplicates. Ideal for: tracking monthly Prime Luna rotations keeping a personal archive of games monitoring new games appearing on Amazon Games / Prime Gaming, so you can instantly play titles you’re interested in building dashboards or gaming databases powering notification systems (Discord, Telegram, email, etc.) Overview Amazon Luna’s “Included with Prime” lineup changes frequently, with new games added and old ones removed.Instead of checking manually, this n8n template fully automates the process: Fetches the latest list from Amazon’s backend Extracts detailed metadata from the response Syncs the data into Google Sheets Avoids duplicates by updating existing rows Supports all major Amazon regions Once configured, it runs automatically—keeping your game catalog correct, clean, and always up to date. 🛠️ How the workflow works Scheduled Trigger Starts the workflow on a set schedule (default: every 5 days at 3:00 PM).You can change both frequency and time freely. HTTP Request to Amazon Luna Calls Amazon Luna’s regional endpoint and retrieves the full “Included with Prime” catalog. JavaScript Code Node – Data Extraction Parses the JSON response and extracts structured fields: Title Genres Release Year ASIN Image URLs Additional metadata The result is a clean, ready-to-use dataset. Google Sheets – Insert or Update Rows Each game is written into the selected Google Sheet: Existing games get updated New games are appended The Title acts as the unique identifier to prevent duplicates. ⚙️ Configuration Parameters | Parameter | Description | Recommended values | | --- | --- | --- | | x-amz-locale | Language + region | itIT 🇮🇹 · enUS 🇺🇸 · deDE 🇩🇪 · frFR 🇫🇷 · esES 🇪🇸 · enGB 🇬🇧 · jaJP 🇯🇵 · enCA 🇨🇦 | | x-amz-marketplace-id | Marketplace backend ID | APJ6JRA9NG5V4 🇮🇹 · ATVPDKIKX0DER 🇺🇸 · A1PA6795UKMFR9 🇩🇪 · A13V1IB3VIYZZH 🇫🇷 · A1RKKUPIHCS9HS 🇪🇸 · A1F83G8C2ARO7P 🇬🇧 · A1VC38T7YXB528 🇯🇵 · A2EUQ1WTGCTBG2 🇨🇦 | | Accept-Language | Response language | Example: it-IT,it;q=0.9,en;q=0.8 | | User-Agent | Browser-like request | Default or updated UA | | Trigger interval | Refresh frequency | Every 5 days at 3:00 PM (modifiable) | | Google Sheet | Storage output | Select your file + sheet | You can adapt these headers to fetch data from any supported country. 💡 Tips & Customization 🌍 Regional catalogs Duplicate the HTTP Request + Code + Sheet block to track multiple countries (US, DE, JP, UK…). 🧹 No duplicates The workflow updates rows intelligently, ensuring a clean catalog even after many runs. 🗂️ Move data anywhere Send the output to: Airtable Databases (MySQL, Postgres, MongoDB…) Notion CSV REST APIs BI dashboards 🔔 Add notifications (Discord, Telegram, Email, etc.) You can pair this template with a notification workflow.When used with Discord, the notification message can include: game title description or metadata the game’s image, automatically downloaded and attached This makes notifications visually informative and perfect for tracking new Prime titles. 🔒 Important Notes All retrieved data belongs to Amazon. The workflow is intended for personal, testing, or educational use only. Do not republish or redistribute collected data without permission.

Paolo RoncoBy Paolo Ronco
28
All templates loaded