GenAiHub

Workflows

Browse 12,955 Workflows

Workflows Guide

Workflows are deterministic, multi-step pipelines that chain models, tools and agents in a fixed order — the predictable counterpart to an autonomous agent. Each entry records its platform and complexity, so the setup cost is visible before you import it.

145–156 of 12,955

MADIAD logo
Reply to Facebook comments using RAG with Google Drive, Supabase, OpenAI and Postgres
Live

By MADIAD

Quick overview This workflow creates a Facebook Messenger chatbot that answers questions using a Supabase vector knowledge base built from PDFs in Google Drive, using OpenRouter for chat responses, OpenAI embeddings for search, and Postgres for conversation memory while keeping the index synced on file create, update, and delete events. How it works Receives Facebook Messenger webhook requests for verification challenges and echoes the hub_challenge back to Meta. Receives incoming Messenger messages, extracts the sender/page IDs and message text, and ignores messages sent by the page to itself. Uses a LangChain AI Agent with Postgres chat memory to embed the user query with OpenAI and retrieve relevant passages from a Supabase vector store. Generates a grounded answer with an OpenRouter chat model and sends the reply back to the user via the Facebook Graph API. Triggers when a new file is created in a specified Google Drive folder, downloads the PDF, extracts text, chunks it, generates OpenAI embeddings, and inserts the vectors into Supabase. Triggers when a file is updated in a specified Google Drive folder, deletes matching vectors in Supabase, then re-downloads, re-extracts, re-chunks, re-embeds, and re-indexes the updated document. Triggers when a file appears in a designated Drive “Trash” folder, deletes matching vectors from Supabase, and permanently deletes the file from Google Drive. Setup Create a Supabase project with a documents table suitable for vector search (pgvector enabled) and add Supabase credentials (project URL and service key) in n8n. Add OpenAI credentials for embeddings and ensure the embedding model matches your Supabase vector dimensions. Add an OpenRouter API credential (or swap in another n8n-supported chat model) and connect it to the agent. Add Postgres credentials and ensure the database is reachable for storing chat sessions keyed by the Messenger sender ID. Connect Google Drive OAuth credentials and update each Google Drive trigger to watch the correct folders for new, updated, and “Trash” files. Add Facebook Graph API credentials (Page access token), configure the webhook URL and verification token in your Meta Developer App, and confirm the workflow uses the correct Page ID and sender ID when sending replies. An n8n automation workflow template by MADIAD.

N8nUpdated yesterday
Free
No ratings
  • 9 nodes
Workflows
  • Automation
  • AI
Au
Audit security questionnaire answers with Google Sheets and Google Drive evidence
Live

By Hasibul Islam

Quick overview This workflow runs manually or on a schedule to audit the freshness of security-questionnaire answers stored in Google Sheets by checking linked Google Drive evidence metadata, updating answer and evidence status fields, maintaining a review queue, and optionally sending a Slack digest of new or changed review items. How it works Runs either on a manual trigger or on a daily schedule. Loads configuration values, then validates that required settings are present before proceeding. Reads the Answers, Evidence, Dependencies, and Review Queue tabs from Google Sheets and validates required columns, IDs, and allowed status values. Deduplicates active, referenced evidence and fetches each linked file’s metadata from the Google Drive API in batches to detect missing, expired, or uncertain evidence. Evaluates each active answer’s freshness based on review intervals, ownership/review flags, and evidence change policies to assign a deterministic state and reason codes. Updates Google Sheets by writing evidence snapshots, refreshing or resolving existing review-queue items, appending new review items, and updating answer control fields. If enabled and there are new or changed items (or configured recoveries), formats and sends a summary digest to a Slack channel. Setup Create a Google Sheets workbook with the required tabs (Answers, Evidence, Dependencies, Review Queue) and exact header columns expected by the workflow. In Set Template Configuration, paste your Google Sheets spreadsheet ID and confirm the tab names and review/notification settings match your workbook. Add Google Sheets OAuth credentials with read/write access to the workbook. Add Google Drive OAuth credentials with access to the evidence files and populate the Evidence tab with each file’s Drive file ID. (Optional) Add Slack OAuth credentials, set your Slack channel ID, and enable SLACK_ALERTS_ENABLED to receive digest messages. Requirements Google Sheets and Google Drive OAuth credentials A Google Sheets workbook with Answers, Evidence, Dependencies, and Review Queue tabs using the required columns documented in the workflow Google Drive file IDs for registered evidence and answer-to-evidence mappings Slack OAuth credential and channel ID only if Slack alerts are enabled Customization Adjust the audit schedule and DEFAULT_REVIEW_INTERVAL_DAYS to match your review policy Adjust EVIDENCE_BATCH_SIZE and MAX_DIGEST_ITEMS for your workload Use SLACK_ALERTS_ENABLED, NOTIFY_ON_RECOVERY, and NOTIFY_ONLY_ON_NEW_OR_CHANGED to control notifications Use per-answer review intervals and dependency change policies to control when evidence changes require review Additional info This workflow identifies freshness risk but does not automatically approve or rewrite security claims. A human must review material evidence changes and reapprove an answer before updating last_approved_at. An n8n automation workflow template by Hasibul Islam.

N8nUpdated yesterday
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Ciphernutz IT Services logo
Route critical lab results using Google Sheets, Slack, Gmail, Gemini, and Twilio
Live

By Ciphernutz IT Services

Quick overview A lab result routing workflow that notifies the ordering physician by severity, using thresholds you control. Critical results trigger an immediate Slack and SMS alert with acknowledgment tracking and automatic escalation to a backup physician if unanswered. Abnormal results are emailed, and every outcome is logged for audit. How it works Receives a lab result via an HTTP webhook (or fetches results from an LIS endpoint on a schedule). Loads test limits, doctor contact details, and prior notification history from Google Sheets. Parses incoming JSON or HL7 ORU text, normalizes units (including supported conversions), checks for missing fields, and suppresses duplicates based on the log. Classifies each result as critical, abnormal, normal, duplicate, or needs lab review using the Limits sheet thresholds. Uses Google Gemini to generate a short, non-diagnostic note that restates the severity, value, unit, and required action. For critical results, sends a Slack DM (and a Twilio SMS when a phone number exists) with an acknowledgment link, waits 15 minutes, and escalates to a backup Slack contact if not acknowledged. For abnormal results, sends an email via Gmail to the ordering doctor. Posts unroutable items or delivery failures to a lab Slack channel and appends all statuses and messages to a Google Sheets Log tab. Setup Create a Google Sheets document with three tabs named Limits, Doctors, and Log, then connect Google Sheets credentials and set the spreadsheet ID in all Google Sheets nodes. Add Slack credentials and set the lab notification channel in the lab alert node, and ensure Doctors sheet includes Slack user IDs (and optional backup Slack IDs) for direct messages. Add a Google Gemini (Google AI) credential for the note-generation step. Add Gmail credentials (service account) and ensure the Doctors sheet includes doctor email addresses for abnormal-result routing. Add Twilio credentials and replace the Twilio “from” number, and ensure the Doctors sheet includes a phone/mobile number if you want SMS for critical results. If using polling, update the LIS HTTP endpoint URL and enable the schedule trigger, or if using push, copy the webhook URL and configure your LIS to POST results to it. Requirements n8n (self-hosted or Cloud) Google Sheets account and credential Slack workspace and credential (able to send DMs and post to a channel) Gmail (or another email) credential Google Gemini API credential Twilio account and credential (optional, for SMS escalation) An LIS or EHR able to call a webhook, or an API endpoint it can poll Customization Add or remove test codes and thresholds any time by editing the Limits sheet — no workflow changes needed Swap Gemini for any other chat-model node; the validation step only checks the note's content, not which model produced it Adjust the 15-minute acknowledgment window in the "Wait for acknowledgment" node Swap Slack, Gmail, or Twilio for other channels (Teams, WhatsApp, etc.) — the routing and logging logic is channel-agnostic Add a second escalation tier by extending the branch after "Link opened?" Additional info This template handles LIS-to-physician routing and escalation only it is not a full EHR/FHIR integration, and alert messages intentionally never carry direct patient identifiers (only a result reference ID); physicians open their secure EHR to review patient details. For a deeper look at this pattern, see Ciphernutz's guide to medical lab automation with n8n.For more on this pattern, see Ciphernutz's guide to medical lab automation with n8n: https://ciphernutz.com/blog/n8n-for-medical-lab-automation. An n8n automation workflow template by Ciphernutz IT Services.

N8nUpdated yesterday
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Mo
Monitor and log Indeed and LinkedIn job listings to Google Sheets with Apify
Live

By Mustapha

Quick overview This workflow runs manually or daily at 09:00 UTC to scrape up to 20 job listings from Indeed or LinkedIn via Apify, deduplicates them against an existing Google Sheets tab, and then appends or updates new job URLs with basic metadata. How it works Runs either on a manual trigger or on a daily cron schedule at 09:00 UTC. Loads the search term, location, target Google Sheet ID, and selected job boards to monitor. Reads existing rows from the Google Sheets “Jobs” tab to collect already-saved job URLs. Calls the Apify Multi Job Board Scraper actor via HTTP to fetch up to 20 job results for the configured search. Validates the Apify response, sanitizes text fields, and removes any jobs whose URLs already exist in the sheet. Appends new jobs (or updates by matching on jobUrl) in Google Sheets with title, company, location, job board, and a collected timestamp. Setup Create an Apify account and add an n8n HTTP Header Auth credential with Authorization: Bearer . Connect Google Sheets OAuth credentials for both the read and write steps. Create a Google Sheets tab named “Jobs” with headers jobUrl, title, company, location, jobBoard, and collectedAt, then paste your spreadsheet ID into the workflow’s sheetId setting. Update the search term, US location, and job boards (indeed, linkedin, or both). Run manually twice and verify saved rows and deduplication. Adjust the schedule/timezone and configure an n8n error workflow before activating. Requirements An n8n instance, a Google account with spreadsheet access, and an Apify account with available credits. No AI subscription required. Customization Edit the role, US location and jobBoards in Search settings. Indeed is the default; optionally add linkedin. Adjust the daily schedule and workflow timezone. Additional info Disclosure: Group Oject / HiringDataFlow develops the paid Apify Actor used here: https://apify.com/groupoject/indeed-jobs-scraper?utm_source=n8n&utm_medium=template&utm_campaign=jobs_to_sheets . The workflow template is free; Apify and n8n usage are separate. Each Actor request has a $0.10 maximum charge, a 20-result cap and a 120-second timeout. Repeated searches may incur charges even when Sheets deduplication suppresses all rows. Automatic paid-request retries are disabled; inspect Apify Runs after timeouts. Run one execution at a time; URL changes may create duplicates and coverage is not exhaustive. Email/Slack alerts are not included. Testing disclosure: 30 local configuration and transformation checks passed, but authenticated end-to-end execution in n8n with Google Sheets has not yet been completed. Please treat this as a starter workflow requiring integration verification before scheduling. An n8n automation workflow template by Mustapha.

N8nUpdated yesterday
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Alexander Englund logo
Run budget-capped client AI agents with OpenAI and n8n data tables
Live

By Alexander Englund

Quick overview For agencies and freelancers who run one AI agent for several paying clients. Each client has a monthly budget, a pause switch and its own instructions in an n8n Data table. A run starts only if the client can afford it, and the tokens used are booked to that client. How it works Your app POSTs client_id and prompt to the webhook. Unknown or paused clients get 403, and clients without budget left get 429. A worst-case reservation is written as the run's own ledger row. The ledger is read again, and the run backs off if parallel runs used the budget first. The AI Agent runs with Max Iterations and a token limit from Settings. The prompt and completion tokens that n8n recorded for each model call are read through the n8n API and booked. The answer is returned with a usage summary. You get an email at your alert threshold and when a client can't afford another run. Hourly, stuck reservations expire. Monthly, you get totals per client and old rows are deleted. A GET endpoint returns usage per client. If a Data table can't be read or written, the run is refused with 503. Setup Create the two Data tables listed in the sticky note: ai_clients and ai_usage_ledger. Add credentials: OpenAI on Chat model, n8n API on Read token usage, Header Auth on both webhooks and SMTP on the email nodes. Fill in the three Settings nodes and keep "Save execution progress" on. Add a client row to ai_clients. Publish the workflow and run the curl example in the "Try it" note. Requirements n8n with Data tables (tested on 2.41.6) An OpenAI API key, or another provider with an OpenAI-compatible Chat Completions endpoint An n8n API key (the n8n API isn't available during the free trial) SMTP credentials Customization Set the two cost rates to count in your currency instead of tokens. Swap the Calculator for your own tools, or the email nodes for Slack or Telegram. Additional info The reservation is an estimate, and Data tables have no atomic increment. The "Limits" note explains what that means for parallel runs and high volume. Without the n8n API credential, each run is charged its full reservation. We're building Keelstamp, which isn't released yet. This template doesn't depend on it. Prepared with AI assistance. Editorial responsibility: PowerQuant ApS. An n8n automation workflow template by Alexander Englund.

N8nUpdated yesterday
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Tr
Triage and route Gmail leads with Groq, Notion CRM, and Twilio calls
Live

By Fahmi Fahreza

Quick Overview This workflow checks unread Gmail messages every hour, uses Groq-hosted LLM prompts to triage importance and route emails to the right manager, then updates a Notion CRM database, forwards an assignment email via Gmail, and triggers a Twilio confirmation call via HTTP. How it works Triggers every hour and pulls unread emails from Gmail. Uses Groq (via LangChain) to classify each email as important or not based on the sender, subject, and snippet. If the email is important, fetches member/manager records and existing company records from Notion. Combines the email, manager list, and company list, then uses Groq (via LangChain) to match the email to an existing company or assign a new company and select an active manager. If the status is "assigned," creates a new company record in the Notion Companies database with the selected manager and extracted company details. Sends an assignment notification email to the selected manager through Gmail and then triggers a confirmation call using the Twilio Calls API over HTTP. Setup Connect Gmail OAuth2 credentials for both the Gmail trigger (unread polling) and the Gmail send action. Add Groq API credentials for the two LangChain LLM steps and adjust the prompts if you want different importance/routing rules. Connect Notion API credentials and update the two Notion database IDs to point to your duplicated Members and Companies databases. Configure the Twilio HTTP request with your Twilio Account SID in the URL, HTTP Basic Auth (Account SID and Auth Token), and set the To/From phone numbers and webhook URL used for the call. An n8n automation workflow template by Fahmi Fahreza.

N8nUpdated yesterday
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Fi
Find competitor-citing publishers using HasData and Google Sheets
Live

By HasData

Quick overview Find pages cited by Google AI Mode that mention your competitors, then review them as potential publisher opportunities. The workflow reads shortlisted pages and saves matching passages, brand evidence and citing prompts to Google Sheets so SEO and PR teams can decide which sources deserve further research. How it works Read customer research questions from the Prompts tab. Validate your brand settings and input limits, rejecting duplicate prompts and oversized batches before making paid requests. Read the existing Results tab and check for duplicate saved keys. Every input prompt is searched again on each run; the saved rows are not a cache that skips previously processed queries. Use HasData to retrieve Google AI Mode citations for each prompt. Combine repeated source URLs and retain all the prompts that cited each page. Prioritize pages cited across several prompts. Exclude your own domain, configured competitor domains and selected social platforms before reading pages. Select up to max_pages for the whole run. Fetch a limited shortlist with HasData Web Scraping and extract page text, titles, headings and links. Keep the source URL attached to each response. Failed reads, excluded sources and sources beyond the page budget remain visible in the results. Look for named competitors and your brand aliases in the extracted text, retaining the actual matching passages. Check returned links for your domain too. Mark pages with competitor mentions and no observed brand match as review_publisher_fit; mark pages with existing brand evidence separately. Save both the prompt-level citation inventory and the page-level research queue to Google Sheets. Filter status to review_publisher_fit and inspect competitors_observed, citing_prompts and source_url before deciding whether a publisher is relevant. Matching saved keys are updated while optional review_status and editor_notes columns are left untouched. Setup Install the verified HasData community node. Connect HasData credentials to Fetch search evidence and Read source pages, and Google Sheets credentials to Read input, Read Results and Save review queue. No OpenAI or other model account is required. Create a Prompts tab with the header query and one question per row. Create a Results tab with these headers: result_key, checked_at, topic, status, summary, citing_prompts, competitors_observed, brand_evidence, source_url, evidence_json. You can add review_status and editor_notes for your own decisions. In Settings, enter spreadsheet_id and replace the example own_domain, brand_aliases, competitor_names and excluded_domains with your business and competitors. Use one entry per line for list settings. Add competitor-owned publications to excluded_domains when you identify them. Start with one prompt and max_pages set to 2. Run manually and inspect the resulting source pages and matching excerpts. If page text is missing, adjust content_selector or enable js_rendering for sites that need it. Run only one execution at a time. Requirements An n8n instance with the verified HasData community node installed. A HasData account with credits for Google AI Mode and Web Scraping requests. A Google account with read and write access to the selected spreadsheet. Customization Use commercial research questions for your own category, such as best web scraping APIs for small teams, and configure your brand and competitor names to match. Adjust max_items and max_pages within the supported 1-10 ranges. The default is five prompts and up to five source-page reads per run. Optional location and country settings can narrow the search context. Keep js_rendering disabled for readable HTML pages. Enable it only when needed; rendering can increase request costs. Export the results before refreshing if you need a historical archive. Additional info Designed for SEO and PR research, not automatic outreach. A citation does not prove endorsement, publisher independence or a brand mention. No match in extracted text does not prove absence from the full page. Inspect ownership, topical fit and complete page coverage before contacting anyone. The workflow does not find contacts, draft pitches or send messages. Each execution uses paid HasData requests, with no automatic retries. Results retains the latest values for matching keys; rows from older input scopes are not automatically removed, so check checked_at when reviewing a run. An n8n automation workflow template by HasData.

N8nUpdated yesterday
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Sukhman logo
Send daily JLPT kanji-safe lessons to Microsoft Teams with Sheets and Claude
Live

By Sukhman

Quick overview This workflow runs daily, reads your learned kanji and JLPT grammar lists from Google Sheets, uses an AWS Bedrock chat model to generate and proofread a lesson constrained to known kanji, then posts it as a Microsoft Teams Adaptive Card and logs the taught grammar. How it works Runs every day at 8:00 using a schedule trigger. Reads learned kanji plus previously taught and available grammar points from Google Sheets, then selects the next unused grammar point for the configured JLPT level and rotates to the day’s topic. Uses an AWS Bedrock (Anthropic Claude) chat model to generate a structured JLPT lesson (examples, reading passage, questions, and vocabulary) with matching kana, romaji, and English fields. Sends the draft through a second AWS Bedrock pass to proofread readings, romaji, naturalness, and consistency while keeping the lesson structure intact. Validates the lesson by enforcing Grammar Bank facts (when available), converting any unlearned kanji to hiragana using the kana fields, and flagging any furigana lines that don’t align with their Japanese text. Builds a Microsoft Teams Adaptive Card with tap-to-reveal furigana/romaji/English/answers and posts it to a Teams Workflows webhook. Appends the taught grammar pattern and meaning to the Google Sheets “Grammar” tab so it isn’t repeated. Setup Create a Google Sheet with tabs named “Kanji”, “Grammar Bank”, and “Grammar” and add the required headers (including a TRUE/FALSE “learned” column in the Kanji tab). Add Google Sheets credentials in n8n and update the Sheet URL in the workflow configuration. Create a Microsoft Teams Workflows incoming webhook for a chat (for example using “Send webhook alerts to a chat”), copy its webhook URL, and paste it into the workflow configuration. Configure AWS Bedrock credentials and access to an Anthropic Claude chat model (or swap the model nodes for another supported provider). Adjust the JLPT level, topic list, passage length, schedule time, and workflow timezone to match your study plan. Requirements A Google account with Google Sheets Microsoft Teams with permission to create Workflows AWS Bedrock access to Claude Haiku 4.5, or any other chat model that is strong in Japanese On AWS Bedrock, the IAM permissions aws-marketplace:ViewSubscriptions and aws-marketplace:Subscribe for first-time model access Customization Set jlpt_level (N5 to N1) in the Set Configuration Values node and fill the Grammar Bank with points for that level Tick "learned" for new kanji in the Kanji tab; the next lesson uses them automatically Edit the topics list and passage length in the Set Configuration Values node Change the trigger time and the workflow timezone to fit your study schedule Replace the two model nodes with any provider (OpenAI, Anthropic, Google Gemini), keeping a low temperature of about 0.2 for proofreading Additional info If the Grammar Bank tab is empty, the AI chooses the grammar point itself. Words containing unlearned kanji are converted to hiragana by a Code node rather than by the AI, so the result is reliable. Any furigana line that doesn't match its Japanese text is flagged with a note on the card instead of failing silently. Grammar points are logged after each lesson and never repeated. An n8n automation workflow template by Sukhman.

N8nUpdated yesterday
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Ga
Gate and score AI outputs with Ollama, Wikipedia, and data tables
Live

By SPIRIDON TSAKONAS

Quick overview Send any AI output to this workflow and get PASS, FLAG or BLOCK for every factual claim, proven by quotes from your trusted facts or Wikipedia. Runs on local Ollama with no API key, fails closed when the model is down, and emails a weekly truth score. How it works Receives AI output through a POST webhook, or runs a built-in sample, and reads all settings from Read Request & Config. Loads your trusted facts from the Data Table truth_facts and asks a local Ollama model to extract only checkable factual claims: names, numbers, dates and events. Opinions are ignored. Gathers evidence for each claim: matching trusted facts first, then Wikipedia extracts (free, no key). The search subject is taken from the claim by code, not by the model. A judge model rates each claim VERIFIED, UNSUPPORTED or CONTRADICTED using only that evidence, and must cite a quote for its verdict. Plain code checks every quote: it must exist word for word in the evidence and prove this exact claim, numbers included. Unproven verdicts are downgraded to UNSUPPORTED. Any contradiction means BLOCK, too many unsupported claims mean FLAG, otherwise PASS. If the model fails, the answer is FLAG with a truth score of 0. Returns the verdict to the caller first, then logs the check to truth_checks and emails an alert on FLAG or BLOCK. Every Monday at 08:00, emails a truth score per AI source compared with the previous week, then deletes checks older than 90 days. Setup Install Ollama and run ollama pull qwen3:4b-instruct. In Read Request & Config, set LLM_URL. If n8n runs in Docker, use http://host.docker.internal:11434/v1/chat/completions (on Linux, start n8n with --add-host=host.docker.internal:host-gateway). Create two Data Tables. truth_facts: fact and topic (string); add your trusted facts as rows. truth_checks: checked_at, request_id, source, decision, text_excerpt, details (string) and truth_score, claims_total, verified, unsupported, contradicted (number). Both tables are found by name. Add an SMTP credential to Send Alert and Send Weekly Report and set your addresses. No email account? Deactivate both email nodes, otherwise alert runs end marked as error. Click Test With Sample, then publish the workflow and POST {"text": "AI output", "source": "my-bot"} to /webhook/truth-gate. Requirements n8n with Data Tables (tested on n8n 2.41.5); Ollama with qwen3:4b-instruct, or any OpenAI-compatible endpoint; optional SMTP account for alerts and weekly reports Customization Tune MAX_CLAIMS, FLAG_RATIO and BLOCK_ON_CONTRADICTED in Read Request & Config; set USE_WIKIPEDIA to false for fully offline checks against your trusted facts; set WIKI_LANG for another Wikipedia language; for a cloud model, point LLM_URL at any OpenAI-compatible API and add a Header Auth credential to both LLM nodes Additional info Tested end to end in a real n8n instance: a false height claim is blocked with the Wikipedia quote "330 metres", a claim with no evidence is flagged instead of blocked, and a model outage returns FLAG with a truth score of 0. An n8n automation workflow template by SPIRIDON TSAKONAS.

N8nUpdated yesterday
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Huseyin Hobek logo
Monitor RAG answer quality daily with OpenAI, data tables and Telegram
Live

By Huseyin Hobek

Quick Overview This workflow runs daily to evaluate a RAG-style support bot using OpenAI for embeddings, answer generation, and judging, stores run metrics in n8n Data Tables, and sends a Telegram alert when retrieval accuracy or answer quality drops. How it works Runs on a daily schedule (or manually) and sets monitoring thresholds like top-K retrieval size, minimum quality scores, and allowed pass-rate drop. Loads sample help center articles, generates OpenAI embeddings, and indexes the documents into an in-memory vector store. Iterates through a golden test set of questions, retrieves relevant context from the vector store, and generates an answer with an OpenAI chat model that must stay grounded in the retrieved text. Uses a second OpenAI chat model as a judge to score groundedness, correctness, and whether the bot properly abstains on out-of-scope questions. Aggregates results into run-level metrics (pass rate, retrieval hit rate, average scores, abstention rate, and failing cases). Saves the run summary to an n8n Data Table, compares it to the previous run, and sends a Telegram message if the status is marked as degraded. Setup Add an OpenAI credential for the embeddings nodes and both OpenAI chat models used for answering and judging. Create or select a Telegram credential and set your Telegram chat ID in the monitor settings (or remove the Telegram alert step). Ensure n8n Data Tables are available in your instance and keep the table name rag_quality_runs or update it consistently across the workflow. (Optional) Replace the sample documents and golden test set with your own content, keeping expectedSource aligned with the document source metadata. An n8n automation workflow template by Huseyin Hobek.

N8nUpdated yesterday
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Bhaskar Gorati logo
Track competitor website changes with Firecrawl, OpenAI, Google Sheets and Gmail
Live

By Bhaskar Gorati

Quick overview This workflow runs on a schedule, reads competitor URLs from Google Sheets, scrapes each site with Firecrawl, analyzes the content with OpenAI, logs results back to Google Sheets, generates an HTML report, converts it to a PDF via html2pdf.app, and emails the report using Gmail. How it works Runs on a schedule and reads a list of competitor URLs from Google Sheets. Loops through each competitor and scrapes the website content using the Firecrawl API. Sends the scraped content to OpenAI to generate a structured competitive intelligence report using a defined schema. Formats the AI output into report fields, appends a summary row to Google Sheets, and renders a styled HTML report. Converts the HTML report to a PDF using the html2pdf.app API. Emails the report via Gmail (with the PDF attached when available) and continues to the next competitor. Setup Add Google Sheets OAuth credentials and select the spreadsheet and sheet that contains a URL column for competitors, plus the sheet used to log results. Add a Firecrawl API credential (HTTP Bearer Auth) and ensure the competitor URL field matches what the scrape request expects (for example, a column named “Url”). Add OpenAI API credentials for the model used by the analysis step. Add an html2pdf.app API key (HTTP Header Auth) and confirm the request format required by your plan. Add Gmail OAuth credentials and replace the recipient address in the email step with your target email. Set the desired interval on the schedule trigger before activating the workflow. An n8n automation workflow template by Bhaskar Gorati.

N8nUpdated yesterday
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Javed Iqbal logo
Monitor vendor compliance documents and expiries with Google Drive, OpenAI, Sheets, Gmail, and Slack
Live

By Javed Iqbal

Quick overview This workflow monitors a Google Drive folder for new vendor compliance PDFs, uses OpenAI to classify and extract key fields, logs and tracks them in Google Sheets, flags uncertain items in Slack, and runs a daily compliance check that emails vendor reminders and sends a digest via Gmail and Slack. How it works Triggers when a new file is created in a specific Google Drive “Vendor Compliance Inbox” folder. Checks whether the uploaded file is a PDF and posts a Slack message when a non-PDF file is skipped. Downloads the PDF, extracts its text, and uses an OpenAI chat model to classify the document and extract vendor name, issuer, issue/expiry dates, coverage amount, summary, and confidence. Matches the document to a vendor from the Google Sheets “Vendors” tab, validates the extraction (for example, missing expiry or low confidence), upserts the record into the Google Sheets “Documents” tab, and moves the file to a processed Drive folder. Posts a Slack alert when the document needs human review (for example, no vendor match, partial match, low confidence, missing expiry for expiring document types, or bank information). Runs daily at 8 AM to read vendors and documents from Google Sheets, evaluate each active vendor against tier-based requirements, and append the results to a “Compliance Log” tab. Emails vendors (via Gmail) when reminders are due and sends a daily compliance digest to the compliance owner by Gmail and a summary message to Slack. Setup Add credentials for Google Drive, Google Sheets, Gmail, Slack, and OpenAI (Chat) used by the workflow. Create a Google Sheet with tabs named “Vendors”, “Documents”, and “Compliance Log”, and select the correct spreadsheet in all Google Sheets steps. Create and select two Google Drive folders (the inbox to watch and the processed folder to move files into), then drop the trigger webhook-less polling folder selection into the Drive trigger. Choose the Slack channels for “Unsupported File”, “Review Needed”, and the daily summary messages. Update the values in the Configuration step (company name, compliance inbox, owner email, reminder windows, and testMode) and adjust tier requirements in the rules step if needed. An n8n automation workflow template by Javed Iqbal.

N8nUpdated yesterday
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI