Workflows
Browse 12,955 Workflows
Workflows are deterministic, multi-step pipelines that chain models, tools and agents in a fixed order — the predictable counterpart to an autonomous agent. Each entry records its platform and complexity, so the setup cost is visible before you import it.
121–132 of 12,955
By WeblineIndia
Quick overview This workflow pulls unread “purchase request” emails from Gmail, uses a Groq-hosted LLM to extract line items and urgency into structured JSON, matches items against an Airtable catalog to apply pricing and vendors, then logs approvals to Google Sheets and creates or flags purchase orders in Airtable. How it works Starts manually and stores the current run timestamp for use on the next execution. Fetches up to five unread Gmail messages with the subject filter “purchase request” and normalizes each email into raw request text plus the requester’s address. Sends the freeform request text to a Groq chat model (via n8n’s LangChain integration) and parses the response into a strict JSON schema with urgency and itemized quantities. Loads the approved item catalog from Airtable and performs fuzzy matching to assign SKUs, preferred vendors, and contract/standard pricing while calculating a total PO cost. Routes the request based on whether any items failed to match, any items are ready for an automatic PO, or the request is marked urgent. For matched requests, appends/updates an approval/audit entry in Google Sheets and then upserts an “Approved - Auto” purchase order record into Airtable. For triage or urgent cases, creates or updates an Airtable purchase order record with a “Pending Triage” or “Pending Urgent Review” status. Setup Connect Gmail OAuth credentials and ensure incoming requests use the expected subject filter (subject contains “purchase request”) and are left unread until processed. Add a Groq API credential and confirm the selected chat model is available for your account. Connect Airtable credentials and update the base/table IDs for both the catalog source and the purchase order destination. Ensure the Airtable catalog includes fields used for matching and pricing (for example: Search Keywords or Item Name, SKU, Vendor ID/Vendor, Price, optional Contract Price, and optional Preferred Rank). Connect Google Sheets credentials and update the spreadsheet/document ID, sheet tab, and column names used for the approval log. Additional info How To Customize Nodes Adjusting the Matching Strictness**: Open the Code: Match & Price Logic node. Look for the threshold routing line: if (highestScore >= 0.3 && bestMatch). Increase 0.3 to 0.5 or 0.6 if you want the system to be much stricter about what it auto-approves, effectively sending more items to manual triage. Refining AI Instructions**: Open the LLM: Parse Request node. You can modify the system prompt ("You are a procurement parsing assistant...") to teach the AI to look for specific internal project codes, cost center numbers, or budget tags included in the freeform text. Swapping the LLM**: While the workflow uses Groq for fast processing, you can delete the Model: Groq LLM node and replace it with an OpenAI, Anthropic, or local Ollama chat model node depending on your data privacy requirements. Add‑ons Receipt & Invoice OCR**: Extend the workflow by adding an email attachment trigger combined with an OCR node (like Mindee or AWS Textract) to automate 3-way matching, validating these auto-generated POs against supplier invoices once they arrive. Interactive Slack Approvals**: Instead of just sending an alert for triaged items, replace the standard Slack message node with a Slack Interactive Button node. This allows procurement managers to click "Approve" or "Reject" directly inside Slack, pushing the decision back into the workflow via a webhook. Budget Threshold Guardrails**: Add an If node immediately after the Code matching logic to check if po_total_cost exceeds a specific limit (e.g., $1,000). Route high-value requests to managerial approval even if they perfectly match the catalog. Use Case Examples IT Hardware Provisioning**: An employee messages Slack saying, "My mouse broke, need a new wireless one, preferably Logitech." The AI parses the need, matches it to your contracted Logitech MX Master in Airtable, and auto-orders it. Software License Requests**: A team member emails requesting an immediate seat for Adobe Creative Cloud. The AI flags the target_device_or_spec as Adobe, matches the recurring contract price in the catalog, and issues the PO to IT for fulfillment. Office Supplies Restocking**: An office manager sends a bulk freeform list of printer paper, whiteboard markers, and coffee beans. The flow parses the array of items, prices them out against your preferred office vendor, and logs the total cost to the centralized Google Sheet. Urgent Contractor Tools**: A manager tags a request as "URGENT: Need server monitoring tools for new contractor starting today." The AI flags is_urgent: true, bypassing standard auto-approval and immediately pinging the procurement team's Slack with an urgent alert. Marketing Asset Purchases**: The marketing team requests specific event booth materials. Because these highly customized items don't exist in the standard catalog, the fuzzy match scores them below the 0.3 threshold, automatically safely routing them to the "Requires Human Triage" queue. Troubleshooting Guide | Issue | Possible Cause | Solution | | --- | --- | --- | | Slack node fails to fetch history | Incorrect Channel ID or missing app permissions. | Verify the Channel ID in the Slack node and ensure your Slack app has the channels:history scope and is invited to the target channel. | | LLM Output Parser throws an error | The AI model hallucinated outside the requested JSON schema. | Try lowering the AI model's temperature, or switch to a strictly typed model (like OpenAI's gpt-4o-mini) to enforce strict JSON adherence. | | All requests route to manual triage | Catalog search keywords in Airtable do not align with employee phrasing. | Open the Code: Match & Price Logic node and lower the threshold from 0.3, or enrich your Airtable catalog's Search Keywords column with common synonyms. | | Duplicate processing of the same request | The static data timestamp is not saving correctly. | Ensure the workflow is active. Static memory ($getWorkflowStaticData) only persists across executions when a workflow is formally activated, not during manual testing. | | Google Sheets log fails to update | Column headers in the live sheet do not match node configuration. | Open Sheets: Log Approval and click "Refresh Schema". Ensure your live sheet contains exactly "Date", "Total Cost", "Matched SKUs", "Vendors", and "Status". | Need Help Need assistance configuring this workflow for your specific ERP, setting up advanced 3-way matching for accounts payable, or adjusting the AI parsing logic to meet strict tax and regulatory compliance rules? WeblineIndia’s team of automation developers specializes in building robust, audit-ready n8n workflows tailored for the finance and procurement sectors. Whether you need to connect this workflow to custom legacy software or scale your automated invoice validation, contact WeblineIndia to customize and deploy this solution for your organization. An n8n automation workflow template by WeblineIndia.
- 7 nodes
- Automation
- AI
By WeblineIndia
Quick Overview This workflow is triggered by a webhook, pulls category spend plus supplier and market data via HTTP requests, uses OpenAI to generate a procurement category strategy, writes it into a Google Docs document, and emails the Category Manager via Gmail. How it works Receives a POST request on a webhook endpoint to start a category review. Fetches category spend and related procurement data from an external API using HTTP requests. Fetches supplier performance and market conditions from a second external API using HTTP requests. Sends the combined data to OpenAI (gpt-4o-mini) to generate a structured JSON category strategy. Parses the AI response into individual fields like opportunities, risks, action plan, timeline, and expected savings. Creates a new Google Docs file named after the category and inserts the generated strategy content. Sends an email via Gmail to the Category Manager with key highlights from the strategy. Setup Add an OpenAI API credential and ensure the selected model (gpt-4o-mini) is available to your account. Add Google Docs OAuth credentials and set the destination Google Drive folder ID for where strategy documents are created. Add Gmail OAuth credentials and update the recipient email address and subject/message text as needed. Replace the two dummyjson.com HTTP request URLs with your real category, supplier, and market data endpoints (and add any required authentication headers). Copy the webhook URL and configure the source system to send a POST request to it when a category review is requested. An n8n automation workflow template by WeblineIndia.
- 4 nodes
- Automation
- AI
By WeblineIndia
Quick overview This workflow monitors a Google Sheets loan application tracker, alerts the team in Slack for SLA breaches, escalates high-value loans by Gmail, sends Gemini-generated status update emails to applicants, and emails a Gemini-written daily management digest on weekdays. How it works Runs every 30 minutes, reads the “Application Tracker” Google Sheet, and selects applications whose current status changed since the last notification while flagging SLA breaches (under_review for more than 3 days) and high-value loans (over 2,000,000). If an SLA alert is due, posts an SLA breach message to a Slack channel and updates the tracker row’s timestamp. Combines the remaining changed applications and escalates any high-value applications to a manager via Gmail. For each changed application, uses Google Gemini to generate a short, status-specific email body and sends it to the applicant via Gmail. If an applicant email send fails, waits 5 minutes and retries up to three times, then appends the failure details to a Google Sheets “Log Failed Email to Sheet” tab. After a successful applicant email, updates the application row in Google Sheets (including last_notified_status and last_updated) and continues processing the next application. Runs at 6 PM every weekday, reads all tracker rows, aggregates pipeline counts and SLA breaches, uses Google Gemini to draft a management digest, and emails it to the manager via Gmail. Setup Connect Google Sheets credentials and update the spreadsheet ID and sheet tabs for “Application Tracker” and “Log Failed Email to Sheet.” Connect Gmail credentials and set an n8n variable named MANAGER_EMAIL for manager escalations and daily reports. Connect Slack OAuth2 credentials, ensure the target channel (for example, #loan-alerts) exists, and update the channel selection if needed. Connect a Google Gemini (PaLM/AI Studio) API credential for both applicant emails and the daily management digest. Ensure your tracker sheet includes the fields used by the workflow (for example application_id, applicant_name, applicant_email, loan_type, loan_amount, current_status, last_notified_status, last_updated, and last_sla_alert_sent if you want daily SLA throttling). Adjust the SLA window (3 days) and high-value threshold (2,000,000) in the workflow code if your policy differs. Additional info Use Case Examples 1. Home Loan Processing at a Bank Branch A bank branch managing home loan applications across multiple stages can use this workflow to automatically notify applicants every time their file moves from submitted to docs_verified to under_review. The loan officer no longer needs to send individual status emails, and the branch manager receives a daily pipeline digest every evening without requesting a manual report. 2. NBFC Personal Loan Operations A non-banking financial company handling high volumes of personal loan applications can configure the ₹2,000,000 threshold to flag large-ticket applications for senior underwriter review. The Slack alert ensures the #loan-alerts channel is immediately notified when any file has sat in review too long, keeping the operations team responsive without micromanagement. 3. Auto Financing Company Workflow An auto financing team can track applications from submission through final approval, with each status change triggering a warm, professionally worded applicant email customized to the loan type and amount. The retry logic ensures email delivery is resilient even during temporary Gmail outages. 4. Mortgage Broker Application Management A mortgage broker managing applications across multiple lenders can maintain a single Google Sheets tracker and use this workflow to keep applicants informed at every stage, while the manager receives daily summaries of the entire pipeline without needing direct access to the spreadsheet. 5. Microfinance or Rural Lending Operations A microfinance institution serving rural applicants can use the workflow to automate communication in a high-volume, low-staff environment where writing individual status emails is not operationally feasible. The Gemini-generated emails maintain a warm, human tone even when the communication is fully automated. These five cases represent just a few of the ways this workflow can be put to work. Any lending or financial services operation that tracks applications through defined stages, communicates with applicants at each milestone, and needs management visibility into the pipeline can benefit from adapting this workflow to its specific process. Troubleshooting Guide | Issue | Possible Cause | Solution | |---|---|---| | No applicant emails are sent even though statuses changed | current_status and last_notified_status have the same value in the sheet | Update last_notified_status to a different value than current_status in at least one row and re-trigger | | All applications are skipped on every run | last_notified_status is always in sync with current_status because it was updated after a previous run | Confirm the Update Last Notified Status node is only running after a successful email send, not unconditionally | | Slack SLA alert is not firing | The application has not been in under_review for more than 3 days, or sla_alert_due is false because an alert was sent within the last 24 hours | Check the last_sla_alert_sent value in the sheet and verify the last_updated timestamp is older than the SLA threshold | | Manager escalation email is not sent for high-value loans | loan_amount contains currency symbols or commas that are not being stripped correctly | Make sure the loan_amount field in the sheet contains a value that can be parsed by parseFloat after stripping non-numeric characters | | MANAGER_EMAIL variable is not resolving | The variable has not been created in n8n | Go to Settings → Variables and add MANAGER_EMAIL with the correct email address | | Gemini email body is empty or returns an error | Gemini credential is not connected or the model name is incorrect | Reconnect the Google Gemini credential on both LLM nodes and confirm the model is set to models/gemini-3.5-flash-lite | | Daily digest email is not being sent at 6 PM | The cron expression does not match the n8n instance's configured timezone | Check your n8n instance timezone setting and adjust the cron expression to match the desired local time | | Failed emails are not appearing in the failure log sheet | The Log Failed Email to Sheet sheet name or column structure does not match what the node expects | Confirm the sheet is named exactly Log Failed Email to Sheet and contains the required columns | | The retry loop runs more than 3 times | The Retry Count < 3? node is comparing against the wrong counter value | Make sure the Increment Retry Counter node is correctly referencing $('Process Applications').item.json.retry_count and not a stale value | | Google Sheets update fails after email send | Matching column application_id is missing or misspelled in the sheet | Confirm the Application Tracker sheet has an application_id column and that the matching key in the Update Last Notified Status node is set to application_id | | Applicant receives duplicate emails | last_notified_status is not being updated correctly after the first notification | Verify the Update Last Notified Status node runs successfully after each email and that the matching column is application_id | | High-value flag triggers for every application | loan_amount values in the sheet are formatted in a way that always exceeds the threshold after parsing | Review the loan_amount column values and make sure the threshold comparison is working against the intended numeric value | | Workflow is active but nothing runs | The workflow triggers are schedule-based and are only active when the workflow is activated in n8n | Confirm the workflow is marked active in n8n and that the schedule trigger is not paused | Need Help? Setting up automation workflows for loan processing involves multiple systems working together, and getting the details right — credential connections, sheet structures, threshold logic, Gemini prompt tuning, and Slack integration — takes time and care. If you need help with any part of this workflow, we are here to assist. We can support you with: Full workflow setup and configuration** from scratch. Google Sheets structure design** to match your existing application data. Customizing SLA thresholds, high-value flags, and escalation rules** to fit your lending policy. Gemini prompt engineering** to match your brand voice and communication standards. Adding add-ons** such as WhatsApp notifications, CRM sync, multi-product sheet support, or a self-service applicant status portal. Building similar automation workflows** for other lending or financial services use cases — collections, disbursement tracking, document management, and more. Troubleshooting** any execution errors or configuration issues you encounter. An n8n automation workflow template by WeblineIndia.
- 6 nodes
- Automation
- AI
By Saim
Quick overview This workflow manually tests a saved crawl batch for recency by sending document capture metadata to an Apify Actor, then either releases the original documents for downstream ingestion or blocks the entire batch and returns diagnostics. How it works Runs when triggered manually in n8n. Creates a synthetic “saved crawl batch” (or your provided batch envelope) containing documents plus capture metadata like crawl.loadedTime. Validates the batch schema and builds an Apify Actor input containing only record IDs, observed timestamps, and source references. Calls the Apify “Dataset Recency & Evidence Gate” Actor via the Apify API and retrieves the evaluation report. Verifies the HTTP response and validates the report’s policy settings, record alignment, and aggregate pass/fail decision. If the batch passes, outputs each original document item for ingestion along with the gate record ID; if it fails, blocks ingestion and outputs the report summary and per-record results. Setup Create an Apify account, subscribe to/use the “Dataset Recency & Evidence Gate” Actor, and generate an Apify API token. In n8n, add an HTTP Header Auth credential for the Apify request (header Authorization: Bearer ) and select it in the Apify HTTP request step. Replace the demo batch generator with your real batch envelope values (as_of, max_age_seconds, dataset_id, offset, and items with crawl.loadedTime) and connect your downstream ingestion nodes to the passing output. An n8n automation workflow template by Saim.
- 2 nodes
- Automation
By Weio
Quick overview This workflow runs daily (or manually) to read company websites from Google Sheets, enrich them via the Weio Site-Info API with emails, phone numbers, and social links, writes results back to the same sheet, and sends a run summary (and failure alerts) via Gmail. How it works Runs every day at 7:00 or when you manually execute the workflow. Reads rows from a Google Sheets tab and keeps only entries with a non-empty website that have never been enriched or were enriched longer ago than the configured re-check window. De-duplicates domains, caps the number of lookups per run, and processes the remaining websites one by one with a configurable pause between requests. Calls the Weio https://weio.ai/api/site-info endpoint to fetch site metadata plus public contact details such as role-based emails, phone numbers, contact page URL, and social profiles. Stops the run immediately if the Weio request indicates an API key or credit problem, triggering a Gmail failure email. Updates the matching Google Sheets rows (matched by the website cell) with full contact columns when found, or with site facts/status only when no contacts are found or the site is unreachable/invalid. Builds an HTML run summary (including counts and credits remaining when available) and sends it to the configured recipient via Gmail when summary emails are enabled. Setup Create a Weio API key and add an n8n Header Auth credential for the HTTP request (set header Authorization to Bearer wk_...) and select it in the Weio request step. Add Google Sheets credentials and update the sheet URL and tab name in the workflow settings so the workflow can read and update your spreadsheet. Ensure your sheet has a website column and add any of the optional output columns you want populated (for example enrich_status, enriched_at, emails, phones, linkedin, facebook, instagram, other_socials, site_title, site_description, cms, mobile_friendly, contact_page). Add a Gmail credential, set the summary recipient address in Settings, and update the failure-notification email node recipient address. In n8n workflow settings, configure this workflow as its own error workflow (so the Error Trigger branch can send failure alerts). Requirements A Weio API key ($9 for 1,000 lookups, emailed automatically after checkout): https://weio.ai/services/site-check-api.html?utm_source=n8n&utm_medium=templates&utm_campaign=site-enrich . The site-info endpoint has no free tier; every lookup uses one credit. Plus Google Sheets and Gmail accounts connected in n8n (only core n8n nodes are used). Customization Change the schedule, the re-check window, the per-run cap and the pause between lookups in the Settings node; swap Gmail for Slack or Outlook, or write the results to Airtable or your CRM instead of Google Sheets. Additional info Made by Weio, Inc. (Santa Barbara, CA), the company behind the site-info API. Weio is an AI-operated company: this template was built and tested by Weio's AI operators. All data comes from each business's own public homepage; follow privacy and anti-spam law (for example CAN-SPAM, GDPR or CASL) when you contact anyone. An n8n automation workflow template by Weio.
- 4 nodes
- Automation
By 久保田 卓磨
Quick overview This workflow receives LINE Messaging API webhooks, drafts customer replies with Anthropic Claude using n8n Data Tables for stock and visit availability, and emails the draft to staff in Gmail for approval before sending the approved response back to the customer on LINE. How it works Receives incoming LINE webhook events, verifies the request signature, splits batched events, and ignores redelivered events. Extracts key message fields, accepts only text and image messages, and immediately replies via the LINE Reply API with an acknowledgment message. If the message is an image, downloads it from LINE and uses Anthropic Claude to describe the photo so it can be handled like a text inquiry. Uses Anthropic Claude to classify the inquiry as a stock inquiry, a store visit request, or other. For stock inquiries, extracts the product category, looks up matching items in an n8n Data Table, and uses Anthropic Claude to draft a reply based only on the returned stock data. For store visit requests, extracts the desired date/time, looks up available visit slots in an n8n Data Table, and uses Anthropic Claude to draft a reply based only on the returned slot data. Emails the draft to staff via Gmail for Send/Don’t send approval, then either pushes the approved reply to the customer via the LINE Push API or emails staff a timeout reminder (and routes “other” inquiries directly to staff by email). Setup Create a LINE Official Account Messaging API channel, enable webhooks, disable auto-replies, and configure the workflow’s production webhook URL in the LINE Developers console. Add credentials for LINE API HTTP Header Auth (Authorization: Bearer ) and Crypto HMAC SHA-256 using your LINE channel secret. Add an Anthropic credential and ensure the Claude model selection matches what your Anthropic account supports. Add a Gmail OAuth2 credential and set the staff email address, acknowledgment text, timezone, currency, and approval timeout in the Config values. Create and select two n8n Data Tables for product stock and visit slots (including the category/slot_date fields used for lookups) and populate them with your store data. Requirements LINE Official Account with the Messaging API enabled Anthropic API key (tested with Claude Haiku 4.5) Gmail account for the staff approval emails n8n reachable over HTTPS so LINE can deliver webhooks. Set WEBHOOK_URL if staff approve from a phone Customization Change the product categories in "Extract product category" to match your catalog Edit the reply rules in "Draft stock reply" and "Draft visit reply" Change the acknowledgment text, timezone, currency, and approval wait time in the Config node Additional info AI drafts can still include promises that are not in your data, so read each draft before you approve it. A write-up of how this template was built and tested, with screenshots (in Japanese): https://outsidernotes.com/n8n-template-line-approval-reply/. An n8n automation workflow template by 久保田 卓磨.
- 7 nodes
- Automation
- AI
By Ruan
Quick overview This workflow runs daily, fetches content from an RSS feed or URL, summarizes it into a short digest using Google Gemini, and posts the digest as JSON to a destination webhook. How it works Runs once per day on a schedule (default: every day at 07:00). Loads the source URL to summarize and the destination webhook URL from the workflow’s configuration values. Fetches the RSS feed (or page content) from the configured URL via HTTP. Sends up to the first 8,000 characters of the fetched content to the Google Gemini generateContent API to produce a plain-text digest with up to five bullet points. Extracts the generated digest text from the Gemini response. Posts the digest to the configured destination webhook as JSON in the form { "text": "..." }. Setup Create an HTTP Query Auth credential containing your Google Gemini API key and select it in the Google Gemini request step. Update the sourceUrl and notifyWebhookUrl values to point to your RSS/feed URL and your destination webhook endpoint. If needed, adjust the schedule time and frequency to match when you want the daily digest to run. Requirements A Google Gemini API key (the free tier is enough) A webhook to receive the digest (a Slack, Discord or Telegram incoming webhook, or your own endpoint) Customization Edit the prompt on the Gemini node to change the length, tone or language of the digest Change the schedule node for a different time or frequency The Gemini call retries up to five times if the API is briefly overloaded; adjust this in the node settings Additional info More ready-made AI workflows: https://ruancody.gumroad.com/l/vlbne. An n8n automation workflow template by Ruan.
- 1 nodes
- Automation
By Melbin Francis
Quick overview This workflow monitors a Gmail inbox for unread customer feedback, uses OpenAI to triage and deduplicate requests against existing Linear issues, and then creates a new issue, adds a comment to a matched issue, or asks the customer for clarification, plus sends a weekly ranking email. How it works Triggers every minute for new unread Gmail messages in the inbox, and also runs every Monday morning on a schedule. Cleans and filters incoming emails to remove replies/quotes and ignore auto-replies, newsletters, mailing lists, configured sender/subject patterns, and the workflow’s own outgoing messages. Loads the team’s open Linear issues (including comments) and skips processing if the email was already filed by checking for a stored message marker. Uses an OpenAI chat model with a structured output schema and a Linear search tool to decide whether the email is a new issue, matches an existing open issue, or is unclear. Validates the AI decision (including confidence thresholds) and then either creates a new Linear issue or adds a comment to the matched issue, embedding the email marker for future deduplication. Replies to the customer in Gmail with a thank-you message or a follow-up question, marks the email as read when handled, and emails the team if triage is held due to Linear/API or AI issues. On Mondays, reads open Linear issues, ranks them by how many customer-request markers they contain, and emails the top results to the team via Gmail. Setup Connect Gmail OAuth2 credentials for the feedback inbox (Gmail Trigger) and for sending replies/notifications. Connect Linear OAuth2 credentials and set the Linear team key and team notification email address in the Feedback Rules values. Connect an OpenAI API credential and confirm the selected model in the OpenAI chat model step. Optionally adjust rules like min_match_confidence, ignore_senders/ignore_subjects, max_email_chars, and the customer/team email templates before activating the workflow. Requirements A Gmail inbox where your customer feedback lands. A shared address such as feedback@ or support@ works best. A Linear workspace, and the team you want new requests filed under (you only need its short key, for example ENG). An OpenAI API key. The workflow uses gpt-5-mini, a small model. You can pick another one in the Triage Model node. About 10 minutes to connect the three accounts and fill in the Feedback Rules node. Customization Still getting two issues for the same request? Lower min_match_confidence a little in Feedback Rules. If it merges things that are really different, raise it. Tell the agent about your product. Add your feature names and the words your customers use to the Triage Agent system message, so it can recognise a request even when a customer describes it in their own words. Rewrite thank_you_message and reply_footer in your own voice. This is the email your customer actually reads. Keep noise out of Linear: add your billing tool, monitoring alerts or any other sender to ignore_senders, and phrases like "invoice" to ignore_subjects. Want the ranking on Friday instead of Monday, or a top 20 instead of a top 10? Change the Every Monday Morning trigger and digest_top. Long emails are cut at max_email_chars before the AI reads them. Raise it if your customers write essays. Additional info Who it is for: small product and support teams who get feature requests and bug reports by email and copy them into Linear by hand. The problem it solves: when feedback is filed by hand, the same idea ends up as five separate issues, nobody can say how many customers really asked for it, and vague emails like "it doesn't work" sit unanswered. This workflow reads each email once and puts it in the right place. A real example: one customer writes "Could I export the monthly report as a CSV?". The workflow files a new issue, "Add CSV export for the monthly usage report", with the customer's own words. A week later another customer asks for "a spreadsheet version of the report". The workflow recognises it as the same request and adds that customer to the existing issue as a comment instead of opening a second one. Both customers get a short thank-you. On Monday the team's ranking shows the CSV export near the top with two requests. What it will not do: it never merges on a guess. Only a confident match to an open issue in your team becomes a comment. Anything less becomes a new issue marked as a possible duplicate, so a person can merge it with one click. If Linear or OpenAI is down, the email stays unread and the team gets a short note saying why, so nothing is lost. Tested on a live n8n instance with real Gmail and Linear accounts: new requests, reworded duplicates, unclear emails, out-of-office replies, a closed issue, a prompt injection hidden in an email, and a failing AI model. An n8n automation workflow template by Melbin Francis.
- 7 nodes
- Automation
- AI
By Kuzey Aras Sakınç
Quick overview This workflow collects a product image URL and product name from an n8n form, uses OpenAI Vision to build an ideal UGC creator persona, uses Google Gemini to generate three 12‑second UGC scripts, and then generates portrait videos for each script via the Prototipal Sora 2 gateway. How it works Receives a submission from an n8n Form Trigger containing a Product Image URL and Product Name. Downloads the product image and converts it to base64 so it can be sent to AI models. Uses OpenAI (GPT‑4o with image input) to analyze the product image and generate a detailed UGC creator persona profile. Sends the persona, product name, and product image to Google Gemini 2.5 Pro to generate multiple 12‑second UGC video scripts. Extracts the individual scripts into an array, then iterates through them one by one. For each script, requests a Sora 2 video generation job via the Prototipal API, polls the job status every 15 seconds until it is completed, and downloads the resulting video file. Setup Add OpenAI API credentials for the OpenAI Vision step (GPT‑4o) and ensure your account has access to image inputs. Add Google Gemini (Google PaLM / Generative Language API) credentials for the script generation request. Create or obtain a Prototipal API key with access to the Sora 2 gateway and replace the hardcoded Bearer token in the generate/status/download HTTP requests. Publish the n8n form and provide the form link to users, ensuring submissions include a publicly accessible product image URL. Requirements Sora-2 API Google Gemini API Customization User can change the AI supplier from prototipal to any supplier such as fal.ai. User can change the model from Sora-2 to newer and updated models for better result. An n8n automation workflow template by Kuzey Aras Sakınç.
- 5 nodes
- Automation
- AI
By Joey Townsend
Quick Overview This workflow runs daily (or manually) to pull server status from Beszel, monitor health from an Uptime Kuma status page, and backup results from Synology Active Backup, then posts a single formatted homelab health brief to a Discord channel via webhook. How it works Runs every day at 7:00 AM (or on manual trigger) and loads the configured URLs, status page slug, backup task IDs, and timezone. Logs in to Beszel and fetches the systems list, then summarizes each system’s status and uptime while flagging recent reboots. Reads an Uptime Kuma public status page and its heartbeat data, then counts how many monitors are up and lists any down/maintenance states or low 24-hour uptime. Logs in to Synology DSM and queries Synology Active Backup for Business for the latest backup version of each configured task. Builds a single Discord-ready message combining the Beszel, Uptime Kuma, and Synology summaries and marks any unreachable section as unavailable. Sends the brief to Discord via a webhook and then logs out of Synology. Setup Create a Beszel HTTP Custom Auth credential that posts your username/password to the Beszel auth endpoint. Create a Synology HTTP Custom Auth credential that supplies your DSM account and password for the SYNO.API.Auth login call. Create a Discord webhook credential and choose the target channel/server where the brief should be posted. Update the Set Configuration values with your Beszel, Uptime Kuma, and Synology base URLs, your Uptime Kuma status page slug, your backup task IDs (as TASK_ID=Display name pairs), and your preferred timezone. Run the workflow manually to verify connectivity and formatting, then adjust the schedule time if needed before activating. An n8n automation workflow template by Joey Townsend.
- 3 nodes
- Automation
By James Martin
Quick overview This workflow receives POST webhooks, validates and normalizes the event payload, and uses an n8n Data Table to enforce idempotent processing with durable state tracking. It calls a simulated downstream API on httpbin.org with bounded retries and backoff, then returns deterministic webhook responses. How it works Receives an incoming POST request via an n8n Webhook endpoint. Normalizes the request body, validates required fields (eventId, eventType, customerId, amount, and ISO-8601 timestamp), and returns HTTP 400 for invalid payloads. Checks the n8n Data Table for an existing eventId and, if found, returns a deterministic response based on the persisted status (duplicate, in-flight, terminal no-op, retryable exhausted, or resumes the next retry stage). If the eventId is new, writes a “received” state to the Data Table, marks the event as “processing,” and makes a downstream HTTP request to httpbin.org. Classifies the downstream HTTP result as success, retryable failure, or terminal failure, updates the Data Table status accordingly, and responds to the webhook with processed or failure details. For retryable failures, waits with bounded backoff (2 seconds then 4 seconds) and retries the downstream call up to a maximum of three attempts before persisting a final failed state and returning an error response. Setup Create an n8n Data Table named “Webhook Reliability State” with columns: eventId (string, matchable), eventType (string), customerId (string), amount (number), timestamp (string), status (string), attemptCount (number), lastError (string), createdTimestamp (string), and updatedTimestamp (string). Confirm all Data Table steps in the workflow are configured to use the “Webhook Reliability State” table. Copy the Webhook URL for the “webhook-reliability” path and configure your source system to send POST requests with the expected JSON fields. If you replace the httpbin.org call with a real downstream API, update the HTTP request URL and add any required n8n credentials for that service. An n8n automation workflow template by James Martin.
- 2 nodes
- Automation
By Hassan
Quick overview This workflow runs on a schedule or manually to read unpaid invoices from Google Sheets, checks recent client email history in Gmail, uses Anthropic Claude to decide whether to send or pause reminders, then drafts or sends reminder emails and emails you a daily digest with optional action links. How it works Runs on a weekday schedule, a manual trigger, or via a webhook link used for digest actions. On scheduled runs, reads invoice rows from Google Sheets and selects which clients need a follow-up today based on due dates, status, snoozes, and minimum spacing between reminders. For each client, pulls recent related Gmail messages and builds a cleaned conversation timeline plus a filled reminder template for the appropriate follow-up step. If the situation is unclear, sends the context to Anthropic Claude to choose SEND, SNOOZE, ESCALATE, or SKIP and optionally rewrite the reminder body, then applies guardrails to prevent missing invoice IDs, links, or placeholders. Sends the reminder via Gmail or saves it as a Gmail draft depending on the auto-send setting, or updates the invoice status for snoozes/escalations/skips. Writes results back to Google Sheets per invoice (last step sent, last follow-up date, snooze date, status, and notes) and emails you an HTML daily digest in Gmail summarizing outcomes with optional one-tap action links. Setup Create a Google Sheet with the required invoice columns (for example using the provided template) and add Google Sheets credentials, then paste the sheet URL and tab name into the Config node. Add Gmail credentials for reading history, creating drafts/sending reminders, and sending the digest, and set the digest recipient (ownerEmail) plus sender/business names in Config. Add an Anthropic credential for the Claude model used for reminder decisions and edits. Verify your sheet’s due-date format matches sheetDateFormat/timezone in Config and start with autoSend set to false to review drafts before enabling sending. (Optional) Publish the workflow and set actionLinkUrl to the production webhook URL plus a long random actionSecret to enable Paid/Snooze/Stop buttons in the digest. An n8n automation workflow template by Hassan.
- 6 nodes
- Automation
- AI