by Lucas Peyrin
How it works This template is a powerful, reusable utility for managing stateful, long-running processes. It allows a main workflow to be paused indefinitely at "checkpoints" and then be resumed by external, asynchronous events. This pattern is essential for complex automations and I often call it the "Async Portal" or "Teleport" pattern. The template consists of two distinct parts: The Main Process (Top Flow): This represents your primary business logic. It starts, performs some actions, and then calls the Portal to register itself before pausing at a Wait node (a "Checkpoint"). The Async Portal (Bottom Flow): This is the state-management engine. It uses Workflow Static Data as a persistent memory to keep track of all paused processes. When an external event (like a new chat message or an approval webhook) comes in with a specific session_id, the Portal looks up the corresponding paused workflow and "teleports" the new data to it by calling its unique resume_url. This architecture allows you to build sophisticated systems where the state is managed centrally, and your main business logic remains clean and easy to follow. When to use this pattern This is an advanced utility ideal for: Chatbots:** Maintaining conversation history and context across multiple user messages. Human-in-the-Loop Processes:** Pausing a workflow to wait for a manager's approval from an email link or a form submission. Multi-Day Sequences:** Building user onboarding flows or drip campaigns that need to pause for hours or days between steps. Any process that needs to wait for an unpredictable external event** without timing out. Set up steps This template is a utility designed to be copied into your own projects. The workflow itself is a live demonstration of how to use it. Copy the Async Portal: In your own project, copy the entire Async Portal (the bottom flow, starting with the A. Entry: Receive Session Info trigger) into your workflow. This will be your state management engine. Register Your Main Process: At the beginning of your main workflow, use an Execute Workflow node to call the Portal's trigger. You must pass it a unique session_id for the process and the resume_url from a Wait node. Add Checkpoints: Place Wait nodes in your main workflow wherever you need the process to pause and wait for an external event. Trigger the Portal: Configure your external triggers (e.g., your chatbot's webhook) to call the Portal's entry trigger, not your main workflow's trigger. You must pass the same session_id so the Portal knows which paused process to resume. To see it in action, follow the detailed instructions in the "How to Test This Workflow" sticky note on the canvas.
by Dr. Firas
WhatsApp AI Agent: Auto-Train Product Data & Handle Customer Support Who Is This For This workflow is ideal for eCommerce founders, product managers, customer support teams, and automation builders who rely on WhatsApp to manage product information and interact with clients. It’s perfect for businesses that want to automate product data entry and support responses directly from WhatsApp messages using GPT-4 and Google Sheets. What Problem Does This Workflow Solve Manual Product Data Entry**: Collecting and organizing product data from links is tedious and error-prone. Slow Customer Response Times**: Responding to client questions manually leads to delays and inconsistent support. No Logging System for Issues**: Without automation, support issues often go undocumented, making it harder to learn and improve. What This Workflow Does Step 1 – Incoming Message Detection Listens for incoming messages via WhatsApp. If the message starts with train:, it routes to the product training process. Otherwise, it routes to the customer support assistant. Step 2 – Product Data Training Extracts URL** from the message using a regex script. Fetches HTML content** from the URL. Cleans HTML data** to extract readable product description. Saves raw data** (URL + description) into Google Sheets. Uses GPT-4** to enhance product data: → Name, price (one-time or subscription), topic, and FAQs. Updates the product row** in Google Sheets with structured information. Step 3 – Customer Support Flow Analyzes user messages with GPT-4 to understand the request or issue. Looks up relevant product info in Google Sheets. Detects potential problems (e.g. payment, login, delivery). Suggests an appropriate solution. Logs the problem, solution, and category to the Customer Issues sheet. Sends a response back to the client via WhatsApp. Step 4 – Client Response Sends the AI-generated response to the client via WhatsApp. Keeps the communication fast, clear, and professional. Setup Guide Prerequisites WhatsApp Business API access** OpenAI API Key** Google Account** with Google Sheets access A hosted instance of n8n (Cloud or self-hosted) Setup Steps Import the Workflow into your n8n instance. Connect your credentials for WhatsApp, OpenAI, and Google Sheets. Customize Google Sheet IDs and names as needed. Test by sending a train: message or a regular customer message to WhatsApp. Activate the workflow to make it live. How to Customize This Workflow Edit AI prompts** to reflect your product type, language style, or tone. Change the trigger keyword** (e.g. from train: to add: or anything else). Add integrations** like Notion, Airtable, or CRM tools. Expand the Sheets structure** with more product fields (e.g. stock status, image link). Add notifications** to Slack or email after product updates or issue logging. 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by Evoort Solutions
🚀 AI-Powered LinkedIn Post Automation 🧩 How It Works This workflow automatically generates LinkedIn posts based on a user-submitted topic, including both content creation and image generation, then publishes the post to LinkedIn. Ideal for marketers, content creators, or businesses looking to streamline their social media activity, without the need for manual post creation. High-Level Workflow: Trigger: The workflow is triggered when a user submits a form with a topic for the LinkedIn post. Data Mapping: The topic is mapped and prepared for the AI model. AI Content Generation: Calls the Google Gemini AI model to generate engaging post content and a visual image prompt. Image Creation: Sends the image prompt to the external API, gen-imager, to generate a professional image matching the topic. Post Creation: Publishes the text and image to LinkedIn, automatically updating the user's feed. ⚙️ Set Up Steps (Quick Overview) 🕐 Estimated Setup Time: ~10–20 minutes Connect Google Gemini: Set up your Google Gemini API credentials to interact with the AI model for content creation. Set Up External Image API: Configure the external image generation API (gen-imager API) for visual creation based on the post prompt. Connect LinkedIn: Set up OAuth2 credentials to authenticate your LinkedIn account and allow publishing posts. Form Submission Setup: Create a simple web form for users to submit the topic for LinkedIn posts. Activate the Workflow: Once everything is connected, activate the workflow. It will trigger automatically upon receiving form submissions. 💡 Important Notes: The flow uses Google Gemini (PaLM) for generating content based on the user's topic. Text to Image: The image generation process involves creating a professional, LinkedIn-appropriate image based on the post’s topic using the **gen-imager API. You can customize the visual elements of the posts and adjust the tone of the generated content based on preferences. 🛠 Detailed Node Breakdown: On Form Submission Trigger: Captures the user-submitted topic and initializes the workflow. Action: Start the process by gathering the topic information. Mapper (Field Mapping) Action: Maps the captured topic to a variable that is passed along for content generation. AI Agent (Content Generation) Action: Calls Google Gemini to generate professional LinkedIn post content and an image prompt based on the submitted topic. Key: Outputs content in a structured form — post text and image prompt. Google Gemini Chat Model Action: AI model that generates actionable insights, engaging copy, and an image prompt for LinkedIn post. Normalizer (Data Cleanup) Action: Cleans the output from the AI model to ensure the content and image prompt are correctly formatted for use in the next steps. Text to Image (Image Generation) Action: Sends the image prompt to the gen-imager API, which returns a custom image based on the post's topic. Decoder (Base64 Decoding) Action: Decodes the image from base64 format for easier uploading to LinkedIn. LinkedIn (Post Creation) Action: Publishes the generated text and image to LinkedIn, automatically creating a polished post for the user’s feed. ⏱ Execution Time Breakdown: Total Estimated Execution Time**: ~15–40 seconds per workflow run. On Form Submission: Instant (Trigger) Mapper (Field Mapping): ~1–2 seconds AI Content Generation: ~5–10 seconds (depending on server load) Text to Image: ~5–15 seconds (depends on external API) LinkedIn Post Creation: ~2–5 seconds 🚀 Ready to Get Started? Let’s get you started with automating your LinkedIn posts! Create your free n8n account and set up the workflow using this link. 📝 Notes & Customizations Form Fields**: Customize the form to gather more specific information for the LinkedIn posts (like audience targeting, post category, etc.). Image API Customization**: Adjust the image generation prompt to fit your brand’s style, or change the color palette as needed. Content Tone**: The tone can be adjusted by modifying the system message sent to Google Gemini for content generation.
by Dr. Firas
AI-Powered HR Workflow: CV Analysis and Evaluation from Gmail to Sheets Who is this for? This workflow is designed for HR professionals, recruiters, startup founders, and operations teams who receive candidate resumes by email and want to automate the evaluation process using AI. It's ideal for teams that receive high volumes of applications and want to streamline screening without sacrificing quality. What problem is this workflow solving? Manually reviewing every resume is time-consuming, inconsistent, and often inefficient. This workflow automates the initial screening process by: Extracting resume data directly from incoming emails Analyzing resumes using GPT-4 to evaluate candidate fit Saving scores and notes in Google Sheets for easy filtering It helps teams qualify candidates faster while staying organized. What this workflow does Detects when a new email with a CV is received (Gmail) Filters out non-relevant messages using an AI classifier Extracts the resume text (PDF parsing) Uploads the original file to Google Drive Retrieves job offer details from a connected Google Sheet Uses GPT-4 to evaluate the candidate’s fit for the job Parses the AI output to extract the candidate's score Logs the results into a central Google Sheet Sends a confirmation email to the applicant Setup Install n8n self-hosted Add your OpenAI API Key in the AI nodes Enable the following APIs in your Google Cloud Console: Gmail API Google Drive API Google Sheets API Create OAuth credentials and connect them in n8n Configure your Gmail trigger to watch the inbox receiving CVs Create a Google Sheet with columns like: Candidate, Score, Job, Status, etc. How to customize this workflow to your needs Adjust the AI scoring prompt to match your company’s hiring criteria Add new columns to the Google Sheet for additional metadata Include Slack or email notifications for each qualified candidate Add multiple job profiles and route candidates accordingly Add a Telegram or WhatsApp step to notify HR in real time 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by PollupAI
Never forget to send a satisfaction survey again! This workflow helps you automatically send CSAT surveys when a Freshdesk ticket is marked “Resolved” – and logs every response in Google Sheets for easy analysis, reporting, and escalation workflows. 💡 Built for CS and ops teams who care about real feedback This template is perfect for: Customer Support Teams who want timely, consistent survey delivery after every resolved ticket. Ops Leads & Admins tired of managing spreadsheets and survey tools manually. Businesses using Freshdesk looking for a no-code feedback loop. Automation fans who want to track, trigger, and take action — automatically. 🧩 What problem does it solve? Manual survey processes are slow, inconsistent, and hard to scale. This automation ensures: Fast survey delivery when experiences are still fresh. No duplicate emails thanks to a built-in tracking system. Centralized feedback in a Google Sheet — no more digging through platforms. Data you can act on, like triggering Slack alerts for poor scores. ⚙️ How it works 📨 Part 1: Auto-send the survey when a ticket is resolved Trigger: Workflow runs on a schedule (or manually via “Test”). Pull ticket status from Freshdesk. Compare ticket status to the last known status in Google Sheets. Detect resolution: If status = “Resolved” (ID 4), move forward. Update the Google Sheet to track that the survey was sent. Fetch the customer’s email from Freshdesk. Create & send the survey email, personalized with ticket info and your brand. Convert Markdown → HTML for a well-formatted email. 📥 Part 2: Collect responses and store in Sheets Form Trigger: Customer clicks the survey link and fills in the form. Capture responses (e.g. rating + comments). Log feedback in a second Google Sheet for analysis. You can extend this by adding escalation steps (e.g. flagging 1–2 star ratings to managers). 🚀 Setup Instructions 🔐 Connect your tools Freshdesk**: Add your API credentials to the get tickets and get client nodes. Google Sheets**: Authenticate in the get existing tickets, update status, and save survey nodes. Email (SMTP)**: Add your SMTP details in the “Send Email” node, or swap in Gmail, SendGrid, etc. 🛠 Set your data In the Set your data node, enter: Your name, email, company, and position Your survey form link (see below) 🔗 Get the form link Activate the workflow (toggle it ON) Go to the “Survey” (Form Trigger) node Copy the Production URL Paste it into the survey link field in the Set your data node 🧾 Prepare your Google Sheets Sheet 1: Freshdesk Tickets (status tracking) Used by: get existing tickets update status Create a new empty Google Sheet. Add the Spreadsheet ID + Sheet Name into the nodes. Sheet 2: Feedback freshdesk (survey responses) Used by: save survey to google sheet Create a new sheet or tab. It will auto-create columns based on your survey form field labels. Add the Spreadsheet ID + Sheet Name/GID to the save node. 🔧 Customize the workflow 📝 Survey Questions Modify them in the Survey (Form Trigger) node. Adjust the save survey to google sheet node as needed (or use auto-map). 💬 Email Content Edit the subject and message in the Create the email text (Set) node. 🏷 Freshdesk Status ID If your “Resolved” status ID isn’t 4, update the second condition in the If ticket resolved node. 📉 Escalate poor feedback Add logic after the save survey to google sheet node: If rating is low: Notify Slack Create a new internal ticket Email a team lead 🔁 Schedule Trigger Adjust the Schedule Trigger node to your desired interval (e.g., hourly). 🔄 Use a Webhook Instead (Optional) If Freshdesk supports ticket webhook events, swap the schedule trigger for a Webhook Trigger node to send surveys instantly on ticket resolution. 🤖 Why Pollup AI is building this At Pollup AI, we help CS and support teams stop drowning in tools and manual tasks. This template is part of our growing AI agent library: plug-and-play automations that connect your tools, clean your data, and free up your time – without writing a line of code. Try this workflow and let Pollup AI handle the boring parts, so your team can focus on what customers are really saying. Learn more at Pollup AI
by Immanuel
Automated Research Report Generation with OpenAI, Wikipedia, Google Search, Gmail/Telegram and PDF Output Description What Problem Does This Solve? 🛠️ This workflow automates the process of generating professional research reports for researchers, students, and professionals. It eliminates manual research and report formatting by aggregating data, generating content with AI, and delivering the report as a PDF via Gmail or Telegram. Target audience: Researchers, students, educators, and professionals needing quick, formatted research reports. What Does It Do? 🌟 Aggregates research data from Wikipedia, Google Search, and SerpApi. Refines user queries and generates structured content using OpenAI. Converts the content into a professional HTML report, then to PDF. Sends the PDF report via Gmail or Telegram. Key Features 📋 Real-time data aggregation from multiple sources. AI-driven content generation with OpenAI. Automated HTML-to-PDF conversion for professional reports. Flexible delivery via Gmail or Telegram. Error handling for robust execution. Setup Instructions Prerequisites ⚙️ n8n Instance**: Self-hosted or cloud n8n instance. API Credentials**: OpenAI API: API key with GPT model access, stored in n8n credentials. SerpApi (Google Search): API key from SerpApi, stored in n8n credentials (do not hardcode in nodes). Gmail API: Credentials from Google Cloud Console with Gmail scope. Telegram API: Bot token from BotFather on Telegram. Installation Steps 📦 Import the Workflow: Copy the workflow JSON from the "Template Code" section below. Import it into n8n via "Import from File" or "Import from URL". Configure Credentials: Add API credentials in n8n’s Credentials section for OpenAI, SerpApi, Gmail, and Telegram. Assign credentials to respective nodes. For example: In the SerpApi Google Search node, use n8n credentials for SerpApi: api_key={{ $credentials.SerpApiKey }}. In the Send Research PDF on Gmail node, use Gmail credentials. In the Send PDF to Telegram node, use Telegram bot credentials. Set Up Nodes: OpenAI Nodes (Research AI Agent, OpenAI Chat Model, OpenAI Chat Middle Memory): Update the model (e.g., gpt-4o) and prompt as needed. Input Validation (Input Validation node): Ensure your input query format matches the expected structure (e.g., topic: "AI ethics"). Delivery Options (Send Research PDF on Gmail, Send PDF to Telegram): Configure recipient email or Telegram chat ID. Test the Workflow: Run the workflow by clicking the "Test Workflow" node. Verify that the research report PDF is generated and sent via Gmail or Telegram. How It Works High-Level Steps 🔍 Query Refinement**: Refines the input query for better research. Aggregate Data**: Fetches data from Wikipedia, Google Search, and SerpApi. Generate Report**: Uses OpenAI to create a structured report. Convert to PDF**: Converts the report to HTML, then PDF. Deliver Report**: Sends the PDF via Gmail or Telegram. Detailed descriptions are available in the sticky notes within the workflow screenshot above. Node Names and Actions Research and Report Generation Test Workflow: Triggers the workflow for testing. Input Validation: Validates the input query. Query Refiner: Refines the query for better results. Research AI Agent: Coordinates research using OpenAI. OpenAI Chat Model: Generates content for the report. Structured Output Parser: Parses OpenAI output into structured data. OpenAI Chat Middle Memory: Retains context during research. Wikipedia Google Search: Fetches data from Wikipedia. SerpApi Google Search: Fetches data via SerpApi. Merge Split Items: Merges data from multiple sources. Aggregate: Aggregates all research data. Generate PDF HTML: Creates an HTML report. Convert HTML to PDF: Converts HTML to PDF. Download PDF: Downloads the PDF file. Send PDF to Telegram: Sends the PDF via Telegram. Send Research PDF on Gmail: Sends the PDF via Gmail. Customization Tips Expand Data Sources** 📡: Add more sources (e.g., academic databases) by adding nodes to Merge Split Items. Change Report Style** ✍️: Update the Generate PDF HTML node to modify the HTML template (e.g., adjust styling or sections). Alternative Delivery** 📧: Add nodes to send the PDF via other platforms (e.g., Slack). Adjust AI Model** 🧠: Modify the OpenAI Chat Model node to use a different model (e.g., gpt-3.5-turbo).
by Hichul
n8n workflow template description [template] This workflow automatically drafts replies to your emails using an OpenAI Assistant, streamlining your inbox management. It's designed for support teams, sales professionals, or anyone looking to accelerate their email response process by leveraging AI to create context-aware draft replies in Gmail. How it works The workflow runs on a schedule (every minute) to check for emails with a specific label in your Gmail account. It takes the content of the newest email in a thread and sends it to your designated OpenAI Assistant for processing. A draft reply is generated by the AI assistant. This AI-generated reply is then added as a draft to the original email thread in Gmail. Finally, the initial trigger label is removed from the email thread to prevent it from being processed again. Set up steps Connect your accounts: You'll need to connect your Gmail and OpenAI accounts in the respective nodes. Configure the trigger: In the "Get threads with specific labels" Gmail node, specify the label that you want to use to trigger the workflow (e.g., generate-reply). Any email you apply this label to will be processed. Select your OpenAI Assistant: In the "Ask OpenAI Assistant" node, choose the pre-configured Assistant you want to use for generating replies. Configure label removal: In the "Remove AI label from email" Gmail node, ensure the same trigger label is selected to be removed after the draft has been successfully created. Activate the workflow: Save and activate the workflow to begin automating your email replies.
by vinci-king-01
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How it works This workflow automatically monitors competitor prices, analyzes market demand, and optimizes product pricing in real-time for maximum profitability using advanced AI algorithms. Key Steps Hourly Trigger - Runs automatically every hour for real-time price optimization and competitive response. Multi-Platform Competitor Monitoring - Uses AI-powered scrapers to track prices from Amazon, Best Buy, Walmart, and Target. Market Demand Analysis - Analyzes Google Trends data to understand search volume trends and seasonal patterns. Customer Sentiment Analysis - Reviews customer feedback to assess price sensitivity and value perception. AI Pricing Optimization - Calculates optimal prices using weighted factors including competitor positioning, demand indicators, and inventory levels. Automated Price Updates - Directly updates e-commerce platform prices when significant opportunities are identified. Comprehensive Analytics - Logs all pricing decisions and revenue projections to Google Sheets for performance tracking. Set up steps Setup time: 15-20 minutes Configure ScrapeGraphAI credentials - Add your ScrapeGraphAI API key for AI-powered competitor and market analysis. Set up e-commerce API connection - Connect your e-commerce platform API for automated price updates. Configure Google Sheets - Set up Google Sheets connections for pricing history and revenue analytics logging. Set up Slack notifications - Connect your Slack workspace for real-time pricing alerts and team updates. Customize product catalog - Modify the product configuration with your actual products, costs, and pricing constraints. Adjust monitoring frequency - Change the trigger timing based on your business needs (hourly, daily, etc.). Configure competitor platforms - Update competitor URLs and selectors for your target market. What you get Real-time price optimization** with 15-25% potential revenue increase through intelligent pricing Competitive intelligence** with automated monitoring of major e-commerce platforms Market demand insights** with seasonal and trend-based pricing adjustments Customer sentiment analysis** to understand price sensitivity and value perception Automated price updates** when significant opportunities are identified (>2% change, >70% confidence) Comprehensive analytics** with pricing history, revenue projections, and performance tracking Team notifications** with detailed market analysis and pricing recommendations Margin protection** with intelligent constraints to maintain profitability
by Kanaka Kishore Kandregula
Daily Magento 2 stock check Automation It identifies SKUs with low inventory per source and sends daily alerts via: 📬 Gmail (HTML email) 💬 Slack (formatted text message) This automation empowers store owners and operations teams to stay ahead of inventory issues by proactively monitoring stock levels across all Magento 2 sources. By receiving early alerts for low-stock products, businesses can restock before items sell out—ensuring continuous product availability, reducing missed sales opportunities, and maintaining customer trust. Avoiding stockouts not only protects your brand reputation but also keeps your store competitive by preventing customers from turning to competitors due to unavailable items. Timely restocking leads to higher fulfillment rates, improved customer satisfaction, and ultimately, stronger revenue and long-term loyalty. ✅ Features: Filters out configurable, virtual, and downloadable products Uses Magento 2 MSI stock per source Customizable thresholds (default: ≤10 overall or ≤5 per source) HTML-formatted email report Slack notification with a code-formatted Runs daily via Cron (08:50 AM) No need of any 3rd part Modules One time Setup 🔑 Credentials Used HTTP Request (Magento 2 REST API using Bearer Token) Gmail (OAuth2) Slack (OAuth2 or Webhook) 📊 Tags Magento, Inventory, MSI, Stock Alert, Ecommerce, Slack, Gmail, Automation 📂 Category E-commerce → Magento 2 (Adobe Commerce) 👤 Author Kanaka Kishore Kandregula Certified Magento 2 Developer https://gravatar.com/kmyprojects https://www.linkedin.com/in/kanakakishore
by Chad McGreanor
Overview This workflow automates LinkedIn posts using OpenAI. The prompts are stored in the workflow and can be customized as needed to fit your needs. The workflow uses a combination of a Schedule Trigger, some code that determines what day of the week it is (no posting Friday - Sunday), a prompts node to set your OpenAI prompts, a random selection of a prompt so that you are not generating content that looks repetitive. We send that all to OpenAI API, select a random time, have the final LinkedIn post sent to your Telegram for approval, once approved wait for the correct time slot, and then Post to your LinkedIn account using the LinkedIn node. How it works: Run or schedule the workflow in n8n The automation can be triggered manually or on a custom schedule (excluding weekends if needed). You should customize the prompts in the Prompt Node to suit your needs. A random LinkedIn post prompt is selected Pre-written prompts are rotated to keep content fresh and non-repetitive. OpenAI generates the LinkedIn post The prompt is sent to OpenAI via API, and the result is returned in clean, ready-to-use form. You receive the draft via Telegram. The post is sent to Telegram for quick approval or review. Post is scheduled or published via the LinkedIn Connector Once approved, the workflow delays until the target time, then sends the content to LinkedIn. What's needed: An OpenAPI API key, LinkedIn Account, and a Telegram Account. For Telegram you will need to configure the Bot service. Step-by-Step: Telegram Approval for Your Workflow A. Set Up a Telegram Bot Open Telegram and search for “@BotFather”. Start a chat and type /newbot to create a bot. Give your bot a name and a unique username (e.g., YourApprovalBot). Copy the API token that BotFather gives you. B. Add Your Bot to a Private Chat (with You) Find your bot in Telegram, click “Start” to activate it. Send a test message (like “hello”) so the chat is created. C. Get Your User ID Search for “userinfobot” or use sites like userinfobot in Telegram. Type /start and it will reply with your Telegram user ID. OpenAI powers the LinkedIn post creation Add Your OpenAI API Key: Log in to your OpenAI Platform account: https://platform.openai.com/. Go to API keys and create a new secret key. In n8n, create a new "OpenAI API" credential and paste your API key. Give it a name. Apply Credential to Nodes: OpenAI Message Node Connect your LinkedIn account to the Linked in Node Select your account from the LinkedIn Dropdown box.
by Trung Tran
📝 Smart Vendor Contract Renewal & Reminder Workflow With GPT 4.1 mini Never miss a vendor renewal again! This smart workflow automatically tracks expiring contracts, reminds your finance team via Slack, and helps initiate renewal with vendors through email — all with built-in approval and logging. Perfect for managing both auto-renew and manual contracts. 📌 Who’s it for This workflow is designed for Finance and Procurement teams responsible for managing vendor/service contracts. It ensures timely notifications for expiring contracts and automates the initiation of renewal conversations with vendors. ⚙️ How it works / What it does ⏰ Daily Trigger Runs every day at 6:00 AM using a scheduler. 📄 Retrieve Contract List Reads vendor contract data from a Google Sheet (or any data source). Filters for contracts nearing their end date, using a Notice Period (days) field. 🔀 Branch Based on Renewal Type Auto-Renew Contracts: Compose a Slack message summarizing the auto-renewal. Notify the finance contact via Slack. Manual Renewal Contracts: Use an OpenAI-powered agent to generate a meaningful Slack message. Send message and wait for approval from the finance contact (e.g., within 8 hours). Upon approval, generate a formal HTML email to the vendor. Send the email to initiate the contract extension process. 📊 (Optional) Logging Can be extended to log all actions (Slack messages, emails, approvals) to Google Sheets or other databases. 🛠️ How to set up Prepare your Google Sheet Include the following fields: Vendor Name, Vendor Email, Service Type, Contract Start Date, Contract End Date, Notice Period (days), Renewal Type, Finance Contact, Contact Email, Slack ID, Contract Value, Notes. Sample: https://docs.google.com/spreadsheets/d/1zdDgKyL0sY54By57Yz4dNokQC_oIbVxcCKeWJ6PADBM/edit?usp=sharing Configure Integrations 🟢 Google Sheets API: To read contract data. 🔵 Slack API: To notify and wait for approval. 🧠 OpenAI API (GPT-4): To generate personalized reminders. ✉️ Email (SMTP/Gmail): To send emails to vendors. Set the Daily Scheduler Use a Cron node to trigger the workflow at 6:00 AM daily. ✅ Requirements | Component | Required | |----------------------------------|----------| | Google Sheets API | ✅ | | Slack API | ✅ | | OpenAI API (GPT-4) | ✅ | | Email (SMTP/Gmail) | ✅ | | n8n (Self-hosted or Cloud) | ✅ | | Contract Sheet with proper schema| ✅ | 🧩 How to customize the workflow Adjust Reminder Period**: Modify the logic in the Find Expiring Vendors node (based on Contract End Date and Notice Period). Change Message Tone or Format**: Customize the OpenAI agent's prompt or switch from plain text to branded HTML email. Add Logging or Tracking: Add a node to append logs to a **Google Sheet, Notion, or database. Replace Data Source: Swap out Google Sheets for **Airtable, PostgreSQL, or other CRM/database systems. Adjust Wait/Approval Duration**: Modify the sendAndWait Slack node timeout (e.g., from 8 hours to 2 hours). 📦 Optional Extensions 🧾 Add PDF contract preview via Drive link 🧠 Use GPT to summarize renewal terms 🛠 Auto-create Jira task for contract review
by Yang
📄 What this workflow does This workflow captures a full-page screenshot of any website added to a Google Sheet and automatically uploads the screenshot to a designated Google Drive folder. It uses Dumpling AI’s screenshot API to generate the image and manages file storage through Google Drive. 👤 Who is this for This is ideal for: Marketers and outreach teams capturing snapshots of client or lead websites Lead generation specialists tracking landing page visuals Researchers or analysts who need to archive website visuals from URLs Anyone looking to automate website screenshot collection at scale ✅ Requirements A Google Sheet with a column labeled Website where URLs will be added Dumpling AI** API access for screenshot capture A connected Google Drive account with an accessible folder to store screenshots ⚙️ How to set up Replace the Google Sheet and folder IDs in the workflow with your own. Connect your Dumpling AI and Google credentials in n8n. Make sure your sheet contains a Website column with valid URLs. Activate the workflow to begin watching for new entries. 🔁 How it works (Workflow Steps) Watch New Row in Google Sheets: Triggers when a new row is added to the sheet. Request Screenshot from Dumpling AI: Sends the website URL to Dumpling AI and gets a screenshot URL. Download Screenshot: Fetches the image file from the returned URL. Upload Screenshot to Google Drive: Uploads the file to a selected folder in Google Drive. 🛠️ Customization Ideas Add timestamped filenames using the current date or domain name Append the Google Drive URL back to the same row in the sheet for easy access Extend the workflow to send Slack or email notifications when screenshots are saved Add filters to validate URLs before sending them to Dumpling AI