GenAiHub

Workflows

Browse 13,615 Workflows

Workflows Guide

1–48 of 13,615

Is
Issue GST e-invoices and e-way bills for Shopify orders via GSP and Google
Live

By Rahul Joshi

Quick overview This workflow triggers on paid Shopify orders, calculates GST and compliance routing, generates e-invoices (IRN/QR) or e-way bills via a GSP API, renders a PDF invoice with Gotenberg, archives it to Google Drive, emails it via Gmail, logs to Google Sheets, and posts failures to Slack. How it works Triggers when a Shopify order is marked as paid. Loads seller configuration plus HSN and prior status from Google Sheets, then calculates GST splits, document numbers, and whether the order needs an IRN, an e-way bill, or no compliance document. If an IRN or e-way bill is required, authenticates with your GSP and calls the relevant GSP API, fetching an existing IRN when the portal reports it was already generated. Parses the GSP response to extract IRN, acknowledgment details, signed QR data, and e-way bill information, and posts an error to Slack when creation fails. Builds an HTML tax invoice (including QR code via quickchart.io when available) and renders it to PDF using a Gotenberg server. Saves the PDF to Google Drive, emails it to the customer via Gmail, writes IRN/e-way bill/invoice details back to the Shopify order as metafields and a tag, and upserts the transaction into the Google Sheets GST Register. Accepts IRN cancellation requests via an n8n form, validates the 24-hour cancellation window against the GST Register, cancels the IRN through the GSP API when allowed, updates the register, and reports the outcome to Slack. Setup Create Shopify access-token credentials for the Shopify trigger and a Shopify Admin GraphQL token with write_orders, then replace REPLACE_STORE and set the header-auth credential used to update order metafields/tags. Add your GSP credentials as an HTTP Custom Auth credential and update the GSP auth/IRN/e-way bill/cancel URLs and seller GSTIN placeholders in the configuration and cancellation requests. Connect Google Sheets credentials and set the spreadsheet ID, then create the required tabs/columns for “HSN Map” (sku, hsn, gst_rate, uqc, is_service) and “GST Register” (order_id, order_name, doc_no, status, irn, ewb_no, created_at, etc.). Connect Google Drive and Gmail credentials, set the Drive folder ID for archiving PDFs, and ensure Gmail can send to customers and CC your accounts email. Connect Slack credentials, set the target channel ID for alerts, and deploy a reachable Gotenberg instance (and update the Gotenberg URL if it is not http://gotenberg:3000). An n8n automation workflow template by Rahul Joshi.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
Matilda Ivy logo
Produce illustrated, research-based newsletters from Airtable with OpenAI and Kit
Live

By Matilda Ivy

Quick overview This workflow runs every six days to pick one “Ready” newsletter topic from Airtable, research and write five cited sections with OpenAI models, generate matching images via Replicate, host them on Cloudinary, then create a draft (and optionally schedule) a broadcast in Kit. How it works Runs on a 6-day schedule, loads configuration values, and selects a single Airtable record marked Ready with a newsletter topic and no Broadcast ID. Validates the record and marks it In progress in Airtable to reduce duplicate processing. Uses Tavily to research the main topic, then uses the configured OpenAI model generate a newsletter title and exactly five distinct section topics. For each section, Tavily gathers sources, an OpenAI agent writes one HTML section with inline citations, and another OpenAI agent produces a structured illustration prompt. Uses Replicate as the included image-generation service, polls until completion if needed, then stores the image in Cloudinary and pairs it with its section. Both integrations can be replaced by adapting the relevant nodes and output mappings. Assembles the five illustrated sections into a plain HTML email, generates a subject and preview text, and creates an unscheduled draft broadcast in Kit targeting the Airtable-specified tag audience. Records the Kit Broadcast ID back to Airtable as Draft and, if enabled, schedules the same broadcast in Kit and updates Airtable with Scheduled status and the scheduled send time. Setup Create an Airtable base/table with fields for Newsletter Topic, Audience Tag ID (numeric Kit tag ID), Status, Broadcast ID, and Scheduled Date, then add Airtable credentials and set the base/table IDs in the configuration. Configure credentials for the included services: Tavily (Authorization: Bearer …), Replicate (Authorization: Bearer …), and Kit (X-Kit-Api-Key: …). If replacing a service, adapt its request and authentication settings. Add OpenAI credentials and select available text and image-prompt models. To use another provider, replace the relevant AI nodes and update their output mappings where necessary. Configure the included Cloudinary upload using a restricted unsigned preset, cloud name, and preset name. Alternatively, replace it with ImageKit, Google Drive, S3-compatible storage, or your preferred service. Map a direct image URL that email clients can access without signing in, and verify rendering in a test email. Set sender name, contact email, and postal address in the configuration, and keep deliveryMode=draft until you verify the Kit draft content and audience filtering. Requirements An n8n instance with the node versions used in the template. An Airtable base with Newsletter Topic, Audience Tag ID, Status, Broadcast ID, and Scheduled Date fields. Setup notes list the required field types and status options. OpenAI API access for the included AI nodes. Tavily API access for topic and section research. Access to an image-generation service. Replicate is configured as the example, but users can replace it with their preferred provider by adapting the image-generation request, authentication, polling if needed, and output mapping. Image storage or hosting: Cloudinary is preconfigured. You can replace it with ImageKit, Google Drive, S3-compatible storage, or your preferred service by adapting the upload step and returned image URL. Kit API access and an existing audience tag with a numeric ID. Sender name, contact email, and postal address for the email footer. Customization Adjust the schedule, newsletter audience, and writing tone. Choose available text and image-direction models in Configure Newsletter. Replace the image-storage integration with your preferred provider. Map its returned URL into the section-image step. Newsletter images must be accessible to recipients’ email clients without authentication. Configure your Airtable base/table IDs and each newsletter’s Kit audience tag ID. Keep deliveryMode: draft for review in Kit, or select schedule and configure the sending delay after testing. Adapt the plain HTML layout and section prompts to your needs. Additional info Produces five researched sections, each with a generated illustration and source citations. Defaults to an unscheduled, non-public Kit draft. Optional scheduling records the scheduled time; it does not confirm delivery to subscribers. Includes configuration instructions, recovery guidance, and a testing checklist on the canvas. AI-generated claims, image text, and illustrations require review. Avoid overlapping executions. Failed records require manual inspection before retrying. Research, model, image-generation, and hosting costs depend on usage. Uses built-in nodes; no private renderer or local file processing is required. An n8n automation workflow template by Matilda Ivy.

N8nUpdated 12 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Fe
Fetch and split parcel scan assignments with HTTP Request in n8n
Live

By Anshul Namdev

Quick overview This starter workflow for n8n Community Weekly Challenge 07 fetches your personal assignment and a set of parcel scan rows from an n8n-hosted HTTP endpoint, then splits the rows into individual scan items so you can build two calculations (parcel count and total work units). How it works Runs manually when you execute the workflow. Sets your forum username and participant key for the run. Sends an HTTP GET request to the n8n Community Weekly Challenge 07 data endpoint with your username as a query parameter and your participant key in the x-participant-key header. Splits the returned rows array into individual scan items for downstream processing. Leaves two disconnected placeholders where you add your own native logic to compute and output parcel_count (Question 1) and total_units (Question 2). Setup Check participation dates at https://marketing.app.n8n.cloud/webhook/cwc/challenge-07 and create or recover your participant account there. The permanent personal-data endpoint is available when C07 opens; importing this starter alone does not start your timer. Enter your exact community username and current participant key in My settings. Run the shared fetch path when you are ready. The first personal data issue starts the clock, and later fetches retain the original assignment and start. Build and test your own native calculations, then export a clean copy. Clear participantKey and remove passwords, credential references, saved run data and pinned data. Submit both integers, your JSON and your own explanation at https://marketing.app.n8n.cloud/webhook/cwc/challenge-07/submit. Requirements n8n with Manual Trigger, Edit Fields, HTTP Request and Split Out. The setup path was verified on n8n 2.35.5 and 2.43.7. A current CWC account is required when participation is open. Customization Use your returned personal selection rule and desk to build the missing native-node calculation. Both answer cards use the same 24 scans; no second HTTP request or supplied calculation is included. Additional info This is an intentionally unfinished starter for Community Weekly Challenge 07, The Exception Desk, and the Season 2 finale. No ranked solution or answer is supplied. AI assistance is not allowed for challenge entries. Code, Function and Function Item nodes are prohibited, including disabled or disconnected nodes. Explain your own approach in 40 to 2,000 characters and at least eight words. Correct eligible submissions are accepted automatically. Uploaded workflows remain private and are not executed by the challenge service. C07 is being prepared for launch; check the challenge website for participation dates. An n8n automation workflow template by Anshul Namdev.

N8nUpdated 12 hours ago
Free
No ratings
  • 1 nodes
Workflows
  • Automation
AI Flow Packs logo
Check manuscript references for retractions with Crossref, OpenAI and Gmail
Live

By AI Flow Packs

Quick overview This workflow receives a manuscript’s reference list via a header-authenticated webhook, checks each citation against Crossref (including Retraction Watch data) and doi.org, uses OpenAI to draft editor-facing integrity memos and author queries for flagged items, logs outcomes in n8n Data Tables, and re-checks accepted manuscripts weekly. How it works Receives a POST request with a manuscript ID, submitter email, and references list through a header-protected webhook. Validates and normalizes the input, de-duplicates references, and reuses a recent closed result or returns an already-open case for the same manuscript when applicable. Looks up each reference in the Crossref API (or runs a Crossref bibliographic search when no DOI is provided) and flags issues such as retractions, expressions of concern, corrections, DOI/citation mismatches, duplicates, or unresolved references. For DOIs missing from Crossref, queries the doi.org handle API to distinguish non-Crossref registrations from non-existent (potentially fabricated) DOIs. Aggregates all flags into an overall verdict floor and, when review is needed, uses an OpenAI agent (with Crossref and OpenAlex lookups) to produce a structured memo and draft author queries, then emails the report to the editor in Gmail. Collects the editor’s decision via a form (optionally requiring integrity-officer approval to keep blocking references), writes the final outcome to n8n Data Tables, notifies the submitter by Gmail, and adds accepted/auto-cleared manuscripts to a watch list. Runs every Monday to re-check watched DOIs in Crossref and reopens a new “post_publication_alert” check via webhook when a cited work’s status worsens. Setup Run the manual “Run once to set up” path to create the n8n Data Tables named reference_checks and reference_watch. Create and attach an HTTP Header Auth credential for the intake webhook and for the “reopen check” HTTP request used by weekly monitoring. Add OpenAI credentials (for the agent) and Gmail credentials (for editor notifications, submitter messages, integrity-officer approvals, and error alerts). Replace placeholder values in “Reference check settings” and “Monitoring settings” (editor email, integrity officer email, Crossref mailto, ops email, and the workflow’s production webhook URL for reopening checks). Requirements A current n8n version with Data Tables and the AI Agent node (cloud or self-hosted). An OpenAI API key, gpt-4.1-mini by default. The model is called only for lists with a medium or high flag. A Gmail account. You can swap in Outlook, Slack or Teams for the notifications. No other keys: Crossref, doi.org and OpenAlex are free public APIs. Crossref needs a real contact e-mail in crossref_mailto (polite pool); the workflow refuses to run with the placeholder. OpenAlex single-DOI lookups need no key. Customization Matching: title_match_threshold and mismatch_threshold in Reference check settings, plus STOP words in Read Crossref results. Severities and actions: edit them in Read Crossref results and Read doi.org result. For example, make CORRECTED medium for clinical journals. Reuse and open-check windows: REUSE_DAYS and OPEN_CHECK_DAYS in Check earlier checks and reuse window. Follow-ups and blocking codes: MAX_FOLLOW_UPS and BLOCKING_CODES in Apply review policy. Timeouts are set in Wait for editor decision and Ask integrity officer to approve. Weekly volume: MAX_DOIS in Collect DOIs to re-check. Model: replace OpenAI with Anthropic, Gemini or a self-hosted model through Ollama. Additional info Limitations: Only works with a DOI, or with a citation that matches Crossref confidently, are checked; books, laws and web pages without a DOI usually end up UNRESOLVED for a person to verify. Retraction data is as complete as Crossref and Retraction Watch; a missing flag does not prove a cited work is sound. DOIs registered outside Crossref (DataCite, mEDRA) are reported as NOT_IN_CROSSREF and are not checked for retractions. METADATA_MISMATCH compares title words and year only, so it is medium, not high. Reference lists and citing context (no full text) are sent to the AI provider you connect. Decision support only: the editor decides. An n8n automation workflow template by AI Flow Packs.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Yuji logo
Answer Japanese contact forms with OpenAI, Microsoft Teams and Gmail
Live

By Yuji

Quick overview This workflow collects inquiries from an n8n form, matches them to FAQ entries stored in an n8n Data Table, drafts and keigo-checks a Japanese business email using OpenAI, posts it to Microsoft Teams for approval, and sends the approved reply via Gmail while logging the outcome. How it works Receives a new inquiry via an n8n form submission. Loads all FAQ rows from the keigo_faq n8n Data Table, combines them, and adds your company name, signature, and the submitted contact details. Uses OpenAI to classify the inquiry into a category and applies category-specific reply guidance, skipping messages classified as sales pitch or spam. Selects up to three relevant FAQ entries by matching keyword hits in the message and compiles them into a single FAQ text block. Uses OpenAI to generate a structured Japanese keigo email draft (subject, body, urgency, and staff check points) using only the matched FAQ content, then runs a second OpenAI pass to correct keigo issues and list the fixes. Posts the checked draft, fixes, and FAQ topics to Microsoft Teams via an incoming webhook with a link to an approval form. Waits for a reviewer to edit and approve the subject/body in the form, then sends the reply through Gmail if approved or skips sending if rejected. Logs the decision (sent or skipped) with email, company, category, subject, and timestamp to the keigo_reply_log n8n Data Table. Setup Create two n8n Data Tables named keigo_faq (columns: topic, keywords, answer) and keigo_reply_log (columns: email, company, category, subject, status, logged_at). Add an OpenAI credential for the Chat Model node (configured for gpt-5-mini). Add a Gmail OAuth2 credential with permission to send mail from the account you want to reply from. Create a Microsoft Teams Workflows (or compatible) incoming webhook and paste its URL into the Teams webhook HTTP request node. Replace the default company_name and signature values with your own, and populate keigo_faq with your real FAQ topics, keywords, and answers (optionally run the sample FAQ loader once to seed example rows). An n8n automation workflow template by Yuji.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Yuji logo
Draft keigo-checked Japanese contact form replies with OpenAI and Teams
Live

By Yuji

Quick overview This workflow collects inquiries via an n8n Form, matches them to an FAQ stored in an n8n data table, drafts a Japanese keigo email reply with OpenAI, runs a second OpenAI pass to correct keigo, and posts the structured draft and review notes to Microsoft Teams. How it works Receives a new inquiry submission from an n8n Form with the sender’s name, company, email, and message. Loads all rows from the n8n data table keigo_faq, aggregates them into one FAQ list, and adds your company name and email signature. Uses OpenAI to classify the inquiry into a category (pricing, demo request, product question, trouble report, other, or sales pitch/spam) and selects category-specific reply guidance. Matches up to three relevant FAQ entries by scoring keyword hits in the message and compiles them into a short FAQ text block. Uses OpenAI to generate a structured Japanese business email draft (subject, body, urgency, and staff check points) using only the matched FAQ answers as facts. Uses OpenAI again to correct keigo issues in the draft and list the specific fixes made. Sends an Adaptive Card to Microsoft Teams via an incoming webhook containing the original inquiry, the keigo-checked draft, the fix list, the FAQ topics used, and the check points for staff review. Setup Create an n8n data table named keigo_faq with topic, keywords, and answer columns, and populate it (optionally by running the “Load Sample FAQ” branch once). Add an OpenAI credential and select your preferred model (configured as gpt-5-mini) for the classification, drafting, and keigo-check steps. Set your company name and signature text in the workflow’s company details step. Create a Microsoft Teams Workflows incoming webhook and paste its URL into the Teams HTTP request step. Publish the n8n Form and share its production URL where you want to receive contact form submissions. An n8n automation workflow template by Yuji.

N8nUpdated 12 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
dilshi logo
Qualify and triage leads with Google Gemini, HubSpot, Gmail, Slack and Sheets
Live

By dilshi

Quick overview This workflow captures website and Google Ads leads via webhooks, logs them to Google Sheets, and uses Google Gemini to qualify them against a Business Profile sheet, then creates HubSpot contacts and call tasks and sends Slack and Gmail alerts, reminders, and daily reports. How it works Receives new leads from a website form or Google Ads lead form via webhook, validates a shared secret key, normalizes the fields, and appends the lead to a Google Sheets Lead Log. Loads services, service area, and qualification rules from a Google Sheets Business Profile and sends the lead details (or a matched Gmail reply) to Google Gemini to classify the lead and draft any needed email. Updates the Lead Log with the AI outcome, priority, summary, and missing information details. For qualified or not-a-fit leads, upserts the contact in HubSpot, creates an associated call task with a calculated due time, and emails the lead a confirmation. For qualified leads, sends real-time alerts to a Slack channel and to the owner via Gmail. For missing-info leads, emails the lead questions once and stores the Gmail thread ID so their reply can be matched and re-evaluated. Runs hourly to check HubSpot task completion, send Slack/Gmail reminders for open qualified tasks, and escalate no-reply missing-info leads to “please call,” and runs daily at 6 PM to email a summary report from the Lead Log. Setup Create a Google Sheets Lead Log spreadsheet and a Business Profile spreadsheet with tabs and headers matching the notes for the Lead Log, Services, Service Area, and About and Rules. Add credentials for Google Sheets, Gmail, Slack, and Google Gemini (Gemini API / Google AI), and create a HubSpot private app token with access to contacts and tasks. Update the Config values for both sheet URLs, webhookSecret, businessName, alertEmail, slackChannel, timezone, and (optionally) hubspotOwnerId and reminder timing settings. Copy the two webhook URLs and configure your website form and Google Ads Lead Form webhook to post leads with the secret key (header x-webhook-key or ?key= parameter). An n8n automation workflow template by dilshi.

N8nUpdated 12 hours ago
Paid
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Gaetano Castaldo logo
Build monthly mileage reimbursement reports from Google Calendar with OpenAI and Dropbox
Live

By Gaetano Castaldo

Quick overview This workflow runs monthly to turn Google Calendar trip events into a mileage reimbursement Excel, using OpenAI to parse free-text events and OpenStreetMap/OSRM to calculate driving distances, then uploads the file to Dropbox and (in live mode) prepares a Gmail draft for your accountant with validation checks. How it works Runs on the 1st of every month at 07:00 (or manually) and sets the month to process (previous month by default, or a manual override). Pulls events for that month from Google Calendar and parses trips from titles like “Departure > Arrival, km, purpose”, while marking multi-day “Trasferta” events as away days. Sends remaining in-month free-text events to OpenAI to extract whether they are car trips plus ordered stops, optional km, purpose, and one-way/round-trip. For trips missing km (or when verification is enabled), geocodes unique stop names via OpenStreetMap Nominatim and calculates driving distance via the OSRM routing service. Builds a per-day reimbursement table with totals, flags issues (km mismatch vs route, duplicate trips, excessive daily km, and AI-parsed trips to review), and generates an XLSX file. Uploads the XLSX to Dropbox and, in live mode, records the month in an n8n Data Table to prevent duplicate drafting, creates a Gmail draft to the accountant with the Excel attached, and emails you an HTML summary. Setup Add credentials for Google Calendar OAuth2, OpenAI, Dropbox OAuth2, and Gmail OAuth2. In the Settings node, set your Google Calendar ID, reimbursement rate per km, home base (usual departure), Dropbox folder path, recipient emails, and a valid OpenStreetMap-compliant User-Agent string. If using live mode, ensure n8n Data Tables are available and set mode to "test" for a first run (optionally set monthOverride like "2026.10"), then switch mode to "live" and clear monthOverride before activating the schedule. Requirements Google Calendar, OpenAI, Dropbox and Gmail accounts, and an n8n version with data tables. No API key for OpenStreetMap: Nominatim and the public OSRM server are free within their usage policies. Customization Set readFreeTextWithAI to false to skip the AI; tune kmTolerancePercent and maxKmPerDay, or turn off checkDeclaredKm; set alwaysUseOpenStreetMap to true to ignore the km written in titles; change countryCodes for trips outside Italy. Additional info The AI never invents a departure: without one in the event or in homeBase, the event is listed instead of reimbursed. Labels, Excel columns and emails are in Italian on purpose, as an Italian accountant expects them; translate them in the Compose the reimbursement node. In Italy the rate per km comes from the ACI table for your car. To redo a month already drafted, delete its row in the Rimborsi km data table and run again. An n8n automation workflow template by Gaetano Castaldo.

N8nUpdated 12 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Cheng Siong Chin logo
Supervise ROV commands using multi-agent OpenAI planners and Telegram
Live

By Cheng Siong Chin

Quick overview This workflow receives ROV telemetry via webhook, derives safety and navigation metrics, then uses OpenAI multi-agent planning plus an independent safety validator to recommend or issue commands, notifying operators through Telegram, logging decisions in an n8n Data Table, and posting final commands to a topside control HTTP endpoint. How it works Receives ROV telemetry in a POST webhook request. Validates required fields, derives metrics (distance to target, thruster margin, nearest sonar contact), and flags conditions and hard safety limit breaches. If a hard limit is breached, generates an emergency safe command and immediately alerts the operator in Telegram. Otherwise, loads recent mission decision history from an n8n Data Table and sends the telemetry plus history to an OpenAI supervisor agent that consults mission planning, navigation, perception, and safety specialist tools to produce a structured recommended command. Runs an independent OpenAI safety validator to approve, modify, or veto the proposed command and packages the final decision with merged risk and alerts. Posts a live status update to Telegram and routes the decision to either auto-execute, request operator approval via a Telegram form (with timeout defaulting to hold station), or issue a critical safe action with an alert. Logs the final command to the n8n Data Table, sends it to the ROV topside control system via HTTP, and confirms the control system response in Telegram. Setup Add OpenAI API credentials for the supervisor, specialist, validator, liaison, and debrief agents. Add Telegram bot credentials, replace all Telegram chat ID placeholders, and configure the bot to message the intended operator chat. Create or select an n8n Data Table for the mission log (rov_mission_log) and set its ID in all Data Table nodes used for history and logging. Set the ROV topside control system command endpoint URL in the HTTP Request node that sends commands to the vehicle. Copy the webhook URL for the rov-telemetry endpoint into your telemetry source and send a test payload (including mission_id, depth_m, visibility_m, battery_or_power_pct, and tether_tension_kN) to verify the auto/approval/critical routes. Customization Swap models per agent, change authority rules in Decision Package, add Slack or email alerts, connect another vehicle API, adjust safety limits in the telemetry body, or change the debrief interval. An n8n automation workflow template by Cheng Siong Chin.

N8nUpdated 12 hours ago
Free
No ratings
  • 10 nodes
Workflows
  • Automation
  • AI
TYKAIRO-AI logo
Generate short-form video scripts and render 9:16 clips with OpenAI and Creatomate
Live

By TYKAIRO-AI

Quick overview This webhook-driven workflow generates short-form video scripts and publishing copy with OpenAI, runs a local copy/duration audit, and renders approved 9:16 videos via Creatomate, returning either a creative kit, an audit checklist, a render job ID, or a final video URL. How it works Receives a POST webhook request (header-authenticated) with an action of draft, audit, render, or status. Validates and sanitizes the request fields, enforcing limits and requiring explicit approval and rights confirmation before rendering. For draft requests, sends a prompt to the OpenAI Chat Completions API to generate two hooks, a 4-scene storyboard, voiceover, hashtags, and SEO metadata, then returns a validated publishing kit for YouTube/TikTok/Instagram. For audit requests, performs a deterministic local preflight to estimate duration and flag copy issues (for example length limits and exaggerated claims) and returns a checklist for human review. For render requests, submits the approved Hook, Supporting_Text, and CTA into a specified Creatomate 1080×1920 template and returns the queued render job ID. For status requests, fetches the Creatomate render job status and returns the final video URL and snapshot URL once the render succeeds (or errors if it fails). Setup Create a header-authenticated webhook credential for the incoming request and configure the calling app to send the required header. Add an OpenAI API key as an HTTP Header Auth credential for the OpenAI request step. Add a Creatomate API key as an HTTP Header Auth credential for the Creatomate render and status request steps. In Creatomate, create a 1080×1920 template and ensure it contains elements named exactly Hook, Supporting_Text, and CTA, then use its template_id in render requests. Build your client request payloads for each action (draft/audit/render/status) and only call render with approved=true and rights_confirmed=true after a manual review. An n8n automation workflow template by TYKAIRO-AI.

N8nUpdated 12 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
toshiyuki kikuchi logo
Audit Figma designs against your design system with Gemini and Slack
Live

By toshiyuki kikuchi

Quick overview Audits only changed Figma frames against your design system: contrast, font size, tap targets, unlinked tokens and detached components. A Gemini agent reviews each screenshot with your design guide. New issues become Figma comments, fixed ones get a ✅ reply, and Slack gets summaries and weekly reports. How it works Triggers when a Figma named version is saved via webhook, when someone submits the audit request form, or every Monday at 9:00. Validates the request (including the Figma webhook passcode), loads the design guide from Google Docs, and fetches the Figma file structure. Selects the target page, lists top-level frames, compares frame fingerprints against the stored snapshots in n8n Data Tables, and keeps only frames that changed (or forces a review for form requests). For each changed frame, runs deterministic checks on the Figma node tree for contrast, font size, tap targets, token/style usage, and possible detached components, then loads any still-open findings for that frame. Exports a PNG screenshot from Figma and sends it, the layer index, the design guide, and open issues to a Google Gemini agent that proposes new issues and marks previously reported AI issues as resolved when they appear fixed. Reconciles new, still-open, and fixed findings by pinning new comments in Figma, replying in existing threads for fixed items, and updating the findings and frame snapshots in n8n Data Tables. Posts an audit summary to a Slack channel after each run and posts a weekly design-health report to Slack based on the stored findings and frame metrics. Setup Create a Figma personal access token with access to read file content and write comments, and configure it as HTTP Header Auth for all Figma API requests (including the layer-inspection tool) and set a webhook passcode. Add Google Docs OAuth credentials for reading your design guide and update the design guide document URL in the workflow configuration. Add a Google Gemini API credential for the Gemini chat model used by the agent. Add Slack credentials and set the target channel ID in the workflow configuration. Update the workflow configuration values (page name, review focus, thresholds, limits, and timezone), and if using the Figma trigger, register a Figma FILE_VERSION_UPDATE webhook pointing to the production webhook URL with the same passcode. Requirements Figma account with a personal access token (file content read, comments write) Google Gemini API key Google account with the design guide in Google Docs Slack workspace with a bot (chat:write) invited to the target channel n8n with Data Tables (n8n Cloud or a recent self-hosted version) Customization Change contrast, font size and tap-target thresholds or the per-run limits in Workflow Configuration Set reviewLanguage to get Figma comments in another language Add your own rules in Run Design Checks; new rules are tracked and closed automatically like the built-in ones Replace the Slack nodes with Gmail or Microsoft Teams, or move the weekly report to another day Additional info Tested end to end on a Figma file with color variables, text styles, a component and a detached copy. On the second run, fixed issues received a "✅ Fixed" reply and reaction in their original comment threads, and unchanged frames were skipped. An n8n automation workflow template by toshiyuki kikuchi.

N8nUpdated 12 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Yuji logo
Triage JMA weather delays with GPT-5-mini, Microsoft Teams and Gmail
Live

By Yuji

Quick Overview This workflow checks the Japan Meteorological Agency (JMA) weather warning feed every 30 minutes, compares changes per watched prefecture, posts alerts and an approval form to Microsoft Teams, and (after approval) emails affected customers via Gmail while tracking shipment and warning state in n8n Data Tables. How it works Runs every 30 minutes and loads workflow settings plus the saved warning state and open shipments from n8n Data Tables. Downloads the public JMA XML warning feed, posts an error card to Microsoft Teams if the feed request fails, and otherwise parses the feed. Filters feed entries to the watched prefectures, keeps the newest entry per prefecture, fetches each entry’s detail XML, and extracts the active warning types and headline. Compares the current warnings to the previously saved warnings per prefecture, routes only newly issued/changed warnings and all-clear events, and upserts the latest state back to the warning state table. For newly issued warnings, matches the affected prefecture (and the warehouse prefecture) against pending shipments due within the lookahead window in the open shipments table. Uses OpenAI to draft a Japanese internal alert plus a polite customer email template with placeholders, then posts the alert to Microsoft Teams and, if shipments are affected, posts a Teams card with a “Review and send” link to an n8n approval form. Waits for staff to approve or skip sending (with a reminder and expiry if no response), then sends one Gmail email per affected order and updates each order record with the send result and posts a send summary to Microsoft Teams. Setup Create two n8n Data Tables named weather_alert_state (prefecture, warnings, reported_at) and open_shipments (order_id, customer_name, email, ship_to_prefecture, ship_date, status, notice_sent, notified_at) and populate open_shipments with your pending orders. Add an OpenAI credential (Chat model) and a Gmail OAuth2 credential for the mailbox that sends customer notices. Configure a Microsoft Teams Workflows/Incoming Webhook URL and paste it into the teams_webhook_url setting, then update watched prefectures, warehouse prefecture, lookahead days, reminder timing, and company signature in the settings node. An n8n automation workflow template by Yuji.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
  • AI
Onur Olgun logo
Run a Gemini Live voice support assistant with Google Drive and Sheets
Live

By Onur Olgun

Quick overview This workflow provides a Gemini Live assistant for an e-commerce store by generating single-use Gemini ephemeral tokens, loading a knowledge base from a Google Drive folder, and handling tool calls to read order status, create return/exchange requests, log complaints to Google Sheets and notify the owner via Gmail How it works Receives a POST webhook request to create a new Gemini Live voice session. Applies daily and per-IP rate limits, then lists and downloads supported knowledge files from a specified Google Drive folder and combines them into a single system prompt. Builds a Gemini Live session configuration (voice, model, and tool schema), signs the session with an HMAC, and requests a single-use ephemeral token from the Gemini API. Returns the token, model, WebSocket URL, signed session metadata, and tool-callback URL to the client via the webhook response. Receives tool-call webhook requests from the Gemini Live client, validates the HMAC signature and expiry, and enforces a per-session tool-call limit. For authorized tool calls, reads order data from Google Sheets to return order status, verifies and appends return/exchange requests to Google Sheets and emails the owner, logs complaints to Google Sheets and emails the owner, or sends owner notifications for unanswered questions. Responds to the tool-call request with a JSON result (or returns an error for missing info, rate limits, unknown tools, or unauthorized calls). Setup Add an HTTP Header Auth credential containing your Gemini API key with header name x-goog-api-key. Connect Google Drive OAuth2, Google Sheets OAuth2, and Gmail OAuth2 credentials used by the workflow. Update the Business Settings values, including owner email, Google Drive folder ID, Google Sheet ID, public tool URL, and a long random HMAC secret. Create or update the Google Sheet with tabs and columns for Siparisler, Iadeler, and Sikayetler matching the fields the workflow reads/writes. Copy the production webhook URLs for /webhook/gemini-live-token and /webhook/gemini-live-tool into your client application and restrict allowedOrigins on both webhooks to your site domain. An n8n automation workflow template by Onur Olgun.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
Pushbuild logo
Score and triage inbound leads with OpenAI, HubSpot, and Slack
Live

By Pushbuild

Quick overview This workflow receives new lead submissions via a webhook, normalizes the data, scores the lead with OpenAI, sends an acknowledgment email, upserts the contact into HubSpot, and posts a Slack alert when the score meets a configured “hot lead” threshold. How it works Receives a POST request on a webhook endpoint whenever a new lead is submitted. Normalizes incoming form fields into a consistent lead object (name, email, phone, company, message, source) and prepares an OpenAI Chat Completions request. Sends the lead details to the OpenAI API to generate a 1–10 score plus a short reason and summary in JSON. Parses the OpenAI response and attaches the score, reason, and summary to the lead record. Sends a thank-you email to the lead using your SMTP mail server with a booking link for follow-up. Upserts the lead as a contact in HubSpot using the email address as the unique identifier. Posts a message to Slack via an incoming webhook when the lead score is greater than or equal to the configured hot-lead score. Setup Configure the webhook URL in your form tool to POST lead submissions to the workflow’s “New lead” production webhook endpoint. Add an HTTP Header Auth credential for OpenAI (Authorization: Bearer ) and attach it to the OpenAI request. Add an HTTP Header Auth credential for HubSpot (Authorization: Bearer ) and attach it to the HubSpot upsert request. Add an SMTP credential for sending email and set the from address, business name, booking link, Slack incoming webhook URL, and hot-lead score in the Config values. An n8n automation workflow template by Pushbuild.

N8nUpdated 12 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Au
Audit Google Maps local leads with Apify Local Lead Audit and Google Sheets
Live

By LatentLark

Quick overview This workflow runs weekly (or manually) to scrape Google Maps leads via Apify, audits each business website with LatentLark Local Lead Audit to generate issues and outreach angles, and appends the enriched lead data to a Google Sheets spreadsheet. How it works Runs every Monday at 08:00 (or starts from a manual test run) and loads the search term, location, maximum places, and campaign key. Uses Apify’s Google Maps Scraper actor to collect matching businesses from Google Maps based on the configured search and location. Sends the scraper run’s dataset to Apify’s LatentLark Local Lead Audit actor to audit each website, attempt to find owner/contact details, and generate a pitch angle and email opener while skipping previously seen businesses. Drops results flagged as error, invalid input, or skipped, and keeps only valid business records. Maps the audit output into a consistent set of columns (business details, issues, scores, and outreach fields) and appends each row to Google Sheets. Setup Install the Apify community node (@apify/n8n-nodes-apify) if needed and add an Apify API token credential. Create a Google Sheet with header columns that match the workflow’s output (for example: businessName, website, city, phone, email, ownerName, problemScore, grade, primaryIssue, issues, pitchAngle, emailOpener, rating, reviewCount, mapsUrl, auditedAt). Add Google Sheets OAuth2 credentials and select the target spreadsheet and sheet/tab in the Google Sheets append step. Update the Settings values (searchTerm, location, maxPlaces, and a unique campaignKey used to deduplicate with onlyNew), then run once manually before enabling the weekly schedule. An n8n automation workflow template by LatentLark.

N8nUpdated 12 hours ago
Free
No ratings
  • 1 nodes
Workflows
  • Automation
Up
Update and roll back WordPress plugins and themes via SSH with Groq analysis
Live

By Christian

Quick overview This workflow runs on a schedule or manually to update WordPress plugins and themes over SSH using WP-CLI, verifies site health with HTTP checks and log inspection, automatically rolls back breaking updates, and emails an HTML report with optional Groq AI analysis of failures. How it works Copy selfheal.sh from the GitHub repository (github.com/Christianzimpel/n8n-wp-self-healing-update-agent) to ~/wp-selfheal/selfheal.sh on your server. Provide an SSH private key credential with access to the WordPress server and make sure the server has WP-CLI, PHP CLI, tar, and curl available. Connects to the server via SSH, checks that the helper script is installed, backs up the database, enables temporary debug logging, and fetches the list of available plugin and theme updates. If no updates are available or the preparation step fails, sends an email indicating everything is up to date or that the run was aborted. Processes each plugin and theme update one at a time over SSH by backing up the component, running the WP-CLI update, and building one or more URLs to check. After each update, requests the configured site paths over HTTP and checks via SSH whether WordPress boots and whether new PHP fatal errors appear, then marks the update as successful or schedules a rollback. If the site appears broken, restores the plugin/theme from its backup over SSH, and if rollback fails, stops further updates and sends an emergency email. After all items (including a retry round for previously rolled-back/failed items), restores debug settings, optionally sends failure logs to Groq for analysis, and emails a consolidated HTML report. Setup Provide an SSH private key credential with access to the WordPress server and ensure the server has WP-CLI, PHP CLI, tar, and curl available. Update the Configuration values for siteUrl, wpPath, wpCli, and checkPaths, and (optionally) set phpErrorLog, keepDays, and maxAttempts to match your environment. Add an SMTP/email credential and set the mailTo and mailFrom addresses used for the report, no-updates notice, aborted-run notice, and emergency alert. Add a Groq credential (or replace the Groq model with another supported chat model) if you want AI-generated analysis included in the report. Verify the schedule in the Monday 4 AM trigger (or disable it) and run the workflow manually against a staging site before enabling it in production. An n8n automation workflow template by Christian.

N8nUpdated 12 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI
AI Agent Starter Kit logo
Send a daily AI morning briefing with Google Calendar, Gmail, and OpenAI
Live

By AI Agent Starter Kit

Quick overview This workflow runs every weekday morning, pulls today’s Google Calendar events and recent unread Gmail messages, uses an OpenAI-compatible chat completions API to write a short plain-text briefing, and emails the briefing to you via Gmail. How it works Runs every weekday at 7 AM (or on-demand via a manual trigger for testing). Reads your settings (timezone, goal, inbox search, model, and email recipient) and fetches today’s events from Google Calendar. Queries Gmail for unread inbox emails from the last 24 hours using your configured Gmail search filter. Cleans and summarizes the raw data by sorting meetings, flagging back-to-back events, calculating total meeting time and your longest free focus block, and trimming each email to sender/subject/snippet. Sends the prepared calendar and email context to an OpenAI-compatible API endpoint to generate a three-part briefing (TODAY, INBOX, ONE THING) under the configured word limit. Formats the final email body using the AI response or a fallback plain list if the AI request fails, then sends it to your address through Gmail. Setup Add Google Calendar OAuth2 credentials and select them for the calendar-read step, ensuring the calendar ID matches the calendar you want to summarize. Add Gmail OAuth2 credentials and select them for both reading unread emails and sending the briefing email. Add an HTTP Header Auth credential for your LLM provider (Authorization: Bearer YOUR_API_KEY) and set the LLM base URL and model to match your OpenAI-compatible endpoint. Update the workflow settings values (recipient email, timezone, goal, inbox search, and workday hours) to match your preferences, then test with the manual trigger before activating the schedule. An n8n automation workflow template by AI Agent Starter Kit.

N8nUpdated 12 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
Zhang Lixiang logo
Answer WhatsApp FAQs with keyword matching and an OpenAI fallback
Live

By Zhang Lixiang

Quick overview This workflow handles WhatsApp Business Cloud API webhooks, verifies the callback URL, and replies to incoming WhatsApp text messages using keyword-matched FAQs with an OpenAI fallback that can only select from approved FAQ IDs before sending the stored answer back via WhatsApp. How it works Receives a GET request from Meta to verify the WhatsApp webhook and returns the hub.challenge only when the provided verify token matches. Receives WhatsApp webhook POST events and keeps only incoming text messages while ignoring delivery/read receipts. Scores each message against a built-in FAQ list using keyword matching and selects the highest-scoring FAQ answer when a match is found. If no keyword match is found, sends the customer message plus the FAQ IDs and questions to an OpenAI chat model to choose a single FAQ ID or null. Validates the model’s output against the known FAQ IDs and selects either the corresponding stored answer or a fixed fallback message. Sends the chosen reply back to the customer via the WhatsApp Business Cloud API using the same phone number that received the message. Setup Create a Meta app with the WhatsApp product, connect a business phone number, and configure webhook subscriptions for messages. In n8n, add WhatsApp Business Cloud API credentials and an OpenAI (or OpenAI-compatible) credential for the chat model node. Replace YOUR_VERIFY_TOKEN in the webhook verification check and use the same token in Meta’s webhook settings. Activate the workflow and copy the production webhook URL for the whatsapp-faq path into Meta’s webhook configuration. Edit the FAQ list (IDs, questions, keywords, answers) and update placeholders like YOUR_BOOKING_LINK and the fallback message to match your business. Additional info Need signature verification, deduplication, opt-out handling and human handoff? A production version is available at https://zhangautomation.gumroad.com/l/ecvlr. An n8n automation workflow template by Zhang Lixiang.

N8nUpdated 12 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
In
Inspect Vinted listings and log results with Google Sheets, Slack, Notion or email
Live

By Advisync

Quick overview Inspect bounded Vinted listing samples, then preview rows or a short summary for Google Sheets, Slack, Notion or email. Choose Ralph Lauren, Dior, Sezane or a custom search. The default first execution prepares input without credentials, source requests or destination writes. How it works A manual trigger reads eight common customer fields; a separate Advanced controls node retains source modes, approval phrases and lowerable resource ceilings. With no completed run ID, AUTO prepares the selected search and returns a readable configuration receipt without HTTP, credentials or writes. A matching completed run ID selects recovery; AUTO never starts a paid search. For listing previews, three Apify read nodes verify the exact Actor/build, terminal status, original stored input, resource and cost guards, then validate the versioned results payload. The workflow removes exact duplicate source rows, preserves partial/capped warnings and prepares full listing receipts for Sheets or a bounded digest for the other destinations. Asking prices do not establish sale value or profit. PREVIEW displays the selected target and proposed content, then stops before every destination writer. A separate explicit approval is required for any write or delivery. The Sheets path reads before writing, appends missing observation receipts, verifies them and writes the run completion marker last. An exact completed replay is designed to skip duplicate writes. Slack, Notion and email use a durable n8n Data Table intent before one provider call and verify the provider receipt. Unresolved attempts stop for manual reconciliation. Run executions serially: the journal does not guarantee concurrent exactly-once delivery. Setup Import into a new empty workflow and keep manual execution. Open node 01, choose one preset and destination, and leave the completed run ID blank. Execute once and read node 02B. No credential is required for this first configuration check. To preview actual listings, supply your own matching completed Actor 0.13.69 run ID and one destination target. A standard Google Sheets or Notion page link is accepted; Slack uses one channel ID, and email uses one sender and recipient. For recovery, select your own Apify Bearer Auth credential only on read nodes 04B, 07A and 08A. Leave paid-start node 04A unbound. Keep Advanced write_mode=PREVIEW and inspect the target, proposed content and partial-result warnings. For later Sheets writes, create Vinted Listings and Vinted Runs tabs with the exact headers in the canvas note, then connect your Google Sheets credential to the listed Sheets nodes. Use the Advanced write controls only after reviewing a preview. For later Slack, Notion or SMTP delivery, connect only the selected service credential and create the n8n Data Table with the exact string columns in the recovery note. Set its ID and the destination-specific approval phrase in Advanced controls. Starting a new Actor run is optional and separate: explicitly choose START_BOUNDED_RUN, bind 04A and enter its exact approval phrase. The fixed ceilings are USD 0.25, 40 listing rows and 45 total source requests. Reuse completed runs for recovery instead of starting another collection. Requirements n8n with Manual Trigger, Set, Code, If, HTTP Request and the selected service nodes; Data Table is needed for Slack/Notion/email delivery. An Apify account and your own credential are needed only when retrieving or starting a source run. This template fixes source build 0.13.69 and payload contract 0.13.0. Use customer-owned service credentials and one exact destination. No owner credentials or real destination IDs are embedded. Customization Choose one of three presets, or select custom and set query, optional size and maximum asking price in node 01. Simple custom searches default to buyer/France; goal and countries remain editable in Advanced. Paste the selected destination link or ID into destination_target. Conflicting common and Advanced targets stop before HTTP. Other destination targets are cleared from the resolved configuration. Lower resource ceilings in Advanced. Keep previews enabled until the proposed rows or digest and its exact target have been reviewed. Additional info This unofficial Actor supports listing inspection, not purchases, sold-price estimates, seller-country identification or profit forecasts. France has bounded source-validation evidence; broader reliability is unproven. Partial/capped results must remain visibly partial. Source cost controls are requested ceilings; platform settlement can slightly exceed them. Native compact configuration preparation was verified in n8n Cloud; actual listing preview and each provider delivery for this exact revision remain separate qualification gates. Provider acceptance does not prove recipient delivery or reading. Keep executions manual and serialized; reconcile unresolved journal attempts rather than blindly resending. An n8n automation workflow template by Advisync.

N8nUpdated 12 hours ago
Free
No ratings
  • 6 nodes
Workflows
  • Automation
Sc
Scan and fix WordPress noindex pages with Google Sheets and RankMath
Live

By Le Thua Phu

Quick overview This workflow reads URLs from Google Sheets, checks each page for noindex directives in the meta robots tag or X-Robots-Tag header, writes the status back to the sheet, and for rows marked “Needs index” calls the RankMath WordPress REST API to switch robots settings to index. How it works Starts manually and loads URL rows from a Google Sheets tab, focusing on rows that match the configured filter. Processes the URLs in batches, fetching each page over HTTP and parsing the HTML and headers for meta robots and X-Robots-Tag values. Writes the detected robots status (for example NOINDEX, INDEX, noindex via header, no meta robots found, or an HTTP error) back to the Google Sheet. After the check completes, reads the rows where the Google Sheet “Note” column equals “Needs index.” Fetches each marked page again and extracts the underlying WordPress post or term ID from headers or page markup, while preparing a new robots value that replaces noindex with index. Sends the updated robots meta to the RankMath updateMeta REST endpoint in WordPress for rows with a valid object ID and records API errors for the rest. Updates the Google Sheet with the final result (INDEX or an error status) for each processed row. Setup Create a Google Sheet with a tab named “All URLs” and columns named exactly: URL, Robots Tag, Note. Add your Google Sheets credential in n8n and replace YOUR_GOOGLE_SHEET_ID in all Google Sheets nodes with your spreadsheet ID. Add a WordPress API credential (for example using an Application Password) with permission to edit content, and replace https://your-site.example.com in the RankMath request with your WordPress site URL. Ensure RankMath is installed and its REST API is reachable, then mark rows you want switched by setting Note to “Needs index.” Optionally enable the disabled test limiter to run a small subset first, and avoid sorting the sheet while the workflow is running so row matching stays consistent. Requirements Google Sheets account with OAuth2 credential WordPress site with the RankMath SEO plugin active WordPress user that can edit posts, with an Application Password recommended Network access from n8n to your site Customization Change the Needs index text in Get Rows Needing Index to use your own marker Adjust the filter in Get URLs to check only the rows you want Raise or lower the batch size and interval in the Fetch nodes to suit your server Replace Run Check with a Schedule Trigger for regular checks Adjust the robots values in Get Object ID, which keeps nofollow-type tags and replaces noindex with index Additional info The status INDEX means RankMath accepted the request, not that the page is confirmed indexable. Clear your cache and run the check again to verify. If your site still shows noindex after a run, compare the request body in the RankMath updateMeta node with the request your RankMath editor sends. Pages that expose no post or term ID get the status missing object_id and must be handled manually. Noindex can also come from an X-Robots-Tag header or another plugin, which this workflow cannot change. An n8n automation workflow template by Le Thua Phu.

N8nUpdated 12 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Se
Send staged invoice payment reminders from Google Sheets via Gmail
Live

By Jessy Mariau

Quick overview This workflow runs every weekday at 09:00, reads overdue invoices from a Google Sheets spreadsheet, sends staged payment reminder emails via Gmail at 3, 7, and 14 days past due, then updates the invoice tracking fields and appends an audit entry to a Log sheet. How it works Runs every weekday at 09:00 on a schedule. Loads reminder settings (cadence days, minimum gap between reminders, and a per-run safety cap) and reads all rows from the Google Sheets “Invoices” tab. Selects invoices that are overdue by the next configured reminder day, skips closed/paid statuses, validates required fields (email, amount, due date), and avoids reminding customers too frequently. Builds a personalized email subject and body (including an optional payment link) and sends the reminder through Gmail. Updates the matching invoice row in Google Sheets with the new status, attempts count, last reminder date, and computed next reminder date. Appends a row to the Google Sheets “Log” tab for each successfully sent reminder. Setup Connect a Gmail account/credential that is allowed to send reminder emails. Connect Google Sheets credentials and paste your spreadsheet URL into the Google Sheets nodes that read, update, and log data. Ensure your spreadsheet includes an “Invoices” tab with columns used by the workflow (at minimum: invoice_id, customer_email, customer_name, amount, currency, due_date, status, attempts, last_reminder_at, next_reminder_at, invoice_link) and a “Log” tab with matching log columns. In “Your Settings”, set your display name and adjust reminder_days, min_gap_days, and max_per_run as needed, and leave test_today blank for production use. An n8n automation workflow template by Jessy Mariau.

N8nUpdated 12 hours ago
Paid
No ratings
  • 3 nodes
Workflows
  • Automation
Muhammad Firaz Al Aqib logo
Track competitor prices, promos, and stock with MrScraper, Gemini, and Slack
Live

By Muhammad Firaz Al Aqib

Quick overview This workflow tracks competitor product prices, promos, and stock using MrScraper, logs results to Google Sheets, generates short insights with Google Gemini, and posts Slack alerts only when significant changes occur, running daily on a schedule or on demand via a webhook. How it works Runs daily on a schedule or starts via a POST webhook request and normalizes the input to choose a tracking mode (sheets watchlist, a listing page, or a SERP query). In watchlist mode, reads SKUs from Google Sheets (Watchlist) and the prior run data (History), then scrapes each competitor product page with MrScraper. Compares the scraped competitor price, promo, and stock status to your price and the most recent History entry, appends the new result to the History sheet, and flags meaningful changes. When a change triggers an alert, Google Gemini writes a short recommendation and the workflow posts a detailed Slack alert for that SKU. In listing/SERP mode, uses MrScraper to collect multiple offers (from a category page or from Google results followed by product page scraping), compares each offer to your price, and appends results to the Market History sheet. If any market offers cross the alert rules, Google Gemini summarizes the market position and the workflow posts a single Slack “Market Price Check” summary; webhook runs also return the final results as JSON. Setup Create credentials for MrScraper, Google Sheets OAuth2, Google Gemini (PaLM) API, and Slack (access token). Create a Google Sheet with tabs named Watchlist, History, and Market History, and add Watchlist columns for sku, product_name, my_price, currency, competitor_url, and threshold_pct. Paste your Google Sheet ID and Slack channel ID into the workflow’s Setup values. If using the webhook mode, copy the production webhook URL from n8n and send POST requests to /webhook/competitor-tracker with a valid body (source: sheets, listing, or serp plus the required fields). An n8n automation workflow template by Muhammad Firaz Al Aqib.

N8nUpdated 12 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
iamvaar logo
Triage Shopify refund and fraud requests with Gemini, Sightengine, Jira and Slack
Live

By iamvaar

Quick overview Youtube Video: https://youtu.be/0lc_UfiqvIA This workflow collects refund requests via an n8n Form, validates the order in Shopify, save contact to Klaviyo and Shopify journey data, checks images with Sightengine, and uses Gemini to generate fraud triage decision that is logged to Sheets, filed in Jira, and posted to Slack. How it works Receives a refund request through an n8n Form with order details, reason, and an optional image attachment. Writes the submission to Google Sheets with a PENDING_TRIAGE status, then looks up the order in Shopify and checks that the order exists and the submitted email matches. If the order cannot be verified, updates the Google Sheets row with an invalid status and sends an alert to Slack. If the order is verified, looks up the customer in Klaviyo and creates a profile if one does not already exist. Fetches recent order history and customerJourneySummary data from Shopify GraphQL and builds a single AI context payload that also preserves the uploaded image. Sends the attachment to Sightengine’s GenAI detector, converts the result into an authenticity status and score, and passes everything to Google Gemini to produce a structured refund recommendation, fraud risk score, and notes. Creates a Jira issue with the AI triage report, updates the original Google Sheets row with the decision and Jira key, and notifies the support team in Slack. Setup Create and publish the n8n Form, then share its public URL with customers or embed it where you collect refund requests. Connect Shopify OAuth2 credentials and ensure the workflow can access both the Admin REST API (order lookup) and Admin GraphQL API (customerJourneySummary query). Add Google Sheets service account credentials and update the spreadsheet ID and the “Refund Requests” sheet name/columns to match your document. Add Slack credentials and set the target channel(s) for unverified-order alerts and triaged-refund notifications. Add Jira Software Cloud credentials and select the target project and issue type for refund tickets. Add Klaviyo API credentials and configure the account that should own/track customer profiles, and provide Sightengine API credentials for the image authenticity check. An n8n automation workflow template by iamvaar.

N8nUpdated 12 hours ago
Free
No ratings
  • 9 nodes
Workflows
  • Automation
  • AI
Mo
Monitor Unraid server health and send alerts with Telegram
Live

By Mohamed Ayoub Jabane

Quick overview This workflow monitors an Unraid server via its GraphQL API, scanning new syslog warnings every minute and running broader health checks every five minutes, then sends deduplicated alerts with suggested next steps to a Telegram chat, with optional Unraid notifications and container auto-restarts. How it works Runs on two schedules: every minute for syslog monitoring and every five minutes for health checks. Calls the Unraid GraphQL API to fetch either only the newly appended syslog lines or a full health snapshot (array, disks, SMART, Docker, notifications, CPU/memory). Classifies syslog lines and health findings by severity and generates actionable alert details and suggested next steps. Normalizes alerts and throttles repeats using stored state so the same issue is only sent once per configured time window. Optionally sends the alert text to a connected chat model for short triage guidance and appends it to the alert. Sends the formatted alert to Telegram, and optionally mirrors it into Unraid’s notification system and auto-starts stopped autostart Docker containers before reporting the result back to Telegram. Setup Create an Unraid admin API key (Unraid Settings → Management Access → API Keys) and configure an HTTP Header Auth credential that sends it as header name x-api-key. Add a Telegram bot credential and set the target chat ID in cfg.telegramChatId. Update cfg.unraidUrl to your Unraid WebGUI base URL (HTTPS) and adjust alert options like cfg.minSeverity and cfg.throttleMinutes. (Optional) Enable cfg.alsoUnraidNotification to create Unraid notifications and/or cfg.autoRestartContainers to auto-start stopped autostart containers. (Optional) Connect a chat model to the AI triage step and enable it if you want AI-generated guidance included in alerts. An n8n automation workflow template by Mohamed Ayoub Jabane.

N8nUpdated 12 hours ago
Free
No ratings
  • 4 nodes
Workflows
  • Automation
  • AI
Divyanshu Gupta logo
Run a school admin assistant on Telegram with DeepSeek and Google Sheets
Live

By Divyanshu Gupta

Quick overview Run school admin from one Telegram chat. Teachers report absences and the bot asks free teachers to confirm cover. The principal approves AI-written English and Hindi circulars before parents are emailed, and gets a daily 8am briefing on attendance, fees and substitutions. Everything is logged in Google Sheets. How it works Triggers when a message arrives in Telegram or every day at 8am via a schedule. Looks up the sender in Google Sheets (Users and Teachers) to determine their role, and replies with a registration message if the chat ID is unknown. Uses DeepSeek to extract the request intent (absence or announcement) and key details from the Telegram message, then routes the request accordingly or sends a help reply. For absence requests, reads the Timetable and existing Substitutions from Google Sheets, ranks available teachers, and sends Telegram approval prompts to the top candidates per period, escalating to the principal when no one accepts. Logs confirmed and uncovered periods to the Substitutions sheet in Google Sheets and sends a consolidated cover-plan summary to both the requester and the principal on Telegram. For announcement requests (Principal/Admin only), uses DeepSeek to draft an English and Hindi circular, asks for Telegram approval, then emails matching parents via Gmail using addresses from the Students sheet and logs the send to the Circulars sheet. At 8am, reads Students and Substitutions from Google Sheets, calculates attendance/fees/substitution counts, uses DeepSeek to write a formatted briefing, and sends it to the principal on Telegram. Setup Create a Telegram bot and add a Telegram API credential in n8n, then message the bot from each staff account and record their Telegram Chat IDs in the Teachers and Users sheets. Connect Google Sheets OAuth2 credentials and update the sheet ID, tab names, and required columns in the Workflow Config and Google Sheets nodes (Teachers, Users, Students, Timetable, Substitutions, Circulars). Add a DeepSeek API credential and ensure it is selected for the information extraction, circular drafting, and daily briefing steps. Add a Gmail OAuth2 credential and update the Gmail “Send To” field to use the recipient email from Google Sheets (or your preferred target) before enabling parent emails. Set the principal’s Telegram Chat ID in the Users sheet (Role = Principal) and adjust Workflow Config values like attendance threshold, due-soon window, and approval wait time to match your school process. An n8n automation workflow template by Divyanshu Gupta.

N8nUpdated 12 hours ago
Free
No ratings
  • 8 nodes
Workflows
  • Automation
  • AI
Tr
Track new LinkedIn jobs daily in Google Sheets with Apify MEKA
Live

By MEKA

Quick overview Monitor new public LinkedIn jobs in Google Sheets with MEKA. The workflow validates a focused search, deduplicates job IDs against your sheet, and appends only unseen roles. How it works Use the Manual Trigger for a supervised test, or enable the included daily Schedule Trigger after setup. Read and validate search, spreadsheet, result, and budget settings before starting one MEKA Actor run through Apify. Handle READY and RUNNING responses with a bounded poll loop without retrying the billable start request. Read the Actor OUTPUT summary before accepting data; stop on failed searches and mark enrichment failures or budget stops as partial coverage. Fetch one bounded Dataset batch and normalize valid public LinkedIn job records into the documented ten-column shape. Read existing IDs from the target sheet and remove jobs already present or duplicated inside the fetched batch. Append only unseen rows, preserve firstSeenAt, and report fetched, new, appended, skipped, and coverage counts. Setup Import the workflow JSON and keep it inactive. Create a Google Sheet with a Jobs worksheet and add these exact headers in row 1: id, title, company, location, postedAt, url, salary, employmentType, seniority, firstSeenAt. Create an HTTP Header Auth credential. Set the header Name to Authorization and Value to Bearer . Select the same credential on Start Actor, Poll Actor Run, Get Run Output, and Get Dataset Items. In Search settings, enter your spreadsheet document ID and sheetName, then choose keywords, location, date window, limit, and budgetUsd (mapped to the maxTotalChargeUsd HTTP query parameter). Connect Google Sheets OAuth2 to Read Existing Jobs and Append Rows. Open Workflow settings -> Timezone and choose the timezone you intend to use. Confirm that 08:00 is the intended time in the timezone you explicitly choose. Run the Manual Trigger, inspect the execution and real sheet, and enable the Schedule Trigger only after that test succeeds. Requirements Use n8n with an Apify account and token, a Google account that can authorize Google Sheets OAuth2, and a writable spreadsheet with the documented Jobs worksheet and ten headers. This template is free, but Apify Actor usage may incur separate Apify charges. Customization Edit Search settings to change the keywords, location, date window, result limit, spending cap, spreadsheet, or worksheet. After choosing a workflow timezone, adjust the 08:00 schedule if needed. Focused smaller searches are easier to inspect; result limits and budget caps do not guarantee full-market coverage. Additional info The template is free to use, while Apify Actor runs may incur separate Apify charges; the user's n8n plan may also apply. Public repository: https://github.com/meka-im/linkedin-jobs-scraper-examples. MEKA Actor: https://apify.com/meka.im/linkedin-jobs-scraper. Use one workflow and one active writer per sheet because concurrent read-and-append runs can race. Results depend on search ranking, public availability, enrichment outcomes, and result or budget limits, so this workflow does not provide full-market coverage. An n8n automation workflow template by MEKA.

N8nUpdated 12 hours ago
Free
No ratings
  • 3 nodes
Workflows
  • Automation
Sy
Sync Mastodon bookmarks to Wallabag with Data Tables and duplicate checks
Live

By Aymeric Besset

Quick overview This workflow runs every five minutes to fetch new Mastodon bookmarks and save them to Wallabag, tracking the last processed bookmark ID in an n8n Data Table and checking Wallabag first to prevent duplicate saved URLs. How it works Runs every 5 minutes on a schedule. Reads the last processed Mastodon bookmark ID (min_id) from an n8n Data Table and falls back to a default value on first run. Calls the Mastodon API (/api/v1/bookmarks) with min_id to fetch only newer bookmarks and stops if none are returned. Extracts pagination values (including the newest min_id) from the Mastodon Link response header and stores the updated min_id back to the Data Table. Processes each bookmarked post individually and decides whether to use the link preview card URL or the first non-mention/non-hashtag link in the post (or the post URL if no link is found). Checks in Wallabag whether the chosen URL already exists and, if not, creates a new Wallabag entry with metadata such as title, author, language, content, origin URL, and published date. Setup Install the community node package n8n-nodes-wallabag in your n8n instance. Create a Mastodon access token with the read:bookmarks scope and add it as an HTTP Bearer Auth credential used by the Mastodon HTTP request. Replace YOUR_MASTODON_INSTANCE in the Mastodon bookmarks request URL with your server domain. Create and select a Wallabag API credential for the Wallabag “exists” and “create” operations. Create an n8n Data Table named mastodon_sync_state with string columns source and min_id, and select it in the nodes that read and upsert the sync state. Optionally adjust the DEFAULT_MIN_ID value (0 starts from your oldest bookmarks) and run the workflow once to initialize state before activating it. Requirements ⚠️ Requires the community node n8n-nodes-wallabag and n8n with Data Tables. An n8n automation workflow template by Aymeric Besset.

N8nUpdated 12 hours ago
Free
No ratings
  • 2 nodes
Workflows
  • Automation
Cr
Create a topic dossier as an HTML file with DuckDuckGo
Live

By Sam

Quick overview Type a topic; this workflow reads web pages found with DuckDuckGo and gives you one HTML file: an overview in which every paragraph cites a source, quotes checked against the pages, news, and optionally videos and pictures. Self-hosted n8n only. How it works A form takes the topic and whether you want videos and pictures (as links, or with thumbnails). A model plans the searches: up to two web queries, one for news and how recent it must be, one for videos and one for pictures. Code checks the plan. An AI agent searches the web with the DuckDuckGo node as its tool, choosing a past day, week, month or year when the topic asks for recent pages, and returns findings with a quote from each page. Code keeps a finding only if its quote is in the text of a page the tools returned, and stops unless at least three points come from at least two sites. The DuckDuckGo node then searches news, videos and images, adds an instant answer and search ideas, with short waits between searches. A vision model only judges whether a thumbnail is safe. A second model writes the overview from the verified points, and a paragraph that cites no source is dropped. A design agent writes the style sheet, and code accepts it only as plain CSS with readable colours. Code builds one HTML file with all text escaped. The form page shows it in a preview with a Download button. If there is no dossier, the page says why. Setup Self-hosted n8n 2.18 or later: install n8n-nodes-duckduckgo-search 32.19 or later under Settings → Community nodes. Searching and reading pages need no API key or account. Add a credential to the chat-model node, OpenRouter model. Any other chat-model node can replace it; choose a model that returns JSON reliably. Activate the workflow, open the form's production URL and type a topic. A run takes one to two minutes and about 5 to 7 DuckDuckGo searches, so leave a few minutes between runs. Keep the form behind n8n login, as it is set here: it makes the node fetch whatever pages a search returns. Requirements Self-hosted n8n only: community nodes cannot be installed on n8n Cloud n8n 2.18 or later, so that links in the preview open in a new tab The community node n8n-nodes-duckduckgo-search, version 32.19 or later An API key for the AI model: OpenRouter by default, or any provider with an n8n chat-model node No API key or account is needed for DuckDuckGo Customization Change how many points and sources are kept (the limits in Verify the findings) or how many searches the agent may make (its prompt and Max Iterations) Choose another region on the search nodes (they are set to wt-wt, no region) Swap the model node for any other chat-model node Keep the waits between searches: DuckDuckGo limits requests per IP address Send the HTML file by email or save it to Google Drive instead of showing it on the form page Additional info Suggested title: "Create a topic dossier as an HTML file with DuckDuckGo". Please do not use "fact-checked" in the title: the workflow checks that each quote is on the page it cites, but it does not fact-check the claims in them, and the result page says so. The AI model is a swappable part (any chat-model node works), so the title names only the search node. The canvas preview does not render community nodes, so the full canvas is in the screenshot at the top of the description. The workflow JSON is submitted as it is in the repository; the AI-generated sticky notes were not used, because the file already has an overview note and section notes that include the community-node install step and the self-hosted-only line. Source and notes: https://github.com/samnodehi/n8n-nodes-duckduckgo/tree/main/docs/examples. An n8n automation workflow template by Sam.

N8nUpdated 12 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
Finrod Chen logo
Create a daily AI news digest from RSS with TypeSafe Jev, OpenAI, Telegram and Gmail
Live

By Finrod Chen

Quick overview This workflow runs every morning, pulls recent items from multiple RSS feeds, uses TypeSafe Jev to score relevance/importance and deduplicate similar headlines, then uses OpenAI to generate a one-line-per-story digest that it sends to Telegram and Gmail and archives to Google Sheets. How it works Runs every day at 8:00 AM. Reads items from the configured RSS feed URLs, normalizes the entries, keeps only recent stories, and skips links already processed in earlier runs. Sends each story’s title and snippet to TypeSafe Jev to score topic relevance, assign an importance rating, and categorize the story. Filters to stories that meet the relevance and importance thresholds, then compares remaining headlines with TypeSafe Jev to detect and merge duplicates about the same event. Sends the final list of top stories to OpenAI to produce a daily headline and a one-sentence summary per story, falling back to RSS snippets if the AI output is invalid. Formats the digest and delivers it to Telegram and Gmail, then appends one row per story to a Google Sheets archive. Setup Add a TypeSafe (typesafe.ai) Bearer token credential and select it for both Jev HTTP requests. Add OpenAI credentials for the chat model used to generate the headline and per-story summaries. Add Telegram bot credentials and set your target telegramChatId in the configuration step. Add Gmail credentials and set the recipient address in emailTo. Add Google Sheets credentials and update sheetUrl and sheetTab to point to your archive spreadsheet and worksheet. An n8n automation workflow template by Finrod Chen.

N8nUpdated 12 hours ago
Free
No ratings
  • 7 nodes
Workflows
  • Automation
  • AI
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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 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 12 hours ago
Free
No ratings
  • 5 nodes
Workflows
  • Automation
  • AI