by Oneclick AI Squad
This workflow ingests student profiles from a form submission or CRM, loads the active scholarship catalogue, uses Claude AI to score each student's eligibility against every available scholarship, filters strong matches, and automatically notifies eligible candidates with personalised application guidance. How it works Trigger — Form submission webhook or nightly scheduled batch run Load Student Profile — Fetches or normalises the student's academic and personal data Load Scholarship Catalogue — Pulls active scholarships from Airtable / Google Sheets Pair Students × Scholarships — Builds evaluation pairs for AI scoring AI Eligibility Scoring — Claude AI scores fit, flags eligibility, ranks scholarships Parse & Rank Results — Extracts structured scores, sorts by match strength Filter Qualified Matches — Keeps scholarships above configurable match threshold Check Deadline Urgency — Flags scholarships closing within 14 days Personalise Notification — Builds tailored email per student with top matches Send Student Email — Dispatches personalised scholarship digest Notify Advisor on Slack — Alerts academic advisor for high-value matches Update CRM Record — Writes matched scholarships back to Airtable student record Log to Audit Sheet — Appends full match report to Google Sheets Return API Response — Returns structured match results to caller Setup Steps Import workflow into n8n Configure credentials: Anthropic API — Claude AI for eligibility scoring Airtable — Student profiles and scholarship catalogue Google Sheets — Audit and match history log Slack OAuth — Academic advisor notifications SendGrid / SMTP — Student notification emails Set your Airtable base ID and table names for students and scholarships Configure match threshold (default: 70) in filter node Set urgency window (default: 14 days) in deadline check node Add your Slack advisor channel ID Activate the workflow Sample Webhook Payload { "studentId": "STU-2025-4821", "firstName": "Priya", "lastName": "Sharma", "email": "priya.sharma@university.edu", "gpa": 3.8, "major": "Computer Science", "yearOfStudy": 2, "nationality": "Indian", "residencyStatus": "International", "financialNeed": true, "extracurriculars": ["Robotics Club", "Volunteer Tutor"], "achievements": ["Dean's List 2024", "Hackathon Winner"], "intendedCareer": "AI Research", "disabilities": false, "firstGenStudent": true } Scholarship Criteria Evaluated by Claude AI Academic Merit** — GPA, honours, academic awards Field of Study** — Major/discipline alignment Financial Need** — Demonstrated need indicators Demographic Eligibility** — Nationality, residency, gender, Indigenous status Year of Study** — Undergraduate, postgraduate, PhD level Extracurricular Profile** — Leadership, community service, sports Career Alignment** — Intended career path vs scholarship mission Special Circumstances** — First-gen, disability support, regional background Features Batch processing of entire student cohort nightly AI-powered multi-criteria eligibility scoring (0–100) Deadline urgency detection and priority flagging Personalised email with ranked scholarship list and tips Academic advisor Slack digest for high-value matches Full audit trail in Google Sheets Airtable CRM auto-update with matched scholarships Explore More Automation: Contact us to design AI-powered content engagement, and multi-platform reply workflows tailored to your growth strategy.
by Tharwat Mohamed
📝 Description Instagram AI Beauty Assistant with Booking & Calendar Automation 💄 Smart Instagram AI Assistant for Beauty & Cosmetics Brands Help customers instantly on Instagram using a smart AI assistant designed specifically for beauty, skincare, makeup, and nail businesses. This workflow answers product questions using FAQs only, handles voice messages, and schedules consultation bookings with timezone-safe Google Calendar reservations and automatic confirmation emails. Perfect for salons, cosmetic brands, clinics, and Instagram-first businesses. ⚙️ How it works Customers send messages or voice notes via Instagram DM The AI detects whether the message is: A product or policy question A voice message (which gets transcribed) A request to book a consultation or meeting Product questions are answered only using your FAQs (no hallucinations) Booking requests: Get grounded using the current date and time Check available slots before booking Collect customer details (name, phone, email, topic) Confirmed bookings are created in Google Calendar with rich event summaries A confirmation email is sent automatically to the customer 🧰 Setup steps Connect your Instagram webhook or messaging API Connect your OpenAI account (chat + voice transcription) Connect Google Calendar for reservations Connect Gmail for confirmation emails Customize your FAQs and availability rules Set your business timezone That’s it — your Instagram assistant is ready to work 24/7 ✨ 🔄 Customization tips Update FAQs anytime without retraining the AI Adjust tone and branding in the system message Customize calendar summaries and email templates Add rescheduling, cancellation, or reminders Clone the workflow for multiple beauty brands or clients 🤝 Need Help Setting It Up or Customizing It? If you’d like help connecting Instagram, setting up Google Calendar and Gmail, or customizing this AI assistant for your business or for clients… 📩 I offer setup and customization services including: Instagram DM automation setup Google Calendar & Gmail configuration Timezone-safe booking logic FAQ structuring and prompt tuning Branding and tone customization Error handling and escalation logic You can reach me here: Email: tharwat.elsayed2000@gmail.com WhatsApp: +20 106 180 3236
by Yang
📄 What this workflow does This workflow automatically turns any uploaded video into structured blog research using AI tools. It transcribes the video, extracts keywords, runs research based on those keywords, and saves the final result to a Google Sheet. It uses Dumpling AI for transcription and research, OpenAI for keyword extraction, and Google Sheets for organizing the output. 👤 Who is this for This workflow is perfect for: Content creators who repurpose video content into blog posts SEO and marketing teams looking to extract topics and keyword insights from video materials Anyone who wants to automate video-to-text and research workflows without doing it manually ✅ Requirements Google Drive** account with a folder to watch for video uploads Dumpling AI** API access for transcription and agent research OpenAI (GPT-4o)** credentials for keyword extraction Google Sheets** document with the following column headers: Keywords topicsFromPerplexity blogPostsFromGoogle ⚙️ How to set up Connect your Google Drive and choose the folder where videos will be uploaded. Set up your Dumpling AI and OpenAI GPT-4o API credentials. Create a Google Sheet with the required columns. Replace the default folder ID and spreadsheet ID in the workflow with your own. Activate the workflow to start watching for new videos. 🔁 How it works (Workflow Steps) Watch Uploaded Videos: Triggers when a new video is added to your selected Google Drive folder. Download Video: Downloads the uploaded video file. Convert Video to Base64: Prepares the video for API submission by converting it to base64. Transcribe with Dumpling AI: Sends the video to Dumpling AI to get a full transcript. Extract Keywords with OpenAI: Analyzes the transcript and extracts five key SEO keywords. Run Competitor Research via Dumpling AI: Uses those keywords to fetch related topics and blog examples from Perplexity and Google. Format Results for Google Sheets: Formats the research results into clean text blocks. Append to Google Sheets: Saves the data into your specified Google Sheet. 🛠️ Customization Ideas Add a translation step after transcription to support multilingual content research. Modify the GPT prompt to extract summaries or titles instead of keywords. Change the Google Sheet structure to log video filenames and timestamps. Add email or Slack notifications to alert you when research is complete.
by Stephan Koning
Who’s it for This template is for small business owners like contractors, consultants, and agency owners who close deals via email. How it works Think of this as a 24/7 personal assistant for your inbox. Every five minutes, the workflow "reads" your new emails. It instantly filters out the junk (like newsletters or internal notifications). The AI then analyzes the email to figure out what the customer wants. Then automatically puts a label on the email in Gmail (like "Action Required" or "Urgent"). Most importantly, it saves a "memory" of that email. How to set up Gmail: Connect your Gmail account using OAuth2 credentials. AI Models: Add your OpenAI API key to the GPT-4o node. JigsawStack: Provide API keys for JigsawStack (the optional fallback classifier) and Mem0.ai in the respective HTTP Header Auth credentials. Domain Filter: In the [Router]: Triage Streams node, update the second rule to match your company's domain (e.g., your-sme-domain.com) to filter out internal emails. Requirements n8n version 1.0+ Gmail OAuth2 Credentials OpenAI API Key Mem0.ai Account JigsawStack API Key (Optional but recommended for fallback) This template as a foundation You can easily extend it with other worklfows like: AI Email Drafting:** Automatically generate draft replies based on the "LABELS" powered by Mem0. Weekly Intelligence Summaries:** Use the Mem0 database to generate a Friday afternoon digest of all deals closed or pending. Risk Assessment:** Flag emails containing specific liability keywords or "Cold Outreach" for immediate archiving.
by Raymond Camden
How It Works This N8N template demonstrates using Foxit's Extraction API to get information from an incoming document and then using Diffbot's APIs to turn the text into a list of organizations mentioned in the document and create a summary. How it works Listen for a new file added to a Google Drive folder. When executed, the bits are downloaded. Upload the bits to Foxit. Call the Extract API to get the text contents of the document. Poll the API to see if it's done, and when it is, grab the text. Send the text to Diffbot API to get a list of entities mentioned in the doc as well as the summary. Use a code step to filter the entities returned from Diffbot to ones that are organizations, as well as filtering to a high confidence score. Use another code step to make an HTML string from the previous data. Email it using the GMail node. Requirements A Google account for Google Drive and GMail Foxit developer account (https://developer-api.foxit.com) Diffbot developer account (https://app.diffbot.com/get-started) Next Steps This workflow assumes PDF input, but Foxit has APIs to convert Office docs to PDF and that flow could be added before the Extract API is called. Diffbot returns an incredible set of information and more could be used in the email. Instead of emailing, you could sort documents by organizations into new folders.
by Yassin Zehar
Description This workflow is designed for B2B/SaaS teams who want to secure renewals before it’s too late. It runs every day, identifies all accounts whose licenses are up for renewal in J–30, enriches them with CRM, product usage and support data, computes an internal churn risk level, and then triggers the appropriate playbook: HIGH risk** → full escalation (tasks, alerts, emails) MEDIUM risk** → proactive follow-up by Customer Success LOW risk** → light renewal touchpoint / monitoring Everything is logged into a database table so that you can build dashboards, run analysis, or plug additional automations on top. How it works Daily detection (J–30 renewals) A scheduled trigger runs every morning and queries your database (Postgres / Supabase) to fetch all active subscriptions expiring in 30 days. Each row includes the account identifier, name, renewal date and basic commercial data. Data enrichment across tools For each account, the workflow calls several business systems to collect context: HubSpot → engagement history Salesforce → account profile and segment Pipedrive → deal activities and associated products Analytics API → product feature usage and activity trends Zendesk → recent support tickets and potential friction signals All of this is merged into a single, unified item. Churn scoring & routing An internal scoring step evaluates the risk for each account based on multiple signals (engagement, usage, support, timing). The workflow then categorizes each account into one of three risk levels: HIGH – strong churn signals → needs immediate attention MEDIUM – some warning signs → needs proactive follow-up LOW – looks healthy → light renewal reminder A Switch node routes each account to the relevant playbook. Automated playbooks 🔴 HIGH risk Create a Trello card on a dedicated “High-Risk Renewals” board/list Create a Jira ticket for the CS / AM team Send a Slack alert in a designated channel Send a detailed email to the CSM and/or account manager 🟠 MEDIUM risk Create a Trello card in a “Renewals – Follow-up” list Send a contextual email to the CSM to recommend a proactive check-in 🟢 LOW risk Send a soft renewal email / internal note to keep the account on the radar Logging & daily reporting For every processed account, the workflow prepares a structured log record (account, renewal date, risk level, basic context). A Postgres node is used to insert the data into a churn_logs table. At the end of each run, all processed accounts are aggregated and a daily summary email is sent (for example to the Customer Success leadership team), listing the renewals and their risk levels. Requirements Database A table named churn_logs (or equivalent) to store workflow decisions and history. Example fields: account_id, account_name, end_date, riskScore, riskLevel, playbook, trello_link, jira_link, timestamp. External APIs HubSpot (engagement data) Salesforce (account profile) Pipedrive (deals & products) Zendesk (support tickets) Optional: product analytics API for usage metrics Communication & task tools Gmail (emails to CSM / AM / summary recipients) Slack (alert channel for high-risk cases) Trello (task creation for CS follow-up) Jira (escalation tickets for high-risk renewals) Configuration variables Thresholds are configured in the Init config & thresholds node: days_before_renewal churn_threshold_high churn_threshold_medium These parameters let you adapt the detection window and risk sensitivity to your own business rules. Typical use cases Customer Success teams who want a daily churn watchlist without exporting spreadsheets. RevOps teams looking to standardize renewal playbooks across tools. SaaS companies who need to prioritize renewals based on real risk signals rather than gut feeling. Product-led organizations that want to combine usage data + CRM + support into one automated process. Tutorial video Watch the Youtube Tutorial video About me : I’m Yassin a Project & Product Manager Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Alex
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This n8n template automatically parses bank transaction emails (HDFC, Indian Bank, Indian Overseas Bank, UPI apps like Google pay, Paytm, etc.) - The from email(bank name/UPI apps) is changable, classifies them using Gemini AI, and logs them into a structured Google Sheets budget tracker. It helps you consolidate expenses, compare against monthly budgets, and get real-time alerts when limits are exceeded. 📝 Problem Statement Tracking expenses manually from different bank emails and UPI apps is frustrating, time-consuming, and error-prone. Small transactions often slip through, making budget control difficult. This workflow solves that by: Automatically extracting financial data from Gmail. Categorizing expenses using AI parsing. Saving all data into Google Sheets in a structured way. Comparing with monthly budgets and raising alerts. Target Audience: Individuals who want personal budget automation. Families managing shared household spending. Small teams looking for a lightweight financial log. ⚙️ Setup Prerequisites An n8n instance (self-hosted or cloud). A Google account with Gmail + Google Sheets enabled. Pre-created Google Sheets file with 2 tabs: Expenses Budgets A configured Gemini API connection in n8n. 📊 Google Sheets Template Expenses Tab (columns in order): Timestamp | Date | Account | From | To | Type | Category | Description | Amount | Currency | Source | MessageId | Status Budget Tab (columns in order): Month | Category | Budget Amount | Notes | UpdatedAt Yearly Summary Tab (auto-calculated): Year | Month | Category | Total Expense | Budget | Variance | Alert Variance = Budget - Total Expense Alert = ⚠️ Over Budget when spending > budget 🚀 How It Works Gmail: Gmail Trigger captures new bank/UPI emails. Gemini AI Parser extracts structured details (date, amount, category, etc.). Filter Node ensures only valid financial transactions are logged. Information extractor will extract the information like Date, account, transaction type(Credit/Debit), description, currency, status, messageId, from email, to email, category -> checks if the transaction is 'Credit' or 'Debit' then appends the details to the respective google sheet Budget Validator checks against monthly allocations. If the expense is above the budget is raises an alert and will send a email to the connected account. For sending email I wrote a Google Sheet App script: var ss = SpreadsheetApp.getActiveSpreadsheet(); var monthly = ss.getSheetByName("MonthlySummary"); var yearly = ss.getSheetByName("YearlySummary"); // Get values from Monthly Summary var totalExpense = monthly.getRange("D2").getValue(); var budget = monthly.getRange("E2").getValue(); // Get current date info var now = new Date(); var month = Utilities.formatDate(now, "GMT+5:30", "MM"); var year = Utilities.formatDate(now, "GMT+5:30", "yyyy"); var status = (totalExpense > budget) ? "Alert" : ""; // Append to Yearly Summary yearly.appendRow([year, month, totalExpense, status]); // If budget exceeded, send alert email if (status === "Alert") { var emailAddress = "YOUR EMAIL"; var subject = "⚠️ Budget Exceeded - " + month + "/" + year; var body = "Your total expenses this month (" + totalExpense + ") have exceeded your budget of " + budget + ".\n\n" + "Please review your spending."; MailApp.sendEmail(emailAddress, subject, body); } // 🔄 Reset Monthly Summary var lastRow = monthly.getLastRow(); if (lastRow > 3) { // assuming headers in first 2-3 rows monthly.getRange("A4:C" + lastRow).clearContent(); } // Reset total in D2 monthly.getRange("D2").setValue(0); } Monthly summary auto-calculates the expense and updates the expense for every month and budgets(sum all budgets if there are more than 1 budgets). Yearly Summary auto-updates and raises over-budget alerts. Telegram: Takes input from a telegram bot which is connected to the n8n workflow telegram trigger. Gemini AI Parser extracts structured details (date, amount, category, etc.). Then it checks, whether the manually specified details is 'budget' or 'expense', then splits the data -> parse the data -> then again check whether it is 'Budget' or 'Expense' then appends the structured data to the respective google sheet. Monthly summary auto-calculates the expense and updates the expense for every month and budgets(sum all budgets if there are more than 1 budgets). Yearly Summary auto-updates and raises over-budget alerts. 🔧 Customization Add support for more banks/UPI apps by extending the parser schema. const senderEmail = $input.first().json.From || ""; // Account detection let account = ""; // you can modify the bank names and UPI names here if (/alerts@hdfcbank\.net/i.test(senderEmail)) account = "HDFC Bank"; // you can modify the bank names and UPI names here else if (/ealerts@iobnet\.co\.in/i.test(senderEmail)) account = "Indian Overseas Bank"; else if (/alerts@indianbank\.in/i.test(senderEmail)) account = "Indian Bank"; else if (/@upi|@okhdfcbank|@okaxis|@okicici/i.test(emailBody)) { if (/gpay|google pay/i.test(emailBody)) account = "Google Pay"; else if (/phonepe/i.test(emailBody)) account = "PhonePe"; else if (/paytm/i.test(emailBody)) account = "Paytm"; else account = "UPI"; } else { account = "Other"; } // If account is "Other", skip output if (account === "Other") { return []; } // Output return [{ account, from: senderEmail, // exact Gmail "From" metadata snippet: emailBody, messageId: $input.first().json.id || "" }]; Create custom categories (e.g., Travel, Groceries, Subscriptions). Send real-time alerts via Telegram/Slack/Email using n8n nodes. Share the Google Sheet with family or team for collaborative use. 📌 Usage The workflow runs automatically on every new Gmail transaction email and financial input on the telegram bot. At the end of each month, totals are calculated in the Yearly Summary tab. Users only need to maintain the Budget tab with updated monthly allocations.
by Avkash Kakdiya
How it works The workflow detects incoming job-application emails, extracts resumes, and parses them for AI analysis. It evaluates each candidate against three open roles and assigns a fit score with structured reasoning. Low-scoring applicants are stored for review, while strong candidates move into an automated scheduling flow. The system checks availability on the next business day, books the slot, sends a confirmation email, and records all details in Airtable. Step-by-step Detect and collect job-application data Gmail Trigger** – Monitors inbox for all new emails. Message a model** – Classifies whether the email is a job application. If** – Continues only when the AI result is YES. Get a message** – Fetches the full message and attachments. Upload file** – Uploads the resume to Google Drive. Extract from File** – Converts the PDF resume into text. Analyze the resume and evaluate fit Available Positions** – Defines the three open roles. Message a model1** – Produces recommended role, fit score, strengths, gaps, skills, and reasoning. If1** – Routes candidates based on fit_score ≥ 8. Create a record1** – Stores lower-scoring applicants in Airtable. Get Next Business Day** – Calculates the schedule window for qualified candidates. Check availability on the next business day AI Agent** – Orchestrates availability search using calendar nodes. Get Events** – Retrieves events for the target day. Check Availability** – Evaluates free 1-hour slots. OpenAI Chat Model** – Reasoning engine for the agent. Structured Output Parser** – Returns clean JSON with start_time and end_time. OpenAI Chat Model1** – Supports structured parsing. Schedule the interview and notify the candidate Create an event** – Books the interview in Google Calendar. Send a message** – Sends an HTML confirmation email to the candidate. Create a record** – Saves shortlisted candidate and interview data in Airtable. Why use this? Removes manual screening by automating email intake and resume parsing. Ensures consistent AI-based role matching and scoring. Books interviews automatically using real calendar availability. Keeps all applicant and scheduling data organized in Airtable. Provides a fully hands-off, end-to-end hiring pipeline.
by Rahul Joshi
📊 Description Automatically analyze your Instagram posts’ engagement and audience sentiment using GPT-4 to uncover top-performing content and improvement opportunities. 💬📈 This workflow fetches your latest Instagram posts using the Facebook Graph API, evaluates likes, comments, and tone, then generates structured performance insights. The results are logged into Google Sheets, shared via Slack alerts, and emailed through Outlook — empowering your social media team with daily, AI-powered engagement intelligence. 🚀 What This Template Does 1️⃣ Trigger – Runs daily at 10 AM to fetch the latest Instagram posts. ⏰ 2️⃣ Data Fetching – Uses the Facebook Graph API to extract post data, captions, likes, and comments. 📲 3️⃣ Formatting – Cleans and structures post and comment data for analysis. 🧩 4️⃣ AI Evaluation – GPT-4 analyzes engagement metrics and comment sentiment to score post performance. 🤖 5️⃣ Decision Routing – Flags high- and low-performing posts for separate processing. ⚙️ 6️⃣ Notifications – Sends positive performance summaries or negative alerts to Slack. 💬 7️⃣ Logging – Records engagement metrics, sentiment labels, and AI recommendations in Google Sheets. 📊 8️⃣ Reporting – Emails detailed performance summaries to the marketing team via Outlook. 💌 Key Benefits ✅ Automates social performance tracking across Instagram posts ✅ Provides AI-driven sentiment and engagement insights ✅ Flags top or underperforming content for immediate action ✅ Delivers Slack and email reports for team visibility ✅ Centralizes analytics in Google Sheets for trend tracking Features Facebook Graph API integration for Instagram post and comment retrieval GPT-4 sentiment and engagement evaluation Structured JSON insights and recommendations Slack alerts for both positive and negative performance Google Sheets data logging with trend metrics Outlook email reporting for management visibility Customizable scheduling and thresholds Requirements Facebook Graph API credentials connected to your Instagram Business account OpenAI API key for GPT-4 or GPT-4o-mini Slack Bot token with chat:write permissions Google Sheets OAuth2 credentials with edit rights Microsoft Outlook OAuth2 credentials for email delivery Optional environment variables for IDs: SHEET_ID, SLACK_CHANNEL_ID, OUTLOOK_EMAIL Target Audience Marketing and social media teams optimizing engagement 📣 Agencies managing multiple Instagram accounts 🧑💼 Analysts tracking performance metrics and audience tone 📊 Brands automating daily performance reports 📅 Step-by-Step Setup Instructions 1️⃣ Connect your Facebook Graph API to your Instagram Business Account. 2️⃣ Add OpenAI API credentials (use GPT-4 model for best results). 3️⃣ Configure Slack for team notifications and specify the channel ID. 4️⃣ Link Google Sheets and set your sheet ID for data logging. 5️⃣ Connect Microsoft Outlook for daily performance email reports. 6️⃣ Adjust the schedule (default: 10 AM daily) to suit your workflow. 7️⃣ Run a test once, verify data mapping, and enable automation. ✅
by WeblineIndia
Zoho CRM → AI‑Generated Competitive Battle Card This workflow automatically analyzes competitor websites, which inseted in description field and generates a clean, structured AI‑powered Battle Card for every new Zoho CRM deal. It reads the competitor URL from the deal Description, scrapes the site, runs an AI analysis pipeline and updates the deal with pricing, differentiators, pros/cons and a concise sales battle summary — all fully automated. Quick Implementation Steps Add Zoho CRM + Gmail OAuth2 + AI API credentials. Import workflow into n8n. create a new deal in zoho CRM. While creating Deal,Add a competitor URL inside the Zoho deal Description. Activate the workflow. Wait 5 minutes → Deal updates with AI‑generated Battle Card. What It Does This workflow removes the manual effort of researching competitors during a sales cycle. Every time a new deal is created, it checks the Description field for a competitor name and website. After validating both, it automatically fetches the competitor webpage and feeds the content into an AI analysis pipeline powered by LangChain. The AI transforms the messy, unstructured webpage HTML into a readable, structured and ready‑to‑use Battle Card — including pricing overview, differentiating features, advantages, disadvantages and a compact sales battle summary. This data is pushed directly into the Deal Description and emailed to the sales team. No web research, no copy‑pasting, no manual formatting — the AI does everything. Who’s It For Sales teams wanting fast competitor intelligence. SDR/BDR teams prepping before first calls. Pre‑sales engineers making pitch notes. Founders/Product teams monitoring competitor positioning. Agencies building automation for CRM users. Requirements n8n instance Zoho CRM OAuth2 credentials Gmail OAuth2 credentials AI model provider API key (Gemini / OpenAI / Claude — interchangeable) Deals containing a competitor name + competitor URL [Must Have] How It Works & Setup Step 1 — Cron Trigger Runs every 5 minutes → pulls newly created deals and last run time. Step 2 — Fetch Deals Retrieves deals sorted by Created_Time. Step 3 — Identify New Deals Filters deals created after the last workflow run. Step 4 — Validate Deal Description Ensures the Description has: Competitor name Competitor website URL Step 5 — Extract Competitor Info Regex identifies and extracts the name + first valid URL in the Description. Step 6 — Scrape Competitor Website HTTP Request downloads the competitor webpage’s HTML. Step 7 — AI‑Generated Battle Card Creation The AI pipeline (LangChain + your chosen LLM) transforms HTML into a structured JSON output containing: Pricing Summary Key Features Pros Cons Battle Summary Competitor Name Step 8 — Update Zoho Deal The script saves the formatted AI Battle Card directly into the Deal Description. Step 9 — Notify Sales Gmail node sends a summary email to the sales team. How to Customize Nodes Change the AI Output Edit LangChain prompt to: Add SWOT Include pricing tiers Include objections Add competitor positioning Add risk scoring Change Where Battle Card Is Stored Modify the Zoho Update node to store data in: Notes Custom fields Attachments Tags Tasks Email Customization Update subject, body, recipients, etc. Filtering Logic Modify filters to: Only process specific deal stages Only process certain pipelines Ignore internal test deals Add‑Ons (Optional Enhancements) Auto‑generate a PDF Battle Card and attach it to the deal. Send Battle Cards to Slack, Teams, or a WhatsApp bot. Store all Battle Cards in Notion, Airtable, or Google Sheets. Add a competitor scoring system (price, features, risk level). Build a weekly digest of all competitors analyzed. Use Case Examples Instant competitor breakdown when a new lead or deal is created. Rapid sales call preparation with AI summarizing the competition. Automated enrichment of CRM records with meaningful intelligence. Internal competitive intelligence dashboards fed by AI outputs. Pitch deck automation where Battle Cards update slides automatically. There are many more possible use cases depending on your CRM setup and AI strategy. Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|----------| | No Battle Card generated | No URL found in Description | Add valid http/https competitor URL | | Deal skipped | Time filtering excluded it | Adjust lookback window in code | | AI output incomplete | HTML unreadable or blocked | Try different competitor URL | | Zoho update fails | OAuth scope missing | Reconnect Zoho with full CRM access | | Email not sent | Gmail OAuth expired | Reconnect Gmail | | AI output wrong format | Prompt mismatched | Update output schema and prompt | Need Help? If you need help customizing prompts, enhancing automations or building full‑scale AI workflows, then our n8n automation developers at WeblineIndia can support: AI automations LangChain pipelines CRM integrations n8n workflow development Competitive intelligence tooling And so much more.
by Trung Tran
Multi-agent RAG system for smarter BRD (Business Requirement Document) writing Who’s it for This workflow is designed for Business Analysts, Project Managers, and Operations Teams who need to automate the creation, tracking, and delivery of Business Requirements Documents (BRDs) from submitted forms and supporting materials. It’s ideal for organizations handling multiple BRD requests and looking to streamline document generation, archiving, and communication. How it works / What it does Trigger: The process begins when a BRD request form is submitted along with any supporting files. Sample supporting document PDF: Download URL Data Recording: Creates a BRD request record and appends it to a tracking Google Sheet. Handles multiple uploaded files, saving them to Google Drive. Creates supporting document records and updates the supporting documents tracking sheet. Content Extraction & Storage: Extracts text from uploaded PDF files. Inserts extracted content into a vector store for contextual retrieval by AI agents. Document Generation: Uses two specialized AI agents: General BRD Writer Agent for the overall document structure. Business Requirement Writer Agent for detailed business requirement sections. Both agents query the stored data and produce content, which is then merged. Metadata & File Creation: Configures metadata for the document. Creates a final document file (Google Docs). Finalization: Converts the document to PDF Sample output Archives the PDF in Google Drive. Sends a BRD response email to the requester with the completed document. Updates the request status in the Google Sheet as completed. How to set up Prepare Google Sheets: Create a BRD tracking sheet. Create a supporting document tracking sheet. Configure Google Drive: Set up folders for supporting documents and archived PDFs. Ensure the workflow has API access to upload and retrieve files. Form Integration: Connect your BRD request form to trigger the workflow. Vector Store: Configure a vector database or embedding store for extracted document text. AI Agents: Configure the General BRD Writer Agent and Business Requirement Writer Agent with your preferred OpenAI model. Link both agents to the Query Data Tool for retrieving embedded content. Email Setup: Configure email sending credentials to deliver final BRDs to requesters. Requirements Google Sheets API credentials. Google Drive API credentials. An OpenAI API key with access to the desired models. A form submission trigger (e.g., Google Forms, Typeform). Vector store or embedding database for contextual AI queries. Permissions for file uploads, downloads, and updates in Google Drive. How to customize the workflow Custom Templates**: Modify the AI agents’ system prompts to match your organization’s BRD format and tone. Metadata Fields**: Add custom fields (e.g., department, priority level) during metadata configuration. File Storage Paths**: Adjust Google Drive folder structure for project-specific storage. Approval Steps**: Insert an approval workflow between draft document creation and final archiving. Notification Channels**: Add Slack, Microsoft Teams, or other notification integrations in addition to email. AI Model Selection**: Swap the OpenAI model for another LLM or fine-tuned variant to improve BRD quality for your domain.
by Atharva
🧾 AI Proposal Generator Engine An n8n-based automation that generates client proposals from a form, lets you review everything in one place, and sends the proposal only when you approve it. ⚙️ What It Does The AI Proposal Generator Engine creates proposals directly from an n8n Form. All proposal content and a draft email are generated automatically using OpenAI. Google Sheets is used only as a database, where you: Review the generated proposal Review the draft email Control when the proposal is sent by updating the status No proposal is sent until it is manually marked as READY. 💡 Use Cases | Use Case | Description | | --------------------- | ---------------------------------------------------------- | | Sales Calls | Generate proposals immediately after a call using the form | | Freelancers | Create clean, repeatable proposals without manual writing | | Agencies | Standardize proposals while keeping them client-specific | | Approval Flow | Review proposal and email before sending | | Fast Turnaround Deals | Reduce proposal creation time from hours to minutes | | Team Workflows | Use Sheets as a simple approval and tracking layer | 🔧 Setup 1️⃣ Google Credentials Go to Google Cloud Console and create a Web App (OAuth). Enable these APIs: Google Sheets Google Drive Gmail In n8n, select this Google credential inside: Google Sheets nodes Google Drive nodes Gmail nodes Use the same credential everywhere. 2️⃣ Google Drive Structure Create this folder setup in Google Drive. You can use the provided templates or your own. Proposal Generator Engine/ ├── Template 1 (Slides) ├── Template 2 (Slides) ├── Template 3 (Slides) ├── Proposal Generation Tracker (Sheets) └── Generated Proposals/ 3️⃣ Google Sheets Node Open the Proposal Generation Tracker and copy the Sheet ID from the URL. Paste this ID into the Google Sheets node in n8n. This sheet is used only to: Store generated proposal links Store email drafts Control send status 4️⃣ Slides and Drive Nodes Copy the Slides template ID you want to use and paste it into the Copy Template node. Copy the folder ID of Generated Proposals and paste it into the Move File / Folder field. 5️⃣ OpenAI Key Create an OpenAI credential in n8n using your API key. Select this credential in all GPT nodes. You can edit prompts to match your proposal style and tone. 🔁 Workflow Summary Proposal details are collected using an n8n Form OpenAI generates structured proposal content A Google Slides template is copied and filled A proposal email draft is generated Proposal link and email draft are saved in Google Sheets with status WAITING You review the proposal and email Status is changed to READY Proposal is converted to PDF and sent via Gmail Proposal is stored in Google Drive and status is updated to SENT 📞 Support & Contact 📧 Email: atharvapj5@gmail.com 🔗 LinkedIn: https://www.linkedin.com/in/atharva-jaiswal/ 📅 Book a support call: https://calendly.com/atharvapj5/30min