GenAiHub

Agent Directory

Browse 160,118 AI agents

Ecosystem

2113–2160 of 160,109

Kingsley Ken logo
Fix broken YouTube description links and offers with Claude, Google Sheets and Slack
Live

By Kingsley Ken

Quick overview This workflow runs weekly to scan your newest YouTube video descriptions for dead links and expired or missing promo offers using data from Google Sheets, then posts a Slack summary and uses Anthropic Claude to propose safe fixes that only update YouTube after your approval. How it works Runs every Monday morning on a schedule. Validates the required configuration values, then reads your live offers and past decisions from Google Sheets. Uses the YouTube Data API to fetch your newest public and unlisted uploads (up to a set limit) and extracts each description’s external links, promo codes, and full offer dates. Tests each unique external link once and flags problems per video, including dead links, codes not in the offers sheet or outside their valid dates, and offer dates that have already passed. Posts a weekly Slack summary and selects the most-viewed videos with issues (up to a set limit) to process for fixes. Sends each video’s problem lines and the live offers list to Anthropic Claude to generate replacement text for only the affected lines. Validates Claude’s proposed changes against the offers sheet and, if they pass, asks for approval in Slack before updating the YouTube description; all outcomes are logged back to Google Sheets and notable results are posted to Slack. Setup Create a Google Sheet with an “Offers” tab (Name, Code, Discount, Starts, Ends, Link) and a “Checks” tab for logging results. Add credentials for YouTube OAuth2 (with YouTube Data API v3 enabled if self-hosted), Google Sheets, Slack OAuth2, and an Anthropic API key for Claude. In the Config node, set your Google Sheet URL, the Offers/Checks tab names, your Slack channel ID, and any limits (max videos, links per video, fixes per run, and approval wait time). Requirements YouTube channel and the Google account that owns it (on self-hosted n8n, turn on the YouTube Data API v3 in your Google Cloud project) Google Sheets account for the offers sheet and the check log Slack workspace and the ID of the channel for approvals Anthropic API key for Claude Each approved update uses 50 of the 10,000 free YouTube API units you get every day Customization In Config, change maxVideos, maxFixesPerRun, maxLinksPerVideo or approvalWaitHours. Change the day and time in Every Monday Morning. Swap the Claude model for any chat model. Additional info Nothing changes on YouTube until you press Approve in Slack, and the title, tags and privacy stay as they are. Check Fix Against Sheet is plain code that stops a fix if any link, code, number or date is not in your offers sheet. A fix you decline is not asked about again unless the description changes. An n8n automation workflow template by Kingsley Ken.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Re
Request Google reviews for completed projects with Google Sheets and Gmail
Live

By Vivek Sharma

Quick overview This workflow runs daily to read completed projects from Google Sheets, sends personalized Google review request emails via Gmail to clients who finished 2+ days ago, and then updates the sheet to mark each project as review-requested so clients are not contacted twice. How it works Runs every day at 11:00 on a schedule. Loads your business details (name, owner name, Google review link, and email signature) and reads all rows from the Projects sheet in Google Sheets. Filters for projects with status set to Completed, a completed_on date at least two days old, a blank review_requested field, and valid project_id and client_email values. Builds a personalized thank-you email that includes your Google review link for each eligible project. Sends the review request email to each client using Gmail. Updates the matching rows in Google Sheets (by project_id) to set review_requested to today’s date. Setup Connect Google Sheets credentials and set the Google Sheet URL/document ID in both the read and update Google Sheets steps. Connect Gmail credentials for the account you want to send review requests from. Create a Projects tab in your Google Sheet with these headers: project_id, client_name, client_email, project, status, completed_on, review_requested, and ensure completed_on uses YYYY-MM-DD dates. Update the Settings values with your business name, owner name, Google review link, and email signature text. Review the schedule time (11:00) and adjust the 2-day delay logic if needed before activating the workflow. An n8n automation workflow template by Vivek Sharma.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Kingsley Ken logo
Update HubSpot contacts from Gmail auto-replies using Claude and Slack
Live

By Kingsley Ken

Quick overview This workflow runs hourly to find Gmail auto-replies and permanent bounces, uses Anthropic Claude to detect when a HubSpot contact has left or is out of office, and posts Slack approvals before updating HubSpot with lead status changes, notes, replacement contacts, or follow-up tasks. How it works Runs every hour and loads configuration values like lookback window, approval timeout, and the target Slack channel. Verifies the HubSpot app token and required scopes before reading any emails. Searches Gmail for recent auto-replies and bounce messages, deduplicates messages across runs, and filters to one relevant reply per contact. Looks up each sender (or bounced address) in HubSpot and skips emails not tied to an existing contact or contacts already marked with the configured “left” lead status. For auto-replies, sends the reply text to Anthropic Claude to classify it as left_company, out_of_office, or other and extract exact supporting quotes and any replacement contact details. Builds a safe update plan and routes it: posts “left company” and permanent bounce cases to Slack for approval, creates HubSpot follow-up tasks for validated out-of-office return dates, and posts informational Slack alerts for HubSpot lookup errors. If approved in Slack within the configured window, writes the planned updates to HubSpot (lead status change, CRM note, and optional new replacement contact) and then posts a Slack message summarizing what succeeded or failed. Setup Create a HubSpot private app and generate an access token with scopes crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.companies.read, and crm.objects.companies.write, then add it as a HubSpot App Token credential. Connect your Gmail account so the workflow can search messages, and ensure the Gmail query matches the mailbox/labels you want monitored. Connect Slack with OAuth, copy the target channel ID, and update the Config node’s slackChannelId (and optionally lookBackDays, leftLeadStatus, approvalWaitHours, and out-of-office settings). Add your Anthropic credentials and keep or replace the Claude model used for classification. Confirm that the HubSpot lead status internal value in leftLeadStatus (for example UNQUALIFIED) matches a valid hs_lead_status value in your HubSpot portal. Requirements HubSpot account (the free CRM works; creating the private app needs super admin rights) Gmail account you send outreach from Slack workspace and the ID of the channel for approvals Anthropic API key for Claude Hourly runs use about 720 executions a month Customization In Config, set leftLeadStatus to another lead status value used in your HubSpot account. Change lookBackDays, followUpDaysAfterReturn or approvalWaitHours. Set postOutOfOffice to false to add follow-up tasks without a Slack message. Swap the Claude model for any chat model. Additional info Nothing changes in HubSpot until you press Approve in Slack, and no answer within 24 hours means no change. Plan HubSpot Changes is plain code: it only uses quotes, addresses and dates found word for word in the reply, and it never adds a shared inbox such as sales@ as a contact. Out-of-office replies get a HubSpot follow-up task for the working day after the person is back. An n8n automation workflow template by Kingsley Ken.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Kingsley Ken logo
Check scheduled Klaviyo campaign offers and links with Claude, Sheets and Slack
Live

By Kingsley Ken

Quick overview This workflow runs hourly to review upcoming Klaviyo campaign emails, test links and images for errors, extract codes/offers/dates with Anthropic Claude, validate them against a Google Sheets offers list, and post results to Slack while logging each check back to Google Sheets. How it works Runs every hour and validates that required configuration values (Google Sheets URL/tabs, Slack channel ID, time zone, and limits) are set. Reads the Offers and Checks tabs from Google Sheets to load valid promo codes/discount windows and determine which email versions have already been checked. Fetches Klaviyo campaign messages (scheduled only, plus drafts if enabled) and selects up to the configured limit that send within the next configured time window, split by A/B variation. For each selected email, retrieves the Klaviyo template HTML/text, extracts plain-text content, codes, and up to the configured number of non-personalized links and images, and skips unchanged versions unless a near-send reminder is due. Sends each extracted URL as a HEAD request to flag dead destinations and note sites that block automated checks. Uses Anthropic Claude to list discount codes, offers, and dates found in the email text, then validates quotes, codes, discount amounts, and deadlines against the offers sheet and the email’s send date. Posts a per-email status message to Slack (pass/warn/fail, plus reminders when applicable) and appends a detailed log row to the Checks tab in Google Sheets. Setup Create a Klaviyo private API key with campaigns:read and templates:read, and configure it as an HTTP Header Auth credential used by the Klaviyo HTTP requests (Authorization: Klaviyo-API-Key ) and set the correct API revision date. Create a Google Sheet with an Offers tab (including columns like Code, Discount, Starts, Ends) and an empty Checks tab, then connect Google Sheets credentials and paste the sheet URL and tab names into the Config values. Connect an Anthropic credential for Claude and ensure the selected Claude chat model is available in your account. Connect Slack OAuth2 credentials and set the target Slack channel ID in Config (use the channel ID, not the channel name). Review Config limits and behavior (hoursAhead, remindHoursBefore, maxEmailsPerRun, maxLinksPerEmail, checkDrafts, postPasses, and time zone) to match your email volume and notification preferences. Requirements Klaviyo account with a private API key that has read access to Campaigns and Templates Google Sheets account for the offers sheet and the check log Slack workspace and the ID of the channel for the reports Anthropic API key for Claude Hourly runs use about 720 executions a month Customization In Config, change hoursAhead, remindHoursBefore or maxLinksPerEmail to match how far ahead you schedule and how many links your emails carry. Set postPasses to false to hear only about problems. Set checkDrafts to true to also check drafts edited in the last 7 days. Swap the Claude model for any chat model. Additional info The workflow only reads from Klaviyo: nothing is changed or sent there. Each A/B version is checked on its own, and personalised links are skipped and counted. Check Email Against Offers is plain code that drops anything Claude quoted that is not in the email, so a wrong reading cannot reach Slack as a fact. An n8n automation workflow template by Kingsley Ken.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Tr
Triage your Gmail inbox and log high-priority emails to Google Sheets
Live

By Jessy Mariau

Quick overview Three importable workflows that sort your inbox into a Google Sheet, chase failed Stripe payments for you, and follow up new leads once so they do not go cold. No AI credits or paid extras. How it works Runs every 5 minutes and triggers on new unread Gmail messages while excluding Promotions and Social categories. Applies keyword-based rules to classify each email into Money, Customer, Urgent, Admin, Bulk, or Other, and sets a priority plus a short preview. Appends the categorized email details (received date, sender, subject, category, priority, preview, message ID, and status) to an “Inbox” sheet in Google Sheets. Checks whether the email priority is High. Sends an alert email via Gmail to your address with the sender, preview, and a link back to the Google Sheets log when the message is urgent. Setup Connect your Gmail account for both the Gmail trigger (reading unread emails) and the Gmail action (sending alert emails). Connect Google Sheets credentials and replace the spreadsheet URL/ID so the workflow can append rows to your target document. Create an “Inbox” sheet tab with headers: received, from, subject, category, priority, preview, message_id, status. Replace the alert recipient placeholder with your own email address in the Gmail send step. (Optional) Edit the keyword lists in the rules code to match your business categories and terminology. Additional info Honest limits: I use keyword rules, not AI. Each lead gets one follow-up only. Google Sheets is the log. Try Stripe test mode first. Support: jessedu29200@gmail.com. An n8n automation workflow template by Jessy Mariau.

N8nUpdated 4 hours ago
Paid
No ratings
  • 3 nodes
Workflows
  • Automation
kitayama logo
Create and review SOP training checklists and quizzes with Google Drive, Gemini, Gmail and Sheets
Live

By kitayama

Quick Overview This workflow monitors a Google Drive folder for new SOP Google Docs, uses Google Gemini to draft a training checklist and multiple-choice quiz, then sends the draft for approval via Gmail and records approval decisions in Google Sheets. How it works Triggers when a new file is created in a specific Google Drive folder. Retrieves the SOP text from Google Docs, validates that it is present and meets the minimum length, and emails the reviewer via Gmail if the SOP is invalid. Sends the SOP to Google Gemini to generate a draft checklist and a multiple-choice quiz in the configured language. Validates Gemini’s JSON output (checklist length, question structure, and evidence quotes that must exist verbatim in the SOP) and emails the reviewer via Gmail if the draft fails validation. Checks Google Sheets for an existing review record for the same document ID and skips saving if a prior decision or pending review already exists. Saves valid drafts to a Google Sheets review tab, emails the reviewer a formatted approval request via Gmail with Approve/Reject actions, and updates the same sheet row with Approved, Rejected, or Timed out after 7 days. Setup Connect credentials for Google Drive, Google Docs, Google Sheets, Gmail, and Google Gemini. Set the Google Drive folder ID to watch and ensure it contains Google Docs SOPs. Create or select a Google Sheets spreadsheet and a tab (for example, “Training Reviews”) with columns for documentId, documentName, createdTime, draftCreatedAt, outputLanguage, checklist, questions, reviewStatus, reviewerEmail, reviewedAt, reviewDecision, and reviewNotes. In the configuration values, set your spreadsheet ID, sheet name, reviewer email address, output language, minimum SOP length, and desired question count. If self-hosting n8n, set WEBHOOK_URL (or the equivalent public URL settings) so the Gmail approval links can route back to your n8n instance. An n8n automation workflow template by kitayama.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Sy
Sync Shopify orders to Xero invoices with Slack and email alerts
Live

By ForeKnow Digital

Quick overview This workflow triggers on new Shopify orders, finds or creates the matching customer in Xero, converts the order line items and shipping into an AUTHORISED accounts receivable invoice, and optionally records a payment when the order is marked paid, with failures reported to Slack and email. How it works Triggers when a new order is created in Shopify. Loads configuration values for your Xero tenant, account codes, tax type, and line amount handling. Searches Xero Contacts for a match on the Shopify customer email and creates a new contact in Xero if none exists. Maps Shopify line items, discounts, and shipping lines into a Xero invoice payload using your configured account codes and tax type. Creates an AUTHORISED ACCREC invoice in Xero via the Xero Accounting API. If the Shopify order financial status is paid, creates a payment in Xero against the invoice using the configured bank/clearing account code. If any Xero or API step fails, formats the error details and sends notifications to Slack and via SMTP email. Setup Add Shopify Admin API credentials (access token) with scopes including read_orders and read_customers, then enable the Shopify “orders/create” trigger. Add a Xero OAuth2 credential with scopes including accounting.transactions and accounting.contacts, and set your Xero tenant ID in the Config step. Update the Config values for sales/shipping account codes, tax type, line amount type (Inclusive/Exclusive), and the payment account code used to receive Shopify payouts. Add a Slack credential and set the target channel ID and/or add an SMTP credential and set the from/to email addresses for error notifications. Create a Shopify test order to validate contact matching, invoice creation, and payment posting before activating the workflow. An n8n automation workflow template by ForeKnow Digital.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
久保田 卓磨 logo
Draft payment reminder emails from freee Accounting with Claude and Gmail
Live

By 久保田 卓磨

Quick overview This workflow runs every weekday morning, reads unsettled income deals and partner details from freee Accounting, uses Anthropic Claude to draft Japanese payment reminder emails for overdue amounts, saves passing reminders as Gmail drafts, and emails staff a report of created drafts and any issues. How it works Runs every weekday at 9:00 (or manually) and loads configuration like the freee company ID, minimum overdue days, and staff notification email. Fetches unsettled income deals and the partner list from the freee Accounting API. Filters deals that are past due with an amount still due, groups them by customer, skips customers without an email address, and limits processing to the top customers by total overdue amount. Sends each customer’s invoice facts to Anthropic Claude to generate a polite Japanese reminder email as JSON with a subject and body. Validates the draft to ensure all invoice numbers, remaining amounts, and due dates match freee data and rejects drafts containing extra amounts, late-fee/legal language, or missing required facts. Creates a Gmail draft for each passing reminder (without sending) and emails staff a single Gmail message summarizing drafts saved, drafts rejected with reasons, and customers that could not be drafted. Setup Create a freee app with read access to Deals and Partners, then add an n8n OAuth2 credential for the freee API and set your freee company ID. Add Anthropic credentials for Claude and a Gmail OAuth2 connection for creating drafts and sending the staff notification email. Update the Config values (staff_email, sender_signature, min_days_overdue, max_customers, and timezone) and optionally set today_override for testing before enabling the schedule. Requirements freee Accounting (freee会計) and an app in freee Developers (permissions: deals and partners, read); an n8n OAuth2 API credential for freee. Gmail (OAuth2) and an Anthropic API key (one Claude call per customer with overdue sales). Customer e-mail addresses in freee partners. Customization Set the company ID, staff e-mail, signature, days overdue before reminding and customers per run in Config (today_override for testing with past data). Change the tone in the Write the reminder prompt. Change the weekday schedule. Send the notice to Slack or Teams instead of Gmail. Additional info Nothing is sent: reminders are saved as Gmail drafts. Claude gets only the facts from freee; code checks every invoice number, remaining amount and due date in each draft, rejects any other amount and words like late fees or legal action, and lists stopped drafts in the staff notice. Tested on a freee developer test company with made-up deals, including a partly paid sale. An n8n automation workflow template by 久保田 卓磨.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
久保田 卓磨 logo
Create freee draft invoices from order emails with Gmail and Claude Haiku
Live

By 久保田 卓磨

Quick overview This workflow captures customer orders from Gmail or a public n8n form, matches the customer and their open quotations in freee, uses Anthropic Claude to interpret the order text, and creates an unsent freee Invoice draft based on the selected quotation, then notifies staff by Gmail. How it works Triggers when a new Gmail message matches the subject search query or when someone submits the “order-to-freee-invoice” n8n form. Extracts the sender email, subject, and plain-text order message and applies shared configuration like company ID, payment terms, and staff notification email. Fetches partners from the freee API and identifies the customer by matching the sender email or a unique partner name mentioned in the order text. Retrieves the customer’s open freee quotations (prioritizing any Q-… number mentioned) plus existing invoices, and loads the details of the top quotation candidates. Sends the order text and quotation line summaries to Anthropic Claude to determine whether it is a clear order, which quotation it references, and any requested quantity changes or additions. Validates the AI result in code, prevents duplicates by checking for an existing invoice referencing the quotation number, applies only verifiable quantity changes, and turns unclear additions into “To check” note lines. Creates an UNSENT invoice draft in freee Invoice using prices/taxes from the quotation and either emails the staff a detailed result via Gmail or shows the outcome on the form completion page. Setup Create/enable a freee app with permissions for Partners (read) and freee Invoice quotations/invoices (read/write), and add an n8n OAuth2 credential for the freee API. Add Gmail credentials for the Gmail Trigger and Gmail Send nodes, then set the staff notification address in the Config node. Add an Anthropic credential for the Claude chat model node. Update the Config node with your freee company ID, payment terms/days, max quotation candidates, and timezone. If using the form entry path, publish the form and share its URL; if using Gmail, adjust the Gmail search query to match your order emails. Requirements freee with freee Invoice (freee請求書) and an app in freee Developers (permissions: partners read, [請求書] all document types read/write); an n8n OAuth2 API credential for freee. Gmail (OAuth2) and an Anthropic API key (one Claude call per order mail). Customization Set the freee company ID, staff e-mail, payment terms (end of next month or days) and how many open quotations to compare in Config. Change which mails count in the Gmail search of New order mail (or use a label). Change the due date rule in Check and build. Send the notice to Slack or Teams instead of Gmail. Additional info Prices come from the quotation, never from the AI: Claude only says whether the mail is an order, for which quotation and which quantities change, quoting the words; code checks them, stops duplicates (memo "From quotation ..."), and copies every price and tax rate. Tested on a freee developer test company with made-up data: eight mails, including a real Gmail mail; freee's totals matched the workflow's own. An n8n automation workflow template by 久保田 卓磨.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Mo
Monitor SSL certificates and security headers with Apify, Slack, and Gmail alerts
Live

By Adam

Quick overview This workflow monitors SSL certificate expiry and security headers for a list of websites using Apify, stores the last known state in an n8n Data Table, and sends change-based alerts and a weekly summary to Slack, Gmail, and an optional webhook. How it works Runs on a daily schedule, on demand, or on Mondays for the weekly summary, and loads the site list and notification settings from the CONFIG block. Creates (if needed) and reads the ssl_monitor_state n8n Data Table to keep track of each site’s last known grade, certificate status, and open issues. On daily/manual runs, calls the Apify “Security Headers & SSL Audit” Actor to audit each site’s HTTPS/certificate status, redirects, and security headers. Compares the latest audit results with the stored state to detect new, changed, reminder-due, and resolved issues, with “site unreachable” only alerting after consecutive failed checks. Saves the updated per-site state back to the ssl_monitor_state Data Table and builds a single consolidated alert message when any changes are detected. Routes alerts by severity and sends them to the enabled channels via Slack, Gmail, and/or an HTTP webhook, retrying sends without blocking other channels. On weekly summary runs, generates a summary from the stored state (without running Apify) and sends it through the same notification channels. Setup Create an Apify account and add an HTTP Header Auth credential with Authorization: Bearer for the Apify request. Add Slack credentials and set the target channel in CONFIG if you want Slack notifications. Add Gmail credentials and set the recipient address and minimum severity in CONFIG if you want email notifications. If using a webhook (for example Discord or Microsoft Teams), enable it in CONFIG and paste the webhook URL. Update CONFIG with your site domains, certificate warning/critical thresholds, minimum headers grade, and reminder/consecutive-failure settings before activating the workflow. Requirements n8n with Data Tables (tested on 2.43), an Apify account ( Security Headers & SSL Audit Actor) and Slack and/or Gmail. Customization criticalReminderDays, email.minSeverity and confirmUnreachableChecks. Set previewWeeklySummary to true to test the summary. About $0.003 per site per check on Apify. Additional info Disclosure: the Apify Actor used here was built and is published by the author of this template (EdenWorks). You pay Apify's usage price when it runs and the author earns part of that fee. Apify's free plan credits cover light use. An n8n automation workflow template by Adam.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Em
Email new insider stock purchases from your watchlist with Equibles and SMTP
Live

By Daniel Oliveira

Quick overview This workflow runs every weekday (or on demand), checks Equibles for recent open-market insider stock purchases across a ticker watchlist, filters and deduplicates the results, and emails you a single HTML digest of new qualifying trades. How it works Runs every weekday at 8:00 (or manually when you click run) to start the insider-buying check. Loads your configured ticker watchlist, lookback window, minimum trade value, and email addresses. Splits the watchlist into individual tickers and queries the Equibles insider-transactions API for “Purchase” trades since the calculated start date. Filters the results to keep only open-market trades that meet or exceed the minimum value threshold. Removes trades that were already sent in previous workflow executions to avoid repeat alerts. Builds an HTML email summary sorted by trade value and sends the digest via SMTP to your target recipient. Setup Create a free Equibles API key at https://equibles.com/dashboard/apikeys, then add an HTTP Header Auth credential to the Get insider purchases node with the name Authorization and the value Bearer . Add an SMTP email credential for the email-sending step. Update the watchlist tickers, lookbackDays, minValue, and the to/from email addresses in the watchlist settings before activating the workflow. Requirements An Equibles account. The free plan allows 100 requests a day, and each run uses one request per ticker, plus any SMTP account for sending the email. Customization Swap the email node for Slack, Telegram or Gmail, change the cron expression to run weekly, or raise minValue to see only large purchases. Additional info The 14-day lookback catches purchases that are reported a few days after the trade, and the Remove Duplicates node keeps them from being sent twice. A ticker that does not exist is skipped instead of stopping the run. An n8n automation workflow template by Daniel Oliveira.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Ru
Run procurement approvals with Google Sheets, Gmail, Google Docs, and Slack
Live

By Ali Abdullah

Quick overview Run purchase approvals with policy checks and multi-level routing. A form collects the request, vendor, budget and duplicate checks run, then L1 to L3 approvals by amount, with a purchase order and a full audit trail in Sheets. How it works Receives a purchase request submission from an n8n Form and validates required fields, positive amounts, and an optional future “needed by” date. Reads vendor and budget data plus recent requests from Google Sheets to flag unpreferred/new vendors, over-budget requests, and possible duplicates from the last 30 days. Calculates the total amount and determines whether the request is auto-approved or routed through L1/L2/L3 approval levels based on amount thresholds and any policy flags. For routed requests, generates a request ID, appends a “submitted” entry to a Google Sheets audit log, and sends the first approval request by Gmail. Receives approver decisions through a webhook, rebuilds the request state from the Google Sheets audit log, and ignores duplicate/late decisions. If approved and more approval levels remain, sends the next approval request by Gmail; if rejected, emails the requester the rejection outcome. When final approval is reached (or the request is auto-approved), creates a purchase order in Google Docs, writes the PO text into the document, emails the requester the PO link, logs the approval event to Google Sheets, and posts an approval message to Slack. Setup Connect credentials for Google Sheets, Google Docs, Gmail, and Slack in n8n. Create and populate the Google Sheets documents/tabs used for Vendors, Budgets, and AuditLog, then set the sheet IDs in the workflow configuration values. Update the approver email addresses (L1/L2/L3), approval thresholds, Slack channel ID, and the Google Drive folder ID where purchase orders should be created. Publish the purchase request form and copy the approval decision webhook URL (path: /purchase-decision) into whatever approval UI or email-link process you use to POST decisions. An n8n automation workflow template by Ali Abdullah.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
Ling Li logo
Draft and send LinkedIn replies with OpenAI, Slack and HeyReagent
Live

By Ling Li

Quick overview This workflow runs every weekday morning to find LinkedIn conversations awaiting your reply via HeyReagent, drafts responses with OpenAI, and sends each draft to Slack for approval before posting the approved message back to LinkedIn. How it works Runs at 9:00 on weekdays using a schedule trigger. Calls the HeyReagent API to sync your LinkedIn inbox, waits one minute, and fetches a list of people whose messages are waiting on you. Filters out conversations without a profile URL or where the last message is older than the configured maximum waiting days. Processes the remaining conversations one at a time, retrieving the full conversation from HeyReagent and generating a reply draft with an OpenAI chat model using your “about you” and writing style settings. Sends the draft to Slack with “Send it” and “Skip” buttons and waits for your approval. If approved, posts the reply through the HeyReagent API and waits 30 seconds before moving on to the next conversation. Setup Create a HeyReagent account, connect your LinkedIn account, generate an API key, and add it to an n8n HTTP Bearer Auth credential used by the HeyReagent HTTP requests. Add your OpenAI API credentials and keep or change the selected chat model in the OpenAI Chat Model node. Add your Slack credentials, choose the target channel for the approval message, and ensure the workflow can use Slack “send and wait for response” approvals. Update the Settings values (how many conversations to process, maximum waiting days, and your personal and tone instructions) to match your needs. Requirements A HeyReagent account with LinkedIn connected (the free plan works) An OpenAI key, or any other chat model node in its place A Slack workspace Customization Change the hour in Every weekday at 9, and how many people a day in Settings (start with 5; HeyReagent allows 100 messages a day per LinkedIn account) Swap Slack for Gmail, Telegram or Discord: their "send and wait for response" works the same Additional info LinkedIn's User Agreement does not allow automated activity. A person approving every message lowers that risk and does not remove it. HeyReagent is an independent service, not made by, affiliated with or endorsed by LinkedIn. An n8n automation workflow template by Ling Li.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
Ca
Capture and replay webhooks with Postgres, Slack, and PagerDuty
Live

By Oneclick AI Squad

Quick overview This workflow captures and stores incoming webhooks in Postgres, then lets you list, recover, and replay events (with optional dry-run and transforms) via a control webhook, while sending Slack and optional PagerDuty alerts when failures or backlog thresholds are exceeded. How it works Receives requests from the ingest webhook, control webhook, a scheduled backlog sweep, or a manual trigger. Ensures the required Postgres tables exist and loads recent webhook history and backlog statistics from Postgres. Determines whether the run is an ingest, control, or sweep action and builds runtime configuration (including alert thresholds and target overrides). For ingest or recover actions, normalizes the incoming payload(s) and upserts the webhook event records into Postgres with full request context. For replay actions, selects events by IDs or filters, optionally applies a transform, and prepares the outbound HTTP requests (or generates dry-run results). Executes persistence updates in Postgres to record replay attempts, update event statuses, and log a replay run summary. Sends alerts to Slack via an incoming webhook and optionally triggers PagerDuty via its Events API when replay failures spike or backlog exceeds thresholds, then returns a JSON summary response. Setup Add Postgres credentials and ensure the database user can create tables and read/write to the webhook_events, webhook_replay_attempts, and webhook_replay_runs tables. Update the CONFIG values in the code step (for example Slack webhook URL, PagerDuty routing key, maxConcurrency, and defaultTarget/targetUrl strategy). Activate the workflow and copy the production URLs for the ingest (/webhook-replay-ingest) and control (/webhook-replay-control) webhooks into the systems that will send events and manage replays. If you enable PagerDuty alerts, set pager.enabled to true and provide a valid PagerDuty Events API v2 routing key. An n8n automation workflow template by Oneclick AI Squad.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Ro
Route multi-channel approval requests via Slack, Teams, WhatsApp and email
Live

By Oneclick AI Squad

Quick overview This workflow exposes a webhook-based approval gateway that sends approval requests to Slack, Microsoft Teams, and WhatsApp via webhooks/APIs, collects approve/reject responses through resume links, applies a configurable decision policy with timeout/escalation, and returns the final verdict plus an audit trail to the caller. How it works Receives a POST request on the /approval-gateway webhook with approval details (subject, description, approvers, channels, policy, and timeouts). Validates the input, creates an approval session, and generates an HMAC-signed token used to protect approve/reject actions. Builds channel-specific messages for Slack (Block Kit), Microsoft Teams (Adaptive Card), WhatsApp Cloud API (interactive buttons), and an email-friendly HTML payload with approve/reject links. Sends the approval request to Slack and Microsoft Teams via incoming webhooks and to WhatsApp via the WhatsApp Cloud API. Waits for approvers to respond through the workflow resume URL or for the timeout path to trigger escalation. Verifies the signed token, aggregates decisions using the selected policy (any/all/majority/first), finalizes the status, and returns the final decision and full audit object in the webhook response. Setup Replace the signing secret in the workflow’s configuration with a long, random value to secure the HMAC-signed approval tokens. Create and paste your Slack Incoming Webhook URL and Microsoft Teams Incoming Webhook URL into the workflow configuration (or node URL fields). Configure WhatsApp Cloud API access by setting the Graph API messages endpoint (phone number ID) and a permanent access token in the workflow configuration/headers. Ensure the system that calls this workflow can POST the required JSON fields (at minimum subject and approvers) to the /approval-gateway webhook URL. An n8n automation workflow template by Oneclick AI Squad.

N8nUpdated 4 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Au
Authorize AI agent actions with Postgres, Slack, and PagerDuty alerts
Live

By Oneclick AI Squad

Quick overview This workflow exposes a webhook-based policy-as-code authorization service that evaluates AI agent action requests against prioritized rules stored in Postgres, logs every decision for auditing, and optionally sends Slack and PagerDuty alerts for high-risk denials or approval requirements. How it works Receives a POST request on the /policy-evaluate webhook (or runs manually/on a schedule) to start an authorization evaluation. Ensures the required Postgres tables exist for policies, decisions, and run tracking. Loads enabled policies (ordered by priority) and 24-hour decision statistics from Postgres, then merges them with embedded fallback policies and configuration. Normalizes the incoming request, calculates a risk score, and evaluates policies in priority order to return the first matching effect (allow, deny, or require_approval). Writes the decision and a run summary to Postgres for auditability. If the decision is deny or require_approval and the risk score exceeds the configured threshold, sends a notification to Slack and optionally triggers PagerDuty for severe denials. Responds to the webhook caller with the final decision payload including the matched policy, reason, and risk score. Setup Configure a Postgres credential and ensure the target database is reachable from n8n. Update the embedded CONFIG values (especially the default effect, embedded policies, risk thresholds, Slack incoming webhook URL, and optional PagerDuty routing key). Activate the workflow and copy the webhook URL for /policy-evaluate into the AI agent/tooling that needs authorization checks. (Optional) Seed the agent_policies table with your own enabled policies to override the embedded fallback rules. An n8n automation workflow template by Oneclick AI Squad.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Qu
Qualify and reply to form leads using OpenRouter, Gmail, and Google Sheets
Live

By Rafael

Quick overview This workflow captures new submissions from an n8n Form, uses OpenRouter to score and draft a personalized reply, logs the lead in Google Sheets, and sends emails via Gmail only for qualified leads, then reminds the owner to follow up after 48 hours. How it works Receives a new lead submission via an n8n Form with contact details, request, and urgency. Sends the lead details and your business context to OpenRouter to return a JSON score, summary, and ready-to-send email reply. Checks whether the lead meets the minimum qualification score. If qualified, sends the drafted reply to the lead via Gmail and appends a “replied” row to the Leads tab in Google Sheets. If not qualified, appends a “not_qualified” row to the same Google Sheets tab without emailing the lead. For qualified leads, waits 48 hours and then emails the owner a Gmail reminder to follow up. Setup Add an OpenRouter HTTP Header Auth credential (Authorization: Bearer YOUR_KEY) and ensure the OpenRouter endpoint is reachable. Connect Gmail OAuth2 credentials for sending replies to leads and reminder emails to the owner. Connect Google Sheets OAuth2 credentials, select the target spreadsheet, and ensure it has a tab named “Leads” with headers Timestamp, Name, Email, Request, Score, Summary, Status. Update the business description, tone, owner email address, and minimum score threshold in the configuration step before activating the workflow. Requirements n8n (self-hosted or Cloud) OpenRouter API key (the default free model costs $0) Gmail account (OAuth2) Google Sheet with a Leads tab and headers: Timestamp, Name, Email, Request, Score, Summary, Status Customization Swap the model in AI Qualify + Draft Reply for any OpenRouter model Raise or lower min_score in Prepare Lead + Config to be stricter or looser Add form fields (budget, suburb) in Lead Form and mention them in the AI prompt Replace Gmail with Outlook or SMTP Change Wait 48 Hours to a different follow-up time Additional info Tested end to end with five sample leads: two real jobs got replies, and a vague question, a one-word “hi” and an SEO sales pitch were filtered out. The lead is only ever emailed once; the follow-up reminder goes to you, never to them. An n8n automation workflow template by Rafael.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
iamvaar logo
Diagnose solar production losses with SolarEdge, Open-Meteo, Gemini, Postgres, Jira and Slack
Live

By iamvaar

Quick overview Youtube Video: https://youtu.be/7lmQu9wd46w This workflow runs on a monthly schedule (or manually) to compare SolarEdge energy production against weather-adjusted expectations using Open-Meteo and Postgres history, then uses Google Gemini to attribute losses and, for anomalies, creates Jira work orders and posts alerts to Slack. How it works Runs on a monthly schedule (or when executed manually) and loads site configuration such as date range, expected kWh, and thresholds. Pulls daily energy production for the configured period from the SolarEdge Monitoring API and fetches hourly radiation and cloud cover data from Open-Meteo. Queries Postgres for the site’s last 30 days of performance history and the most recent incidents to build diagnostic context. Calculates actual vs expected production, weather-adjusted losses, performance ratios, anomaly flags, and historical baselines, then upserts the results into a Postgres solar performance table. If the period is anomalous, sends the metrics and historical context to Google Gemini to generate a structured root-cause attribution, confidence, priority, and recommended actions. Stores the AI diagnosis as an open incident in Postgres, creates a Jira task with the diagnosis details, links the Jira key back to the incident, and posts an alert to a Slack channel. If no anomaly is detected, posts a daily/period summary message to Slack. Setup Configure credentials for SolarEdge (OAuth2), Postgres, Google Gemini (PaLM/Generative Language API), Jira Software Cloud, and Slack. Update the Config values for your site (SolarEdge site ID, latitude/longitude, timezone, expected_kwh, loss_threshold_pct, evaluation date and period dates, and Jira base URL). Ensure Postgres has the required tables and constraints used by the queries (solar_daily_performance and solar_incidents, including the ON CONFLICT keys). Select the target Slack channel and confirm the Jira project and issue type used for creating work orders match your Jira setup. Activate the workflow and adjust the schedule trigger interval if you want a different cadence than monthly. An n8n automation workflow template by iamvaar.

N8nUpdated 4 hours ago
Free
No ratings
  • 8 nodes
Workflows
  • Automation
  • AI
久保田 卓磨 logo
Create freee Invoice quotation drafts from Gmail or forms with Claude Haiku
Live

By 久保田 卓磨

Quick overview This workflow turns Gmail or form-submitted quotation requests into unsent freee Invoice quotation drafts by extracting requested items with Anthropic Claude and pricing them from a Google Sheets price list, then notifies staff with the result. How it works Triggers when a new matching email arrives in Gmail or when someone submits the n8n form with a pasted quote request. Normalizes the request into a common structure and loads configuration values like freee company ID, spreadsheet ID, and staff notification email. Fetches your price list from Google Sheets and retrieves your partner list from the freee API. Sends the request text plus a catalog view of the price list (without prices) to Anthropic Claude to extract requested items, quantities, units, and supporting quotes from the original text. Validates Claude’s extraction against the original request, prices only verifiable items using the sheet’s unit_price and tax_rate, and resolves the customer to a freee partner by sender email or exact company-name match. Creates an UNSENT quotation draft in freee Invoice with priced lines and adds “※要確認 / To check” note lines for ambiguous or unpriceable items. Sends a detailed result to staff via Gmail or shows it as the form completion message, including the freee draft link when available and any items that were dropped or need review. Setup Create and authorize a freee Developers app with access to partners (read) and freee Invoice quotations (read/write), then add an OAuth2 credential in n8n for the freee API. Add credentials for Gmail (trigger and send), Google Sheets OAuth2 (to read the price list via the Sheets API), and Anthropic (Claude) in n8n. Prepare a Google Sheet tab with headers: code, name, aliases, unit, unit_price, tax_rate, and fill it with your catalog and pricing. Update the workflow’s Config values (freee_company_id, price_sheet_id, price_sheet_tab, staff_email, tax settings, timezone) and adjust the Gmail trigger search query to match your incoming request emails. If using the form entry path, publish the form and share its URL with your team for manual request pasting. Requirements freee with freee Invoice (freee請求書) and an app in freee Developers (permissions: partners read, [請求書] all document types read/write); an n8n OAuth2 API credential for freee. Gmail and Google Sheets (OAuth2), an Anthropic API key (one Claude call per request). A price list sheet with the header code, name, aliases, unit, unit_price, tax_rate. Customization Set the freee company ID, sheet, staff e-mail, honorific, tax entry method, rounding and expiry in Config. Change which mails count in the Gmail search of New request mail (or use a label). Change how strict the checks are in Check and price. Send the notice to Slack or Teams instead of Gmail. Additional info The AI never sets prices: Claude lists items, quantities and the exact words; code checks them and takes every unit price from the sheet. Unknown items and quantities not written in the mail become "To check" lines without a price. Tested on a freee developer test company (corporate Starter) with a made-up price list: five requests including a real Gmail mail and the form; freee's totals matched the workflow's own every time. An n8n automation workflow template by 久保田 卓磨.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Ch
Chat with local documents using Ollama and MariaDB Vector cache
Live

By Quirino Scaramastra

Quick Overview This workflow ingests documents from an FTP server into MariaDB Vector using Ollama embeddings, then provides a local chat interface that answers questions with retrieved context and caches repeated questions in a MariaDB Q&A table. How it works Starts a manual ingestion run that lists and downloads a file from an FTP server and extracts its text. Sends the extracted text to an Ollama chat model to generate a short summary and assign a category from an allowed list. Splits the document text into chunks, creates embeddings with Ollama, and inserts each chunk plus its vector and metadata into a MariaDB documents table. Receives a question via an n8n Chat trigger and normalizes it to look up a matching answer in the MariaDB qa_cache table. If there is no cached answer, embeds the question with Ollama and retrieves the top similar chunks from MariaDB using vector distance. Builds a context-cited prompt from the retrieved chunks and uses an Ollama chat model to answer strictly from that context. Stores the new answer back into qa_cache and returns either the cached or newly generated answer to the chat. Setup Set up a MariaDB 11.7+ database with the documents (VECTOR column) and qa_cache tables, and add an n8n MySQL/MariaDB credential. Run Ollama and ensure the chat and embedding models are available, then set the Ollama base URL and model names in the workflow settings nodes. Add an FTP credential and update the FTP path to point to the document(s) you want to ingest. Adjust the allowed category list for classification and the top_k retrieval value to match your use case. An n8n automation workflow template by Quirino Scaramastra.

N8nUpdated 4 hours ago
Free
No ratings
  • 13 nodes
Workflows
  • Automation
  • AI
Re
Review Paddle Billing subscription consistency with a Postgres cache
Live

By Nuvetra Automation Lab

Quick overview This read-only workflow compares Paddle Billing subscription data against a Postgres subscription cache using two observations taken ~10 seconds apart, then generates a private HTML report highlighting stable mismatches in status, plan, and access decisions. How it works Starts manually and loads the review configuration (demo/live mode, Paddle environment, settle window, price-to-plan mapping, and access policy rules). In demo mode, loads two fictional Paddle and Postgres observations taken 15 seconds apart. In live mode, validates the configuration, then fetches up to 200 subscriptions from the Paddle API and up to 200 rows from Postgres to capture the first observation. Waits 10 seconds and repeats the Paddle API and Postgres reads to capture a second observation. Compares Paddle subscriptions to the Postgres cache using the configured mappings, deferring records updated too recently (or with overdue scheduled changes) and keeping only discrepancies that appear identically in both observations. Renders the results into an HTML report and outputs it as a downloadable file. Setup Set demoMode=true to run without credentials, or set demoMode=false and choose environment=sandbox or production in the configuration. For live mode, add a Paddle API key as an HTTP Header Auth credential (Authorization: Bearer ) and ensure it has permission to read subscriptions. Add Postgres credentials with SELECT-only access and either create a view/table named public.billing_subscription_cache or update both Postgres queries to return subscription_id, status, plan, access (boolean), and updated_at. Update the pricePlans mapping to include every Paddle price ID you use and review the accessPolicy rules for active, trialing, past_due, paused, and canceled. Keep both data sources under the 200-record limit (Paddle first page only and up to 200 cache rows) to avoid the workflow blocking the run. An n8n automation workflow template by Nuvetra Automation Lab.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Mo
Monitor FortiGate WAN health and clear top bandwidth users via Gmail
Live

By Amir Anwar

Quick overview Monitors FortiGate SD-WAN link health and real-time bandwidth usage. Sends Gmail reports and alerts for WAN outages, congestion, and slow connections. Supports secure, passphrase-verified email commands to identify the top bandwidth user and optionally clear their sessions through SSH, enabling automated network visibility, troubleshooting, and traffic management. How it works Triggers either when a matching Gmail message is received or every 10 minutes on a schedule. Parses the newest allowed email command to decide whether to run a read-only report or request a session clear, and loads the full email to verify the sender for kill requests. Queries the FortiGate REST API for SD-WAN members, health-check status, interface bandwidth capacity, and FortiView top sources and destinations. Analyzes WANs as OK/SLOW/CHOKED/DOWN based on capacity, latency, and packet loss thresholds, and selects an eligible top private-IP bandwidth user that is not in the protected list. If a verified email command requests it, connects to the FortiGate via SSH to clear sessions for the selected top source, waits 10 seconds, and re-queries top sources and SD-WAN members. Builds an HTML email report and sends it via Gmail for every email command, or only on WAN problems and once on recovery for scheduled monitoring. Setup Create a FortiGate REST API admin and add an n8n HTTP Header Auth credential with an Authorization Bearer token for the FortiGate API requests. Create a FortiGate CLI admin with SSH access from your n8n host and configure an SSH credential for the session-clearing step. Connect a Gmail account for reading command emails and sending reports, then update the Gmail search query to include your chosen passphrase. In the workflow settings values, set your FortiGate URL, allowed sender emails, report recipient, WAN interface names, protected IPs, and any thresholds (choke/latency/loss, cooldown, top N). An n8n automation workflow template by Amir Anwar.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Socialrobot.io logo
Post Etsy and Shopify products to Pinterest and Instagram with SocialRobot and OpenAI
Live

By Socialrobot.io

Quick overview This workflow runs daily (or manually) to pull products from Etsy (RSS or API) or Shopify, generate Pinterest and Instagram copy with OpenAI (optional), then publish a Pinterest pin and an Instagram photo via SocialRobot while tracking posted products in an n8n Data Table. How it works Runs on a daily schedule at 10:00 (or via manual trigger) and loads your catalog, posting, and copy settings. Uses SocialRobot to identify the connected Pinterest account and select the target Pinterest board. Fetches product listings from Etsy RSS, the Etsy API, or Shopify (based on your configuration) and normalizes them into a consistent product format with images and product links. Checks an n8n Data Table to skip products that have already been posted and limits the run to the configured number of products. If enabled, uses OpenAI to write Pinterest titles/descriptions and Instagram captions from the listing facts and falls back to template copy when AI output is unsuitable. Publishes a Pinterest pin (via the SocialRobot API) and an Instagram photo (via SocialRobot), then records successful posts in the Data Table or stops with a readable error if nothing was posted. Setup Install the SocialRobot community node (@socialrobot-io/n8n-nodes-socialrobot) and add your SocialRobot API key credentials (SocialRobot node credential plus an HTTP Header Auth credential with x-api-key) for the SocialRobot API requests. Connect your Pinterest and Instagram accounts in SocialRobot, and select the correct Instagram account in the Instagram posting step. Configure a product source: set your Etsy shop name for RSS, add an Etsy API key (x-api-key) for the Etsy API option, or add Shopify access token credentials with read_products scope for the Shopify option. Create an n8n Data Table named socialrobot_posted_products with the columns used for tracking (product_key, source, title, product_url, pinterest_post_id, instagram_post_id, posted_at). Update Set Catalog Configuration with your source, shopify_store_url (if using Shopify), pinterest_board_name (and optionally account/board IDs), and any copy preferences such as language, tone, and hashtags. Add an OpenAI credential for the OpenAI Chat Model node (or set use_openai to false), run the workflow once manually to verify output, then activate the schedule. An n8n automation workflow template by Socialrobot.io.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
AI Flow Packs logo
Review and monitor KYB ownership chains with GLEIF, OpenAI, and Gmail
Live

By AI Flow Packs

Quick overview This workflow accepts KYB ownership-review requests via webhook, pulls corporate ownership-chain data from the GLEIF API, generates a structured risk memo with OpenAI, and manages human approvals and notifications through Gmail, while logging outcomes in n8n Data Tables and re-checking accepted clients weekly for changes. How it works Receives a header-authenticated webhook request containing an LEI (or legal name and country) and validates the input, including ISO 17442 check digits for LEIs. Looks up the entity in the GLEIF API, ensures the match is unambiguous, and checks n8n Data Tables to prevent duplicate open reviews or reuse a recent accepted decision. Walks the GLEIF direct-parent chain up to a configured maximum depth, captures reporting exceptions, and also fetches the ultimate-parent relationship to complete the chain context. Applies rule-based KYB flags (for example FATF-listed country links, lapsed/withheld registry data, circular ownership, or declaration discrepancies) and calculates a minimum risk-rating floor plus a suggested document list. Uses an OpenAI agent (with optional GLEIF lookups and prior-review retrieval) to produce a structured memo and then emails a review pack to the reviewer via Gmail with a decision form link. Routes the reviewer’s decision to accept, request documents, escalate, or ask up to two follow-up questions to the OpenAI agent, and requires a second approver via Gmail for accepting high-risk cases. Writes the final decision to the kyb_reviews table, optionally upserts a monitoring baseline in kyb_monitoring for accepted cases, and notifies the requester and (if escalated) the compliance officer by email. Runs every Monday on a schedule to re-check monitored clients in GLEIF and, when the ownership fingerprint changes, reopens a review by posting back into the same webhook. Setup Run the manual setup trigger once to create the kyb_reviews and kyb_monitoring n8n Data Tables (or confirm they already exist). Create credentials for Gmail, an OpenAI API key (Chat model), and an HTTP Header Auth credential for the intake webhook and for the “reopen review” HTTP request. Replace the placeholder reviewer, senior approver, compliance officer, and ops alert email addresses in the workflow settings nodes. Copy the production webhook URL for the intake endpoint into the monitoring configuration so the weekly checker can reopen reviews through the webhook. (Recommended) Set this workflow as its own error workflow so failures trigger the Gmail ops alert message. Requirements A recent n8n version with Data Tables, cloud or self-hosted (tested on n8n 2.44.4) An OpenAI API key (gpt-4.1-mini by default, about 2 model calls per review) A Gmail account for the review pack, the senior approval and the notifications; no key needed for GLEIF (free public API) Customization Edit severities, suggested documents, legal-form patterns and the rating thresholds in "Assess ownership risk flags", and REUSE_DAYS / OPEN_REVIEW_DAYS in "Check open reviews and reuse window". Update fatf_black_list, fatf_grey_list and fatf_list_date after each FATF plenary, and add your own list in extra_high_risk_countries (for example the EU list of high-risk third countries). Change MAX_FOLLOW_UPS and the senior approval rule in "Apply review policy", and the waiting times in the Wait and Gmail approval nodes. Change the weekly schedule, or send the alerts to Slack or Microsoft Teams instead of Gmail. Replace the OpenAI model with Anthropic, Gemini, Mistral or a local model through Ollama. Additional info Limitations: GLEIF Level 2 data shows accounting-consolidation parents, not beneficial owners; the workflow never names a natural person as beneficial owner and asks for a UBO declaration instead. Only entities with an LEI are covered (others get HTTP 422 and need a manual check). Parent data is self-reported and can be lapsed or uncorroborated; it is flagged but not corrected. No sanctions, PEP or adverse media screening is included. The FATF lists in the settings are dated 19 June 2026 and must be kept up to date. Client names, GLEIF data and declared owners are sent to your AI provider. This is decision support for trained compliance staff, not legal advice; a person always makes the decision. An n8n automation workflow template by AI Flow Packs.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
久保田 卓磨 logo
Create traceable PowerPoint briefs from Slack threads with Claude Haiku
Live

By 久保田 卓磨

Quick Overview This workflow turns a Slack thread or a pasted conversation into a downloadable PowerPoint (.pptx) brief using Anthropic Claude, and verifies each slide item against quoted source messages before posting the deck back to Slack or returning it via an n8n form. How it works Triggers when someone mentions the Slack app in a thread or submits the n8n form with a pasted conversation. For Slack, it fetches all thread replies from Slack, looks up participant names via the Slack Web API, and builds a cleaned transcript that excludes bots and the request message. It applies limits and formatting to create a numbered transcript and sets the slide purpose (from the Slack mention text or the form field). Anthropic Claude generates a JSON brief (title, background, discussion points, decisions needed, next steps) where each item includes exact quotes and message numbers as sources. The workflow validates Claude’s output by checking that each quote appears in the transcript and that any numbers/dates and owners are actually supported by the cited messages, dropping untraceable items or fields. It generates a PowerPoint file by writing Office Open XML slide parts, zips them into a .pptx, and then either uploads the file to the originating Slack thread (with a summary of included vs. dropped items) or returns the .pptx as the form response. Setup Add an Anthropic API credential for the Claude chat model used in the workflow. Add Slack credentials for both the Slack Trigger and Slack Web API actions, and ensure the Slack app has the scopes app_mentions:read, channels:history, chat:write, files:write, and users:read. Configure Slack Event Subscriptions to send app_mention events to the Slack trigger webhook URL, and install the app to the workspace/channel(s) you want to use. Update the allowed Slack user IDs list to control who can request slide creation. Optionally adjust slide limits, timezone, fonts, accent color, and section labels in the workflow configuration values. An n8n automation workflow template by 久保田 卓磨.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Wongsakorn Phasawet logo
Book and manage LINE OA appointments with OpenAI, Google Calendar and Sheets
Live

By Wongsakorn Phasawet

Quick overview This workflow lets customers book, reschedule, or cancel appointments by messaging your LINE Official Account, uses OpenAI to extract booking details, checks availability in Google Calendar, logs bookings in Google Sheets, and sends automated LINE reminders for upcoming appointments. How it works Receives incoming LINE webhook events and verifies the request signature before acknowledging valid requests with a 200 response. Splits the webhook payload into individual text messages and uses OpenAI to extract the customer’s intent (book/cancel/reschedule) and booking details. Validates the requested service and time against your opening hours, then either asks the customer for missing details or continues. Checks Google Calendar for busy times on the requested day and, if the slot is taken, replies on LINE with up to three alternative times as quick-reply buttons. If the slot is free, creates or updates the Google Calendar event and writes the booking status and metadata to a Google Sheets “Bookings” tab. Sends a confirmation message to the customer on LINE (and pushes an alert to the owner for new bookings), or deletes the calendar event and marks the booking cancelled for cancellation requests. Runs hourly to find bookings starting within the next 24 hours in Google Sheets, pushes a LINE reminder to the customer, and marks the booking as reminded. Setup In the LINE Developers Console, enable webhooks, generate a Channel access token, and add your Channel secret to the signature verification code. Create an HTTP Header Auth credential for LINE (Authorization: Bearer ) and select it in the LINE HTTP request steps. Add OpenAI, Google Calendar OAuth2, and Google Sheets OAuth2 credentials, then select the target booking calendar and set the Google Sheets document URL/ID used by the workflow. Create a Google Sheet with a “Bookings” tab and the required columns (including bookingId, status, service, date, time, startISO, userId, eventId, reminded, and rawMessage). Update the booking settings (time zone, opening/closing hours, appointment length, services list, and owner LINE user ID) to match your business. Copy the production webhook URL from n8n into LINE as the webhook URL and verify it receives events successfully. An n8n automation workflow template by Wongsakorn Phasawet.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
AI Automation Playbook logo
Rescue no-show appointments with OpenAI, Twilio SMS, and Google Sheets
Live

By AI Automation Playbook

Quick overview Dental and medical clinics, salons and spas, home-service businesses, consultants — anyone whose revenue depends on people showing up for appointments — plus agencies that want a sellable no-show recovery automation for local clients. How it works Every 30 minutes the workflow reads today’s appointments from Google Sheets and flags no-shows — appointments whose time passed 15+ minutes ago and were never marked checked-in. For each no-show it pulls up to 3 open slots, an AI agent drafts a personal rescue SMS, and Twilio sends it within minutes. When the customer replies, YES rebooks the chosen slot automatically (new appointment row plus log entry), NO is logged as lost with no further messages, and anything unclear is logged for human review. A second schedule sends exactly one gentle nudge after 2 hours of silence, then stops forever — the nudge logic is self-limiting by design, so nobody ever gets messaged twice. Reply matching is phone-number based and tolerant of formatting differences. Setup Connect your own Google Sheets OAuth2, Twilio and OpenAI credentials (all slots are placeholders — none are included) Fill the three CONFIG nodes (business name, Twilio number, sheet ID, and your business timezone, e.g. America/Vancouver — no-show detection compares appointment times against “now” in this timezone) Create Google Sheets tabs named Appointments (date, time, customer_name, phone, status, notes), OpenSlots (date, time, available) and RescueLog (sent_at, phone, customer_name, original_slot, slots_offered, status, notes) Paste the Twilio SMS Webhook production URL into your Twilio number’s messaging webhook Activate the workflow Mark check-ins in the Appointments sheet (status = checked-in) — that’s how the workflow knows who showed up Store phone numbers in E.164 format (+1...) so Twilio replies match Requirements An OpenAI API key A Twilio account with a phone number A Google account for Sheets Customization Change the 15-minute no-show threshold and the 2-hour nudge delay in the Code nodes Adjust the AI model’s SMS voice in the agent’s system prompt Swap the OpenAI model via the ai_model field in CONFIG Extend reply handling (e.g. route unclear replies to Slack instead of just logging them). An n8n automation workflow template by AI Automation Playbook.

N8nUpdated 4 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
Fi
Find hiring-intent companies weekly with Apify and Google Sheets and log them
Live

By cleanrowdata

Quick overview This workflow runs every Monday, finds companies currently hiring for selected job functions using Apify, logs new companies to Google Sheets, and optionally looks up work emails for named contacts and posts a weekly summary to Slack. How it works Runs every Monday at 8:00 based on a schedule. Loads your search criteria and reads the existing company domains from Google Sheets to use as a deduplication ledger. Collects rows in Google Sheets where you entered a contact first/last name and domain but no work email, then sends them to Apify Work Email Finder to retrieve verified or catch-all work emails. Writes any found emails (or a “not found” status and last-checked date) back to Google Sheets by matching on the company domain. Calls the Apify Hiring Intent Contacts actor to fetch companies hiring in your chosen locations and time window, including public-site emails and sample job details. Filters out companies already present in Google Sheets, flags whether only generic inbox emails were found, and appends new companies as new rows. Builds a weekly run summary and, if enabled, posts it to a Slack channel, while sending a Slack alert and failing the run if the Apify company search fails. Setup Create an Apify API token and configure an HTTP Header Auth credential that sends Authorization: Bearer for both Apify HTTP requests. Connect Google Sheets credentials and set the target spreadsheet URL and sheet tab name in the workflow settings, ensuring the tab includes columns like domain, contact name fields, and email/status fields. (Optional) Add an Abstract Email Validation API key in abstract_api_key if you want Apify Work Email Finder to use it for verification. (Optional) Connect Slack credentials, set send_slack_summary to true, and choose the target slack_channel for summaries and failure alerts. Adjust the job functions, locations, time window, and per-run limits in the workflow settings to control volume and cost. An n8n automation workflow template by cleanrowdata.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Lo
Log and analyze call recordings in Google Sheets with Palatine Speech
Live

By Palatine Speech

Quick overview This workflow watches a Google Drive folder for new call recordings, downloads each audio/video file, transcribes and analyzes sentiment with Palatine Speech, summarizes the transcript, and appends the date, filename, summary, sentiment, and transcript to a Google Sheets call log. How it works Triggers when a new file is created in a specific Google Drive folder. Filters the event to only continue for audio or video files based on MIME type or file extension. Downloads the call recording from Google Drive. Sends the recording to Palatine Speech to generate a transcription and a sentiment analysis in parallel. Combines the transcription and sentiment results and asks Palatine Speech to summarize the transcript as a meeting summary. Formats the date, original filename, summary, sentiment JSON, and full transcript into a single record and appends it as a new row in Google Sheets. Setup Install n8n-nodes-palatine-speech on self-hosted n8n, or select the verified package if it is available in your n8n Cloud workspace. Add Google Drive credentials, select the folder to watch, and ensure the trigger has permission to read new files. Add Palatine Speech credentials for the transcription, sentiment, and summarization steps. Connect Google Sheets credentials and select the target spreadsheet and sheet. Create these exact headers: Date, File, Summary, Sentiment, Transcript. Test a short recording, verify all five cells and the output format, then publish the workflow. Test with a non-media file to confirm it is ignored. Requirements Google Drive read access to the recordings folder, Google Sheets write access to the call log, and a Palatine Speech API account with transcription, sentiment and text summarization available. Install the Palatine Speech community node and select credentials in each relevant node. Customization Adapt the summary prompt for sales or support calls, add a review queue or notification based on the returned sentiment data, or store long transcripts separately and add a link to the sheet. Check AI-generated analysis against the recording. Additional info The Summary and Sentiment columns preserve structured results as JSON text when the service returns objects. The workflow appends a row per processed recording; it does not deduplicate repeat runs. Need help with Palatine Speech? Check info here: speech.palatine.ru Documentation: docs.speech.palatine.ru. An n8n automation workflow template by Palatine Speech.

N8nUpdated 4 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Mo
Monitor web product prices and send change alerts with HTTP and Telegram
Live

By James Brown

Quick Overview This workflow runs hourly to scrape product prices from web pages using HTTP requests and CSS selectors, compares them to previously stored values, and sends Telegram alerts when prices change or drop. How it works Runs every hour on a schedule trigger. Loads your product list (name, URL, and CSS selector), plus alert preferences like chat ID and whether to alert only on drops. Downloads each product page via HTTP and extracts the price text from the HTML using the provided CSS selector. Parses the extracted price into a number, compares it with the last stored price in workflow static data, and keeps only real changes (optionally only decreases). Sends a formatted Telegram message with the old price, new price, percentage change, and a link to the product page. Setup Create a Telegram bot and add Telegram API credentials in n8n. Update the Telegram chat ID, the onlyDrops setting, and the products list (URL and CSS selector) in the alert settings. Execute the workflow once manually to initialize stored prices, then activate it to run on the hourly schedule. An n8n automation workflow template by James Brown.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
María Laura Vitelli logo
Create CTD dossier folders and AI-drafted assignment emails with Google Workspace and Gemini
Live

By María Laura Vitelli

Quick overview This workflow watches a Google Sheets intake form for new CTD dossier requests, creates a structured folder set in Google Drive, uses Google Gemini to draft module assignment emails for human approval in Gmail, logs assignments to a tracking sheet, and sends scheduled reminder emails as due dates approach. How it works Triggers when a new row is added to a Google Sheets intake spreadsheet. Reads all registrations, identifies rows with the same product and dosage form (or missing required fields), and deletes the duplicate/invalid rows from Google Sheets. Creates a CTD dossier root folder in Google Drive and builds a list of CTD modules with their checklist filenames. For each module, creates a subfolder in Google Drive, downloads the module checklist via HTTP, uploads it to the module folder, and emails an error alert via Gmail if the upload fails. Uses Google Gemini (with a Google Sheets lookup tool) to find the module owner and draft an HTML assignment email with folder links and a due date. Sends the drafted email to a reviewer via Gmail for approval, then emails the module owner with the checklist attached and appends a tracking row to a Google Sheets tracking spreadsheet. On a schedule, reads the tracking sheet, calculates days remaining to each due date, and sends reminder emails via Gmail for incomplete modules that are due soon or overdue. Setup Configure Google credentials for Google Sheets, Google Drive, and Gmail, plus a Google Gemini (Google AI) connection for the LangChain agent. Select the Google Sheets documents and sheet tabs for the intake sheet, the module-owners sheet (Module, Owner, Email), and the tracking sheet, and ensure the intake sheet includes “Nombre del Producto” and “Forma Farmacéutica” columns. Update the workflow settings values such as reviewer email, parent Google Drive folder ID, checklist base URL, deadline days, initial/completed status labels, and reminder threshold days. Host the module checklist .xlsx files at the configured base URL with filenames that match the module list, and ensure the workflow’s module names exactly match the “Module” values in the owners sheet. An n8n automation workflow template by María Laura Vitelli.

N8nUpdated 4 hours ago
Free
No ratings
  • 8 nodes
Workflows
  • Automation
  • AI
Romuald Członkowski logo
Connect Claude or ChatGPT via MCP to wFirma invoicing and KSeF
Live

By Romuald Członkowski

Quick overview Connect Claude, ChatGPT or any MCP client to wFirma, the Polish invoicing and accounting service. Nine tools cover about 40 API modules: search and edit invoices, contractors, payments and expenses, read the official API docs live and save PDFs to Google Drive, with a guard for irreversible KSeF actions. How it works An MCP Server Trigger with n8n User Auth (OAuth2) exposes 9 tools. Users sign in with their n8n account, and only people allowed to run the workflow can connect. Every tool calls a gateway inside the same workflow ($workflow.id), so you import one file. The Plan node builds the wFirma API URL and checks whether the call needs approval; Route sends it to the API, the approval guard or the docs branch. For API calls, the XML node converts the request into wFirma's XML format, the HTTP Request node sends it, and the answer is parsed back into clean JSON with ok, status, records and pagination. If wFirma rate-limits a read (find/get), the workflow waits 35 seconds and retries once. Writes are never retried automatically. Deleting records, e-mailing invoices, fiscalization and final invoices (sent to KSeF, irreversible) need confirmed=true. Without it the server returns CONFIRMATION_REQUIRED, so the model must ask the user first. Drafts, pro forma invoices and offers go through directly. wfirma_docs fetches the official wFirma Postman collection and returns the module's fields and XML examples as Markdown, so the model uses correct field names before writing. wfirma_download_pdf saves the invoice or document PDF to your Google Drive folder and returns the link to the file. Setup Create a Custom Auth credential with {"headers":{"accessKey":"…","secretKey":"…","appKey":"…"}}. Generate accessKey and secretKey in wFirma (Ustawienia → Bezpieczeństwo → Aplikacje → Klucze API) and request the appKey from wFirma. Select the credential in the wFirma API and Download PDF nodes. In the Config node, set drive_folder_id to the Google Drive folder for PDFs. Set company_id only if your login has several companies; you can find it with wfirma_find on module user_companies. Select your Google Drive credential in the Upload PDF to Drive node. Activate the workflow, copy the MCP URL from the MCP Server Trigger, add it to your MCP client and log in with your n8n account. Requirements n8n with the MCP Server Trigger v2 or newer A wFirma account with API keys (accessKey, secretKey) and an appKey from wFirma A Google Drive credential (only for saving PDFs) An MCP client that supports OAuth, such as Claude or ChatGPT Customization Change which operations need confirmation in the needs_confirmation field of the Plan node Switch the MCP Server Trigger to Bearer auth if your client does not support OAuth Add shortcut tools by copying a tool node and fixing its module and action Replace the Google Drive node to store PDFs somewhere else Additional info The official wFirma API docs are in Polish, so wfirma_docs returns Polish field descriptions; tool descriptions and messages are in English Invoice drafts created through the API are not sent to KSeF; only final invoice types are, and those need confirmed=true Keep per-tool approval on in your MCP client for the write tools. An n8n automation workflow template by Romuald Członkowski.

N8nUpdated 4 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
  • AI
Mo
Monitor AI crawler policy signals via HTTP, Data Tables, email and Slack
Live

By Ad Astra Connect

Quick overview Track published AI crawler rules on selected websites and optionally monitor llms.txt presence and content hashes. Receive one email for baselines or changes, with persistent snapshots in a Data Table. How it works A manual trigger or hourly tick gated by policyCheckHour in Config loads per-site snapshots once daily from a Data Table. Fetch public files using a descriptive User-Agent, a 20-second timeout, paced requests and up to three transient attempts. Preserve successful responses during retries. Parse case-insensitive user-agent groups, select the most specific match, merge equally specific groups and fall back to *. Strip comments, handle BOM and CRLF, ignore empty restrictions, and use the longest matching root rule with Allow winning ties. Compare each bot's status and canonical path lists, plus optional llms.txt presence and hash. A robots.txt 404 means allow all. Other fetch errors are reported without changing that site's saved snapshot. Send one SMTP email if required, then upsert successful snapshots by siteKey. No change sends no email. New baselines can be silent through Config. Setup Create a Data Table with siteKey, robotsHash, policyJson and llmsTxt as String columns and checkedAt as Date. Enter its ID, site origins, bot tokens and email addresses in Config, then select an SMTP credential. Run twice manually before publishing the daily schedule. See SETUP.md for details. Requires n8n 2.8.4, Data Tables, an SMTP credential and outbound public HTTP access. Requirements n8n 2.8.4, Data Tables, an SMTP credential and outbound public HTTP access. Public GET requests require no API credentials. Keep workflow executions sequential. The included test harness requires Node 20 and cached n8n 2.8.4. Customization Edit Config for origins, crawler tokens, llms.txt checks, baseline emails, request pacing, addresses and policyCheckHour (0 to 23, default 9). The fixed hourly trigger checks the selected hour in the workflow or instance timezone; manual checks run immediately. A fuller version could also audit meta robots tags and X-Robots-Tag headers across many pages. Additional info Who is this for Website owners, marketing teams and IT teams tracking published AI crawler preferences on a small list of public websites. What it does Fetches robots.txt and evaluates configured crawler tokens as blocked, allowed or partial, with their allow and disallow paths. Optionally checks llms.txt presence and SHA-256 hash without storing its content. Sends one escaped HTML summary for new baselines or meaningful changes, including short added and removed robots.txt lines. robots.txt is a voluntary convention; this template reports what sites publish and does not assess legal compliance. Tested: parent-run mock and live suites passed on 2026-10-23 with n8n 2.8.4, including real import, Data Tables, SMTP rejection recovery, unchanged-run silence and three public sites. The review subsequently added a Config schedule gate and disabled duplicate native HTTP retries; its offline checks pass, but the final export needs a parent end-to-end rerun. See TESTING.md. Third-party product names are used only to describe compatibility. This template is not affiliated with or endorsed by those companies. An n8n automation workflow template by Ad Astra Connect.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Ashish Agarwal logo
Audit SPF, DKIM and DMARC DNS for sheet domains with Google DNS, GPT-4o-mini and Telegram
Live

By Ashish Agarwal

Quick Overview This workflow checks SPF, DKIM, DMARC, and MX DNS records for a list of domains using Google Public DNS over HTTPS, compares the results to the previous run, and sends a Telegram message only when problems appear, get fixed, or records change. How it works Runs daily at 8:00 or on-demand via a manual test trigger. Reads a comma-separated list of domains (optionally with DKIM selectors) and builds DNS queries for MX, SPF (TXT), DMARC (TXT), and each DKIM selector (TXT). Calls Google Public DNS over HTTPS (dns.google/resolve) to resolve each requested record, retrying failed requests and treating unresolved lookups as unknown rather than missing. Evaluates each domain’s responses to flag issues such as missing/unsafe SPF, missing or weak DMARC settings, missing/revoked DKIM selectors, and missing MX. Compares current results with stored results from the last scheduled run to generate a change-only report (new issues, fixed issues, and edited record values), while manual runs produce a full report. Sends the compiled alert message to a Telegram chat. Setup Add your domains in the domain list field (comma-separated) and include any DKIM selectors after a colon, for example: example.com, mycompany.com:google|selector1. Create a Telegram bot, add the Telegram credential in n8n, and set the target chat ID in the Telegram send message step. Adjust the schedule time if needed, then run a manual test to verify the report before activating the workflow. An n8n automation workflow template by Ashish Agarwal.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
iamvaar logo
Route webinar leads to sales with Google Sheets, Google Gemini, and Slack
Live

By iamvaar

Quick overview Youtube Video :https://youtu.be/4S5f9Cc8zdQ?si=NT9Te6CLndH6f5S0 This workflow pulls webinar engagement and CRM context from Google Sheets, uses Google Gemini to classify each attendee’s buying intent, and writes qualified lead logs, sales tasks, and follow-up schedules back to Google Sheets, then posts a run summary to Slack. How it works Runs manually to start a webinar routing run. Reads webinar configuration, registrants, attendance, poll responses, questions, CRM contacts, routing rules, follow-up sequences, and an exclusion list from a Google Sheets spreadsheet. Merges these inputs into one normalized attendee profile per email, including engagement metrics, inferred buying signals, and exclusion flags. Sends each attendee profile plus the routing rules to Google Gemini and parses a structured classification (segment, intent score, recommended task type, sequence, and messaging hints). Applies guardrails and fallbacks (for competitors, customers, open deals, no-shows, or AI errors) and appends the final routing decision to the Qualified_Leads_Log sheet. Creates task records for routed leads that require human action and appends them to the Sales_Tasks sheet. Expands each lead’s assigned follow-up sequence into scheduled outreach steps and appends them to the Followup_Queue sheet. Builds a run summary with segment counts and top active buyers and posts it to a Slack channel. Setup Create a Google Sheets service-account credential in n8n, share the target spreadsheet with the service account email, and set the spreadsheet ID used by the workflow. Ensure the spreadsheet contains the expected tabs: Webinar_Config, Registrants, Attendance, Poll_Responses, Questions, CRM_Contacts, Routing_Rules, Followup_Sequences, Exclusion_List, Qualified_Leads_Log, Sales_Tasks, and Followup_Queue. Add a Google Gemini (PaLM) API credential for the intent-classification step. Add a Slack OAuth credential and select the channel where the run summary message is posted. An n8n automation workflow template by iamvaar.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
iamvaar logo
Investigate Sentry incidents with Google Gemini, Postgres, GitHub and Slack
Live

By iamvaar

Quick overview This workflow receives Sentry issue alert webhooks, gathers related context from Sentry, GitHub, and a Postgres incident database, then uses Google Gemini to generate a structured incident investigation report, saves it back to Postgres, and posts a summary to Slack. How it works Receives a POST webhook from Sentry when an issue alert fires and normalizes the payload into a consistent incident context (issue ID, title, environment, and links). Checks Postgres to see if an investigation record already exists for the same Sentry issue ID and proceeds only if it is new. Fetches the latest issue details from Sentry and retrieves recent commits from the configured GitHub repository. Searches Postgres for up to 10 similar historical incidents based on the current issue title and recent incident reports. Bundles the Sentry issue data, GitHub commit context, and historical incidents and sends the evidence to Google Gemini to produce a JSON investigation report with severity, hypotheses, and recommended actions. Validates and scores the AI output, then upserts the full investigation (evidence and report) into Postgres. Posts an incident summary message to a Slack channel with severity, confidence, and a link back to the Sentry issue. Setup Configure your Sentry integration to send issue alert webhooks to this workflow’s webhook URL and ensure the payload includes a Sentry issue ID. Add Sentry API credentials in n8n so the workflow can fetch issue details. Add GitHub API credentials and update the repository URL/owner/name used to fetch recent commits. Set up a Postgres database with an incident_investigations table matching the fields used in the SELECT and INSERT/UPSERT queries, then add your Postgres credentials in n8n. Add a Google Gemini (PaLM) API credential for the chat model used by the AI agent. Add Slack OAuth credentials and set the target channel for posting the incident summary. An n8n automation workflow template by iamvaar.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Se
Send quotes, invoices, receipts and reminders from Google Sheets with Koutei and Gmail
Live

By Hugo

Quick overview This workflow monitors a Google Sheets jobs tracker and, based on each row’s stage, generates quote, invoice, or receipt PDFs via Koutei and emails them with Gmail, while also sending overdue invoice reminders and writing any validation or delivery issues back to the sheet. How it works Runs on a manual trigger, every 30 minutes, and every morning at 9:00 to handle reminders. Reads all rows from a specified Google Sheets tab and evaluates each row’s stage and required fields to decide what action is needed. For rows requesting a document, marks the row as “Sending…” to prevent duplicate sends, then prepares the appropriate payload for Koutei (quote, deposit invoice, balance invoice, or receipt). Validates the document data with Koutei and, if valid, requests the final PDF from Koutei using an idempotency key to avoid duplicate document creation on retries. Emails the generated PDF via Gmail (to the owner in preview mode, or the client in final mode) and updates the Google Sheets row with the new stage, totals, due date, email ID, and other tracking fields. On the daily reminder run, finds overdue deposit or balance invoices, re-downloads the original sent invoice email attachment from Gmail, and emails a reminder with the same PDF while updating the row’s reminder tracking fields. When validation, PDF generation, emailing, or sheet updates fail, writes an actionable status note back to the relevant sheet row and emails the owner with any new non-waiting issues. Setup Create or copy a Google Sheets job sheet with the required columns (including job_id, stage, status, due_date, email_id, reminded_on, made_in, and doc_date) and set the sheet URL and tab name in the workflow settings. Add Google Sheets OAuth2 credentials and Gmail OAuth2 credentials for the account that reads/updates the sheet and sends emails. Create a Koutei account and API key, then configure an HTTP Header Auth credential with Authorization: Bearer and confirm the Koutei base URL in settings. Fill in workflow settings such as owner email, seller/business details, currency, deposit percent, payment terms, and reminder controls (on/off and interval). Start in mode = preview to send watermarked PDFs to the owner, then switch to mode = final before activating the workflow schedules for live client delivery. An n8n automation workflow template by Hugo.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Gaetano Castaldo logo
Categorize Aruba Italian e-invoices with OpenAI and send monthly Excel reports via Dropbox and Gmail
Live

By Gaetano Castaldo

Quick overview This workflow reads Aruba “Hai ricevuto una nuova fattura elettronica” email notices via IMAP, extracts key invoice details into an n8n data table, and on a monthly schedule (or via webhook) generates an Excel report and uploads it to Dropbox, with email alerts for parsing failures or workflow errors. How it works Polls an IMAP mailbox for Aruba e-invoice notice emails matching the subject filter and keeps track of the last processed message. Parses each email’s raw content to extract supplier, invoice number, document date, document type, totals, and the receipt timestamp (Europe/Rome), and derives a monthly key (yyyy.MM). Upserts successfully parsed invoices into an n8n data table using a unique key to prevent duplicates. Sends a Gmail email notification if a notice can’t be parsed so you can review and update the parsing logic. On the 1st of each month at 07:10 (or when called via an authenticated webhook with a target month), selects the month to consolidate and prepares the Dropbox destination path. Reads all stored invoices from the data table, filters them to the selected month, calculates totals (treating credit notes as negative), converts the rows to an Excel file, and uploads it to Dropbox. If the workflow execution errors, sends a Gmail email with the last executed step and a link to the failed n8n execution. Setup Create an IMAP credential for the mailbox that receives Aruba notices and confirm the email filter (subject and SINCE date) matches your inbox history. Create an n8n data table with the expected columns (chiave, fornitore, numero, dataDocumento, tipo, totale, nettoAPagare, dataRicezione, meseRicezione) and select it in both data table steps. Add a Dropbox OAuth2 credential and set the base folder path used to store monthly Excel files. Add a Gmail credential and replace the recipient address (you@example.com) used for the parsing and error alert emails. If you use the on-demand rebuild endpoint, configure the webhook Header Auth credential and call the webhook URL with a JSON body like {"mese":"2026.10"}. Requirements Aruba's e-invoicing service with email notices enabled (usually delivered to your PEC), an n8n version with data tables, and Dropbox and Gmail accounts. Customization Swap Dropbox for Google Drive or OneDrive in the last two nodes, or change the SINCE date in the IMAP trigger options to import older notices. Additional info For an Aruba PEC mailbox use host imaps.pec.aruba.it, port 993, SSL; with two-step verification you need the app password for mail clients. The mailbox is never marked as read. Credit notes count as negative in the monthly total. Foreign invoices (TD17) don't go through Aruba and won't appear. Field names are in Italian on purpose: they mirror Aruba's notice and the columns an Italian accountant expects. An n8n automation workflow template by Gaetano Castaldo.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Bo
Book, cancel, and reschedule WhatsApp appointments with Google Calendar and Sheets
Live

By Harpreet Singh

Quick overview This workflow let customers book, check, cancel and reschedule appointments in one WhatsApp chat, with no app and no booking page, syncing availability and changes to Google Calendar and logging every action to Google Sheets. How it works A customer messages your WhatsApp Business number and replies with a menu number: 1 Book, 2 My appointments, 3 Cancel, 4 Reschedule. The bot collects name, mobile, date and time, then checks opening hours and Google Calendar. A free slot becomes a calendar event. A taken slot gets alternative times. Each appointment includes a protected break (default 50 + 10 minutes). Customers only see and change appointments linked to their own WhatsApp number. Every booking, cancellation and reschedule is logged in Google Sheets. Setup Create a Meta WhatsApp Business Cloud app and add its credentials to the trigger and WhatsApp nodes. Connect Google Calendar and Google Sheets. In your sheet, create a tab named Appointments with this header row: S.NO, Timestamp, Booking ID, Status, Name, Mobile/Contact No., Start, End, Start ISO, End ISO, Calendar Event ID, WhatsApp Chat ID, Action. Open Configure Appointment Settings and enter your calendar ID, sheet ID, timezone and hours. Publish the workflow (it needs public HTTPS), then send /start to your number. Test with the published workflow, not manual runs, and use a separate test calendar first. Requirements WhatsApp Business Cloud API (Meta developer app) Google Calendar and Google Sheets accounts An n8n instance reachable over HTTPS (n8n Cloud or self-hosted) Customization How to customize the workflow Change opening hours, appointment length and break time in the settings node. Chat sessions live in workflow static data, so use a single-worker n8n. Two customers requesting the same slot at the same moment can still double-book, because there is no locking. Need help customizing? Built by Automexa. For custom setup or changes (other hours and timezones, reminders, CRM or payment integrations), email harryin09@gmail.com or message +91-98157-55575 on WhatsApp or Telegram. Additional info 4. Problem it solves Small businesses lose time and bookings to the "what time works for you?" back-and-forth. Customers already message on WhatsApp, but someone has to read each message, check the calendar, reply, and update a spreadsheet by hand. Slots get missed after hours, and cancellations and changes create more chat. This workflow turns that chat into a self-service booking flow. Customers get instant answers at any hour, your calendar stays the single source of truth, and Google Sheets keeps an audit log of every change. 5. Use cases Clinics and therapists:** patients book and move consultations by WhatsApp, with a protected break between sessions. Salons and barbers:** clients book a chair without calling, and cancellations free the slot right away. Coaches and consultants:** discovery calls and sessions land straight on your Google Calendar. Tutors and trainers:** students reschedule lessons themselves. Repair and service desks:** customers pick an inspection slot and see their upcoming visits. Any freelancer or agency:** put a WhatsApp booking number on a business card or Instagram bio, with nothing to host. 6. Why it stands out /USP No AI model and no AI costs.** Booking logic is deterministic, so behaviour is predictable. No third-party WhatsApp platform.** It uses Meta's WhatsApp Business Cloud API directly. Full lifecycle in one template:** book, view, cancel and reschedule, not just booking or reminders. Protected breaks* and *alternative slot suggestions** when a time is taken. Ownership checks:** a customer can only see and change appointments linked to their own WhatsApp number. Audit trail** in Google Sheets for every booking, cancellation and reschedule. whatsapp, whatsapp business, appointment scheduling, booking bot, google calendar, google sheets, reschedule, cancel booking, chatbot, small business, clinic, salon, no-code, meta cloud api Support, Sales , Personal Productivity. An n8n automation workflow template by Harpreet Singh.

N8nUpdated 4 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Se
Send Shopify back-in-stock waitlist waves with WhatsApp, Gmail, Sheets and Slack
Live

By Rahul Joshi

Quick overview This workflow collects back-in-stock waitlist signups for Shopify product variants, stores them in Google Sheets, and sends FIFO restock notifications in stock-based waves via WhatsApp Business Cloud or Gmail with time-limited Shopify discount codes, then posts wave summaries to Slack and marks conversions when Shopify orders. How it works Receives a POST webhook from your product page with a shopper’s variant ID, contact details, channel preference, and consent. Looks up the product variant in Shopify and checks Google Sheets to validate consent/contact info, detect duplicates, and decide whether to join the waitlist, return an “in stock” message, or reject the request. Appends valid signups to a Google Sheets waitlist and sends a confirmation message via WhatsApp Business Cloud or Gmail, then returns the shopper’s queue position in the webhook response. Triggers on Shopify inventory level increases and on an hourly schedule to find variants with waiting shoppers, expire previously notified entries whose offer window has ended, and fetch live inventory for those variants from Shopify. Plans a FIFO notification wave sized to available stock (including a configurable multiplier and cap), creates a time-limited variant-specific discount code in Shopify, and sends each recipient their back-in-stock message via WhatsApp Business Cloud or Gmail. Updates Google Sheets to mark recipients as notified (including code and expiry) and posts a wave summary message to a Slack channel. Triggers on Shopify order creation, matches orders back to notified waitlist entries by variant plus email/phone/discount code, and updates Google Sheets to mark matched entries as converted. Setup Add Shopify admin API access (custom app token or header auth) with permissions to read products/inventory and create discounts, and connect Shopify triggers for inventory_levels/update and orders/create. Connect Google Sheets, Gmail, Slack, and WhatsApp Business Cloud credentials, and set the WhatsApp Phone Number ID. Replace placeholders for your Shopify store domain, Google Sheet ID (with a “Waitlist” tab and required columns), Slack channel ID, and storefront URL in the workflow. Publish the signup webhook URL in your product page “notify me” form and send variant_id, email or phone, channel, and consent in the POST body. Review and adjust wave settings (multiplier, max wave size, discount percentage, and expiry window) to fit your restock strategy. An n8n automation workflow template by Rahul Joshi.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
Up
Upload invoices via form and extract, validate, dedupe, and log to ledger
Live

By Invoice Ledger

Quick overview This workflow lets you upload a single PDF invoice via an n8n Form, extracts the PDF text, parses common invoice fields (supplier, dates, totals, VAT, currency) using built-in code logic, and returns the detected fields and checks as a JSON response. How it works Receives an uploaded invoice PDF through an n8n Form trigger. Applies parsing settings like date order and a fallback default currency. Selects the uploaded file from the form submission and standardizes it into a binary field for processing. Extracts text from the PDF using n8n’s built-in PDF text extraction. Parses the text to identify invoice metadata (supplier, invoice number, invoice/due dates, currency, net/VAT/gross totals) and validates that net + VAT matches the total. Builds a human-readable summary plus a CSV-formatted ledger row and returns the full result as a JSON response to the form submission. Setup Run the workflow in n8n and open the generated form URL for the “read-one-invoice” path. Upload a PDF invoice that contains a readable text layer (scanned/image-only PDFs may not extract text). Optionally adjust dateOrder and defaultCurrency in the Set Default Parameters node to match your invoice formats. No credentials, API keys or AI models are needed, and the workflow saves no files. Requirements An n8n instance with the Form Trigger node (self-hosted or Cloud) PDF invoices with a text layer (no OCR for scans or photos) Customization Change dateOrder (auto, dmy or mdy) and defaultCurrency in the Set Default Parameters node Add or change extracted fields in the Parse Invoice Data code node. An n8n automation workflow template by Invoice Ledger.

N8nUpdated 4 hours ago
Free
No ratings
  • 1 nodes
Workflows
  • Automation
Ge
Generate workflows from OpenAPI specs using an AI HTTP design endpoint
Live

By Oneclick AI Squad

Quick overview This workflow exposes a webhook that accepts an OpenAPI spec (inline or via URL), optionally fetches the spec, sends it to an external AI design endpoint, optionally validates and stores the generated design via HTTP APIs, then returns a packaged n8n workflow JSON and documentation. How it works Receives a POST request via an n8n webhook containing an OpenAPI specification or an OpenAPI URL plus generation preferences. Validates the incoming payload, extracts context like workflow name and auth preference, and prepares URLs used for downstream HTTP calls. Calls an external HTTP endpoint to fetch the OpenAPI document when a spec URL is provided (and continues even if the fetch fails). Sends the prepared context to an external AI design HTTP endpoint to generate a proposed n8n workflow structure. Calls external HTTP endpoints to validate the generated workflow design and to store/register the generated integration. Assembles a final response package with status flags, documentation, and a generated workflow JSON skeleton, then returns it to the webhook caller with an appropriate HTTP status code. Setup Configure where the workflow should send requests by replacing the placeholder httpbin.org URLs in the validation code with your real OpenAPI fetcher, AI workflow designer, validator, and storage endpoints. If your external endpoints require authentication, add the required credentials/headers to the HTTP Request steps. Activate the workflow and copy the production webhook URL, then configure your client to POST openApiSpec or openApiUrl along with optional fields like workflowName and preferredAuth. An n8n automation workflow template by Oneclick AI Squad.

N8nUpdated 4 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Ch
Chase unpaid WooCommerce orders with WordPress, Invoice Ninja and Telegram
Live

By DataDrifter

Quick overview This workflow runs on schedules to invoice and chase unpaid WooCommerce on-hold orders in WordPress using Invoice Ninja, tracking each order in an n8n Data Table to avoid duplicates, sending reminders and optional Telegram alerts, and delivering a daily email report via SMTP. How it works Runs every hour and every day at 08:00 using scheduled triggers. Validates your chase settings, then uses the Invoice Ninja API and WooCommerce REST API to confirm connectivity and determine whether to run the hourly invoicing path or the daily chasing path. On the hourly run, fetches WooCommerce orders with status on-hold, filters to selected payment methods, skips orders already logged in the n8n Data Table, and records newly claimed orders for tracking. Creates or matches the customer in Invoice Ninja, builds an invoice from WooCommerce line items (including shipping, fees, and taxes), verifies the Invoice Ninja total matches the WooCommerce order total, and emails the invoice via Invoice Ninja. Adds an order note in WooCommerce with the Invoice Ninja invoice number and updates the tracking row to mark the order as invoiced, or records a failure reason if any invoicing step fails. On the daily run, loads all tracked invoiced orders, checks each Invoice Ninja invoice and its WooCommerce order status, then releases fully paid orders to processing or stops chasing if the invoice/order was changed externally. For overdue invoices, sends an Invoice Ninja reminder email, optionally sends a Telegram owner alert, and optionally voids the invoice and cancels the WooCommerce order when the configured cancel day is reached. Sends a daily SMTP email report summarizing newly invoiced orders, payments, overdue status, cancellations, and any errors that require attention. Setup Create an n8n Data Table named dd_in_chase with the columns used by the workflow (for example order_id, order_number, state, currency, order_total, due_date, invoice_id, invoice_number, amount_paid, step_a_at, step_b_at, step_c_at, last_error, invoiced_at, closed_at). Add credentials for WooCommerce (read/write), Invoice Ninja v5, SMTP (for the run failure and daily report emails), and Telegram (optional, for owner alerts). Update the Chase settings values, including your WordPress store URL, Invoice Ninja base URL, payment method IDs to chase, due/reminder/alert/cancel day thresholds, report email addresses, and optional telegram_chat_id. If you enable cancellation, set cancel_unpaid_orders to true and confirm your reminder and cancel day settings reflect your policy, since cancelled orders and voided invoices are not automatically restored. Requirements WordPress with WooCommerce and a REST API key with Read/Write permission (tested on WooCommerce 11.2.1, WordPress 7.1.3) Invoice Ninja v5 with an API token and its email set up to send invoices (tested on 5.13.22, self-hosted) Self-hosted n8n with data tables (tested on 2.33.7) An SMTP credential for the report and failure emails A Telegram bot, if you want the owner alerts Customization payment_methods takes any WooCommerce payment method id that leaves orders on hold due_days, reminder_day, owner_alert_day and cancel_day set the timetable, counted in whole days Leave telegram_chat_id empty to switch the owner alerts off Cancelling on day C stays off until you set cancel_unpaid_orders to true Additional info Full guide, free to read: https://datadrifter.io/chase-unpaid-woocommerce-orders-wordpress-invoice-ninja/ After purchase you download the workflow from your DataDrifter account. That copy carries the full setup notes on the canvas: the credentials, the data table columns and every setting. Email support and updates to this version are included. It does not take payments: your customer pays through Invoice Ninja's invoice page or however you have set it up there. Invoices and reminders go out through Invoice Ninja, with Invoice Ninja's own mail settings. An n8n automation workflow template by DataDrifter.

N8nUpdated 4 hours ago
Paid
No ratings
  • 4 nodes
Workflows
  • Automation
Mohamed Zaghloul logo
Monitor competitor prices and stock with Gemini, Google Sheets and Slack alerts
Live

By Mohamed Zaghloul

Quick overview Checks competitor product pages daily, reads price and stock from structured data (Gemini only when needed, with a text fallback), logs every check to Google Sheets and pings Slack only on real price moves or stock changes. Includes dedupe, configurable thresholds, an Errors tab and a run summary. How it works A daily schedule reads your Watchlist and History tabs, drops duplicate or inactive rows and skips URLs checked in the last few hours. Each page is checked one at a time with a polite pause: a keyless demo extractor API first, then a direct page fetch that reads JSON-LD, meta tags and microdata. Pages without structured data go to Gemini with a strict schema; if Gemini fails, the price is read from the page text instead. Each result is compared with the last known price. Slack is alerted only when the price moves by at least your threshold or stock changes; low-confidence reads are logged, not alerted. Every check is appended to History. Failed checks and Sheets/Slack errors go to an Errors tab, and a short run summary is posted to Slack. Setup Create a Google Sheet with Watchlist, History and Errors tabs (headers are listed in the yellow note). In the Config node set sheetId and slackChannelId; optionally adjust minChangePct, minConfidence, minHoursBetweenChecks and runSummary. Add Google Sheets, Slack and Google Gemini credentials. Execute once to record a baseline, then activate. Save the workflow and verify the Config node holds your own sheetId and slackChannelId before activating the trigger. Additional info Built with built-in nodes only, tested on n8n 2.43. No credentials or real IDs included. The demo extractor endpoint needs no key (10 pages a day). The Pro version adds undercut alerts with suggested reprices, room-to-raise and market rank, Apify for JavaScript-heavy shops, a Latest dashboard tab and a weekly summary: https://mohabaha0.gumroad.com/l/price-monitor-pro. An n8n automation workflow template by Mohamed Zaghloul.

N8nUpdated 4 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Muhammad Bilal logo
Deliver lab report status and PDFs via WhatsApp with OpenAI and Supabase
Live

By Muhammad Bilal

Quick overview This workflow uses WhatsApp Business Cloud, OpenAI, Supabase, and PostgreSQL to let patients check lab report status or receive a ready report PDF in English, Urdu, or Roman Urdu, while enforcing access control by matching the sender’s WhatsApp number to an authorized number stored with each report. How it works Triggers when a new WhatsApp text message is received and ignores non-text or invalid messages. Loads the sender’s recent session state from Supabase and uses OpenAI to classify intent (status check, send PDF, or general query), extract any Report ID or full patient name, and detect the reply language. Validates and normalizes the identifier (Report ID or full patient name), optionally reusing a recently verified report context for short follow-ups, then looks up matching report records in Supabase. Applies access control by verifying the incoming WhatsApp number matches the report’s stored authorized_whatsapp value, and routes denied or ambiguous/missing-identifier cases to a clarification reply. For authorized status checks, replies on WhatsApp with “ready” or “pending” messaging based on the report_status field. For authorized PDF requests with a ready report and a PDF URL, validates the PDF host, downloads the PDF over HTTPS, and sends it back to the same WhatsApp number as a document. For general questions, uses OpenAI with PostgreSQL chat memory to draft a short WhatsApp reply in the user’s language. Setup Connect credentials for WhatsApp Trigger/WhatsApp Business Cloud, OpenAI, Supabase, and PostgreSQL (and ensure Supabase and PostgreSQL point to the same database/schema used by the workflow). Create the required tables in your database (lab_reports, patient_session_state, and the PostgreSQL chat memory tables) and ensure lab staff populate authorized_whatsapp for each report in international digits-only format. Replace REPLACE_WITH_WHATSAPP_PHONE_NUMBER_ID in both WhatsApp send steps with your WhatsApp Phone Number ID. Set REPLACE_WITH_REPORT_STORAGE_HOST in the PDF validation step to your exact HTTPS storage hostname and ensure report_pdf_url values are short-lived direct HTTPS links with no redirects. Requirements n8n, WhatsApp Business Cloud, OpenAI, Supabase and PostgreSQL credentials, configured report/session tables, registered patient WhatsApp numbers and private HTTPS report PDFs. Customization Customize lab branding, AI models, reply languages, message wording, report-ID format, database mappings, session expiry and trusted PDF storage host. Additional info Help patients check report status and receive ready PDFs directly on WhatsApp, reducing repetitive reception queries. Supports English, Urdu and Roman Urdu, with a registered-number check before releasing report details. Adapt the workflow to your laboratory’s database and test with sample records before handling real patient information. An n8n automation workflow template by Muhammad Bilal.

N8nUpdated 4 hours ago
Paid
No ratings
  • 8 nodes
Workflows
  • Automation
  • AI
Shuo Yuan logo
Monitor niche YouTube breakouts with DeepSeek and Telegram digests
Live

By Shuo Yuan

Quick overview This workflow runs daily to pull YouTube trending videos and keyword-based search results via the YouTube Data API, deduplicates them in an n8n Data Table, scores breakout potential with DeepSeek, and sends threshold-based breakout alerts and a ranked digest to Telegram. How it works Runs every day at 08:00 on a schedule. Fetches the current YouTube “most popular” chart for the configured region and searches YouTube for videos matching your niche keywords from the last 24 hours, then hydrates those search results with video statistics. Merges and deduplicates both result sets by video ID and calculates momentum metrics like views per hour, engagement rate, and a deterministic base score. Skips any video already recorded in an n8n Data Table, then upserts newly found videos into the Data Table as “seen” for future deduplication. Sends the new videos to DeepSeek to generate an LLM breakout score and reason (falling back to the deterministic score if the DeepSeek request fails) and calculates a blended final score. Sends an immediate Telegram message for videos at or above the alert threshold, and aggregates mid-range videos into a ranked daily Telegram digest while ignoring anything below the digest threshold. Setup Create a Google Cloud API key with YouTube Data API v3 enabled and add it to n8n as an HTTP Query Auth credential (parameter name key) used by the YouTube HTTP Request nodes. Create a DeepSeek API key and add it to n8n as an HTTP Header Auth credential (for example, Authorization: Bearer YOUR_DEEPSEEK_KEY). Create a Telegram bot, add Telegram credentials in n8n, and replace YOUR_TELEGRAM_CHAT_ID in both Telegram send steps. Create an n8n Data Table with columns for video_id, title, channel, url, source, first_views, and first_seen, then replace YOUR_DATA_TABLE_ID in both Data Table steps. Update the monitoring values (region code, niche keywords, digest size, and score thresholds) in the workflow’s configuration step before activating. An n8n automation workflow template by Shuo Yuan.

N8nUpdated 4 hours ago
Paid
No ratings
  • 3 nodes
Workflows
  • Automation
Olly McBride logo
Log Telegram meal photos and text to Google Sheets with Gemini nutrition analysis
Live

By Olly McBride

Quick Overview This workflow listens for meal photos sent to a Telegram bot, uses Google Gemini Vision to estimate the dish and nutrition, logs each entry to a Google Sheets food diary, and replies in Telegram with the estimate plus the sender’s running totals for the day. How it works Triggers when a new Telegram message is received by your bot. Checks whether the message includes a photo and replies asking for a meal photo if none is provided. Downloads the largest available version of the Telegram photo and sends it (plus any caption) to Google Gemini Vision to return structured nutrition estimates. Stops and replies in Telegram if Gemini indicates the image is not food. Appends the meal details (date/time, user info, dish, calories, macros, confidence, notes) to a Meals sheet in Google Sheets and then reads back today’s rows for that date. Totals today’s calories and macros for the same Telegram user and replies with the per-meal estimate and daily totals. Setup Create a Telegram bot with @BotFather and add its token as a Telegram credential in n8n. Add a Google Gemini (PaLM) API credential with an API key that can access the Gemini vision model. Connect a Google Sheets OAuth2 credential and replace YOUR_SHEET_ID with your spreadsheet ID in both Google Sheets steps. Create a Google Sheet tab named Meals with columns matching the workflow fields (date, time, user_id, user_name, dish, portion, calories_kcal, protein_g, carbs_g, fat_g, confidence, notes). Set the workflow timezone in n8n so the “today” totals match your local day, then activate the workflow. An n8n automation workflow template by Olly McBride.

N8nUpdated 4 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Se
Send a 7-email onboarding drip with Clerk webhooks and Brevo
Live

By Kishan Makani

Quick overview This workflow receives signup, activation, and upgrade events via a webhook, then uses Brevo (Sendinblue) to manage contact attributes/lists and send a 7-email onboarding sequence for free users, stopping the sequence and moving contacts to a Pro list when they upgrade. How it works Receives a POST webhook event (Clerk user.created or a backend { event, email, firstname, contactId } payload) on the your-product-onboarding path. Normalizes the incoming payload into a consistent event, email, and firstname structure and routes processing based on signup, activated, or upgrade_pro. On signup, upserts the contact in Brevo with onboarding attributes (for example PLAN=FREE and IS_ACTIVATED=false), adds the contact to Brevo list 6, and sends the Welcome email. After each wait period, re-fetches the contact from Brevo and exits the sequence if PLAN=PRO by removing them from list 6 and adding them to list 3. If the contact remains on the free plan, continues sending the remaining onboarding emails with delays between them, choosing different branches depending on the Brevo IS_ACTIVATED flag. On activated, updates the Brevo contact attribute IS_ACTIVATED=true so subsequent checks can fast-forward to the later part of the sequence. On upgrade_pro, updates the Brevo contact attribute PLAN=PRO and immediately moves the contact from list 6 to list 3 so any waiting executions stop at the next plan check. After the final email, removes the contact from list 6 and adds them to Brevo list 5 (Inactive) to mark the free onboarding sequence complete. Setup Add a Brevo (Sendinblue) API credential and select it in all Brevo and HTTP Request nodes that call the Brevo v3 API. In Brevo, create or confirm the list IDs used by the workflow (6 = New Signup, 3 = Pro Users, 5 = Inactive) or update the list IDs in the Brevo API URLs. In Brevo, ensure your contact attributes exist (at least PLAN, IS_ACTIVATED, FIRSTNAME, PRODUCT_NAME, and CLERK_ID). Update the transactional email sender address/name and any links or branding in the HTML templates to match your product. Copy the production webhook URL for your-product-onboarding and configure it in Clerk (for user.created) and/or your backend event sender to POST the supported payload shape. An n8n automation workflow template by Kishan Makani.

N8nUpdated 4 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation