AI agent that can scrape webpages
⚙️🛠️🚀🤖🦾 This template is a PoC of a ReAct AI Agent capable of fetching random pages (not only Wikipedia or Google search results). On the top part there's a manual chat node connected to a LangChain ReAct Agent. The agent has access to a workflow tool for getting page content. The page content extraction starts with converting query parameters into a JSON object. There are 3 pre-defined parameters: url – an address of the page to fetch method = full / simplified maxlimit - maximum length for the final page. For longer pages an error message is returned back to the agent Page content fetching is a multistep process: An HTTP Request mode tries to get the page content. If the page content was successfuly retrieved, a series of post-processing begin: Extract HTML BODY; content Remove all unnecessary tags to recuce the page size Further eliminate external URLs and IMG scr values (based on the method query parameter) Remaining HTML is converted to Markdown, thus recuding the page lengh even more while preserving the basic page structure The remaining content is sent back to an Agent if it's not too long (maxlimit = 70000 by default, see CONFIG node). NB: You can isolate the HTTP Request part into a separate workflow. Check the Workflow Tool description, it guides the agent to provide a query string with several parameters instead of a JSON object. Please reach out to Eduard is you need further assistance with you n8n workflows and automations! Note that to use this template, you need to be on n8n version 1.19.4 or later.
AI agent for project management and meetings with Airtable and Fireflies
Video Guide I prepared a comprehensive guide detailing how to create a Smart Agent that automates meeting task management by analyzing transcripts, generating tasks in Airtable, and scheduling follow-ups when necessary. [](https://www.youtube.com/watch?v=0TyX7G00x3A) Youtube Link Who is this for? This workflow is ideal for project managers, team leaders, and business owners looking to enhance productivity during meetings. It is particularly helpful for those who need to convert discussions into actionable items swiftly and effectively. What problem does this workflow solve? Managing action items from meetings can often lead to missed tasks and poor follow-up. This automation alleviates that issue by automatically generating tasks from meeting transcripts, keeping everyone informed about their responsibilities and streamlining communication. What this workflow does The workflow leverages n8n to create a Smart Agent that listens for completed meeting transcripts, processes them using AI, and generates tasks in Airtable. Key functionalities include: Capturing completed meeting events through webhooks. Extracting relevant meeting details such as transcripts and participants using API calls. Generating structured tasks from meeting discussions and sending notifications to clients. Webhook Integration: Listens for meeting completion events to trigger subsequent actions. API Requests for Data: Pulls necessary details like transcripts and participant information from Fireflies. Task and Notification Generation: Automatically creates tasks in Airtable and notifies clients of their responsibilities. Setup N8N Workflow Configure the Webhook: Set up a webhook to capture meeting completion events and integrate it with Fireflies. Retrieve Meeting Content: Use GraphQL API requests to extract meeting details and transcripts, ensuring appropriate authentication through Bearer tokens. AI Processing Setup: Define system messages for AI tasks and configure connections to the AI chat model (e.g., OpenAI's GPT) to process transcripts. Task Creation Logic: Create structured tasks based on AI output, ensuring necessary details are captured and records are created in Airtable. Client Notifications: Use an email node to notify clients about their tasks, ensuring communications are client-specific. Scheduling Follow-Up Calls: Set up Google Calendar events if follow-up meetings are required, populating details from the original meeting context.
Extract and structure Thai documents to Google Sheets using Typhoon OCR and Llama 3.1
⚠️ Note: This template requires a community node and works only on self-hosted n8n installations. It uses the Typhoon OCR Python package and custom command execution. Make sure to install required dependencies locally. --- Who is this for? This template is for developers, operations teams, and automation builders in Thailand (or any Thai-speaking environment) who regularly process PDFs or scanned documents in Thai and want to extract structured text into a Google Sheet. It is ideal for: Local government document processing Thai-language enterprise paperwork AI automation pipelines requiring Thai OCR --- What problem does this solve? Typhoon OCR is one of the most accurate OCR tools for Thai text. However, integrating it into an end-to-end workflow usually requires manual scripting and data wrangling. This template solves that by: Running Typhoon OCR on PDF files Using AI to extract structured data fields Automatically storing results in Google Sheets --- What this workflow does Trigger: Run manually or from any automation source Read Files: Load local PDF files from a doc/ folder Execute Command: Run Typhoon OCR on each file using a Python command LLM Extraction: Send the OCR markdown to an AI model (e.g., GPT-4 or OpenRouter) to extract fields Code Node: Parse the LLM output as JSON Google Sheets: Append structured data into a spreadsheet --- Setup Install Requirements Python 3.10+ typhoon-ocr: pip install typhoon-ocr Install Poppler and add to system PATH (needed for pdftoppm, pdfinfo) Create folders Create a folder called doc in the same directory where n8n runs (or mount it via Docker) Google Sheet Create a Google Sheet with the following column headers: | book\id | date | subject | detail | signed\by | signed\by2 | contact | download\url | | -------- | ---- | ------- | ------ | ---------- | ----------- | ------- | ------------- | You can use this example Google Sheet as a reference. API Key Export your TYPHOONOCRAPIKEY and OPENAIAPI_KEY in your environment (or set inside the command string in Execute Command node). --- How to customize this workflow Replace the LLM provider in the Basic LLM Chain node (currently supports OpenRouter) Change output fields to match your data structure (adjust the prompt and Google Sheet headers) Add trigger nodes (e.g., Dropbox Upload, Webhook) to automate input --- About Typhoon OCR Typhoon is a multilingual LLM and toolkit optimized for Thai NLP. It includes typhoon-ocr, a Python OCR library designed for Thai-centric documents. It is open-source, highly accurate, and works well in automation pipelines. Perfect for government paperwork, PDF reports, and multilingual documents in Southeast Asia. ---
Index legal documents for hybrid search with Qdrant, OpenAI & BM25
Index Legal Dataset to Qdrant for Hybrid Retrieval *This pipeline is the first part of "Hybrid Search with Qdrant & n8n, Legal AI". The second part, "Hybrid Search with Qdrant & n8n, Legal AI: Retrieval", covers retrieval and simple evaluation.* Overview This pipeline transforms a Q&A legal corpus from Hugging Face (isaacus) into vector representations and indexes them to Qdrant, providing the foundation for running Hybrid Search, combining: Dense vectors (embeddings) for semantic similarity search; Sparse vectors for keyword-based exact search. After running this pipeline, you will have a Qdrant collection with your legal dataset ready for hybrid retrieval on BM25 and dense embeddings: either mxbai-embed-large-v1 or text-embedding-3-small. Options for Embedding Inference This pipeline equips you with two approaches for generating dense vectors: Using Qdrant Cloud Inference, conversion to vectors handled directly in Qdrant; Using external provider, e.g. OpenAI for generating embeddings. Prerequisites A cluster on Qdrant Cloud Paid cluster in the US region if you want to use Qdrant Cloud Inference Free Tier Cluster if using an external provider (here OpenAI) Qdrant Cluster credentials: You'll be guided on how to obtain both the URL and API_KEY from the Qdrant Cloud UI when setting up your cluster; An OpenAI API key (if you’re not using Qdrant’s Cloud Inference); P.S. To ask retrieval in Qdrant-related questions, join the Qdrant Discord. Star Qdrant n8n community node repo <3
Automate WooCommerce image product background removal using API and Google Sheet
This workflow automates the process of removing backgrounds from WooCommerce product images using the BackgroundCut API, and then updates the product images in both WooCommerce and a Google Sheet. Once set up, the workflow processes product images in bulk, removing backgrounds and updating WooCommerce seamlessly. This workflow is perfect for online stores that sell: Clothing and fashion items Jewelry and accessories General consumer products Any product that benefits from clean, background-free images for a professional storefront presentation will see improved visual appeal and potentially higher conversions. --- Benefits ⏱ Time-saving: Automates what would otherwise be a manual and repetitive task of editing images and updating product listings. 🔄 Fully Integrated: Connects Google Sheets, BackgroundCut API, FTP server, and WooCommerce in a seamless loop. 📦 Scalable: Supports batch processing, making it suitable for stores with hundreds of products. 📁 Organized Tracking: Updates the Google Sheet with the new image and a “DONE” flag for easy monitoring. 🔧 Customizable: You can change the image processing API, storage server, or eCommerce platform if needed. --- How It Works Data Retrieval: The workflow starts by fetching product data (ID and IMAGE URL) from a Google Sheets document. Only rows without a "DONE" marker are processed to avoid duplicates. Background Removal: Each product image URL is sent to the BackgroundCut API, which removes the background and returns the edited image. File Handling: The processed image is uploaded to an FTP server with the original filename preserved. A new URL for the edited image is generated and assigned to the product. WooCommerce Update: The product in WooCommerce is updated with the new image URL. Sheet Update: The Google Sheet is marked as "DONE" for the processed row, and the new image URL is recorded. Batch Processing: The workflow loops through all rows in the sheet until all products are processed. --- Set Up Steps Prepare the Google Sheet: Clone the provided Google Sheet template. Fill in the ID (product ID) and IMAGE (original image URL) columns. API & Credentials Setup: Get an API key from BackgroundCut.co. Configure the HTTP Request node ("Remove from Image URL") with: Header Auth: Authorization = API_KEY. Set up WooCommerce API credentials in the "Update product" node. FTP Configuration: Replace YOURFTPURL in the "New Image Url" node with your FTP/CDN base URL. Ensure FTP credentials are correctly set in the FTP node. Execution: Run the workflow manually via "When clicking ‘Execute workflow’". The process automatically handles background removal, file upload, and WooCommerce updates. ---- Need help customizing? Contact me for consulting and support or add me on Linkedin.
AI client onboarding agent: Auto welcome email generator
AI Client Onboarding Agent: Auto Welcome Email Generator This workflow automates welcoming new clients. When someone submits a form, their details are pulled from Google Sheets, a personalized onboarding checklist is generated using Google Gemini, and an email is sent directly to the client. It also includes error handling to ensure nothing is missed. --- 🟢 Section 1 – Trigger & Client Data Capture Nodes: ⏰ Trigger on New Client Form Submission → Fires when a new row is added in Google Sheets (from the client’s form). 🧍 Extract and Structure Client Data → Collects and formats client details: name, email, company, services, extra info. ✅ Beginner view: This is the doorway. When a client fills the form, their info is automatically pulled into the workflow. --- 📑 Section 2 – Checklist & Personalization Nodes: 📋 Client Checklist → Creates a default onboarding checklist (account setup, welcome call, docs, etc.). 🧠 Personalize Using Gemini → Sends client details + checklist to Google Gemini AI → generates a tailored onboarding email body. ✅ Beginner view: This is where the magic happens. Instead of a boring generic email, each client gets a customized message that feels personal. --- 📤 Section 3 – Delivery & Completion Nodes: 📧 Send Email to Client → Sends the personalized onboarding email directly to the client’s inbox. ✅ Execution Completed → Marks the workflow as successfully finished. ✅ Beginner view: Think of this as the final handshake with the client — they get a warm, professional onboarding email without you lifting a finger. --- 🚨 Section 4 – Error Handling Nodes: ⚠️ Error Handler → Captures any failure in the workflow. ❌ Execution Failure → Defines fallback/alert action if something breaks. ✅ Beginner view: This is your safety net. If an email fails or Gemini is unavailable, the workflow won’t just stop — you can set it up to alert you. --- 📊 Summary Table | Section | Key Nodes | Purpose | Beginner Benefit | | ----------------- | ----------------------------------- | -------------------------------------- | ------------------------------ | | 🟢 Trigger & Data | Google Sheets Trigger, Data Extract | Capture client info | Auto-collects form submissions | | 📑 Checklist & AI | Checklist, Gemini | Generate personalized onboarding email | Each client feels special | | 📤 Delivery | Gmail, Execution Completed | Send email & close flow | Client gets email instantly | | 🚨 Error Handling | Error Trigger, Failure Node | Catch issues | Ensures nothing is missed | --- 🌟 Why This Workflow Rocks Saves hours → no manual onboarding emails Personalized at scale → Gemini tailors messages per client Error-proof → built-in error handling keeps you safe Scalable → works for 10 or 10,000 clients --- 👉 Example Flow in Action: A client named Sarah fills the onboarding form. Workflow captures her details → “Sarah, MarketingPro Agency, Needs Analytics Setup.” Gemini creates a custom email: > Hi Sarah, welcome aboard! Here’s your onboarding plan tailored for Analytics Setup… Gmail sends it instantly. You get notified only if something fails. ---
Generate biblical character vlogs with GPT-4o and Veo3 AI video generator
🧠 How It Works This intelligent workflow turns ancient stories and legendary characters into modern-style vlog ideas — then automatically builds cinematic prompts ready to generate short videos using Veo3. Think: “What if biblical figures had GoPros?” — funny, emotional, and visually stunning AI-made videos. --- 🔄 Workflow Steps ✨ 1. Concept Generator (AI Node 1) The first AI agent creates a video concept inspired by a biblical or mythological theme. It structures output as JSON with: 🎬 caption – Short, emotional or humorous line with emojis & hashtags 💭 concept – A short summary of the story or moment captured on camera 🌄 setting – Visual and mood details (lighting, style, colors) 📋 status – Stage label like “draft” or “to produce” Example Output: json { "caption": "POV: Moses trying to record a vlog mid–Red Sea split 🌊📹 faithvibes holyshorts", "concept": "Moses looks straight into the camera, trying to act calm while walls of water rise dramatically beside him.", "setting": "Vast sea corridor glowing in blue light, reflections dancing on wet sand, robes fluttering in the wind.", "status": "to produce" } --- 🎬 2. Cinematic Prompt Builder (AI Node 2) This agent converts the concept and setting into a Veo3-ready cinematic prompt that guides realistic video generation. Each output includes: Scene layout & description 🌅 Character framing & expression 🎭 Camera movement (pan, orbit, dolly-in, etc.) 🎥 Lighting style & atmosphere 💡 Textural realism (dust, wind, shadows, fabrics) Example Output: > A robed man stands between two towering walls of water, facing the camera as waves shimmer in the light. The handheld camera slowly pushes forward, capturing ripples and wind-blown fabric. His tone is confident yet tense. The atmosphere feels surreal — reflections glisten and mist drifts through golden rays. --- ☁️ 3. Send to Veo3 API The cinematic description is sent directly to the Veo3 video generation API to create the visual clip. POST Request https://queue.fal.run/fal-ai/veo3 Header → Authorization: Key YOURAPIKEY Body → { "prompt": "{{ $json.output }}" } The API responds with a request_id to track progress. --- ⏳ 4. Track Video Progress Monitor generation status and retrieve your final clip details. GET Request https://queue.fal.run/fal-ai/veo3/requests/{{ $json.request_id }} Header → Authorization: Key YOURAPIKEY When complete, the Veo3 model delivers your AI-generated short film. --- ⚙️ Setup Guide Connect APIs • Create a Veo3 (fal.run) account • Copy your API key → Add it under Header Auth: Authorization: Key YOUR_API_KEY Customize Prompts • Change the core question in Node 1 to explore other themes — e.g., “Greek myths,” “ancient warriors,” or “historic leaders.” • Refine the camera and lighting tone in Node 2 for different cinematic vibes (gritty, vintage, surreal). Run & Validate • Trigger manually to test flow • Check JSON output → must include caption, concept, setting, status • Ensure Veo3 receives your cinematic prompt correctly Automate & Expand • Add a Scheduler to generate new ideas daily or weekly • Send results to Google Sheets, Notion, or Discord for creative collaboration --- 🚀 Ideal For • 🎬 Creators & Filmmakers → Quickly generate cinematic ideas & AI-shot scripts • 🙏 Faith-Based Artists → Reimagine ancient lessons with modern storytelling • 💡 Creative Studios → Automate short video ideation for campaigns • 🧠 Educators & Animators → Visualize history or mythology through creative AI prompts ---
AI-powered Candidate Screening & Interview Scheduling with OpenAI GPT & Google Suite
Streamline your hiring process with intelligent AI-powered candidate screening and automated interview scheduling. This workflow receives applications via webhook, evaluates candidates using OpenAI's GPT model, scores them against job requirements, stores data in Google Sheets, and automatically schedules interviews for high-scoring candidates — all while sending personalized email notifications and updating statuses in real time. Reduce manual screening time and ensure only top candidates move forward. 🤖📧 --- What This Template Does Step 1: Triggers on new application submission via Webhook (e.g., from job portal or form). Step 2: Stores applicant data (resume, contact, role) into Google Sheets for centralized tracking. Step 3: Uses OpenAI GPT to evaluate candidate fit based on resume, skills, and job requirements. Step 4: Applies Scoring Logic: • Score ≥ 70 → Qualified for interview • Score < 70 → Not a fit Step 5: Branches based on score: → High Score Path: • Sends Interview Invitation Email • Creates Google Calendar Event • Updates Sheet: Status → “Interview Scheduled” → Low Score Path: • Sends Polite Rejection Email • Updates Sheet: Status → “Rejected” Step 6: Final metrics logged and webhook response confirms completion. --- Key Benefits ✅ Eliminates manual resume screening ✅ AI evaluates candidates consistently and objectively ✅ Automates interview scheduling with calendar integration ✅ Real-time status updates in Google Sheets ✅ Personalized email communication at every stage ✅ Full audit trail of decisions and actions --- Features Webhook-triggered application intake Google Sheets as applicant tracking system (ATS) OpenAI GPT-powered candidate evaluation Dynamic scoring threshold (customizable) Conditional branching (High/Low Score) Gmail integration for email notifications Google Calendar auto-event creation Real-time status updates via sheet write-back Final webhook response for system confirmation --- Requirements GOOGLESHEETID: Your Google Sheet ID Credentials Needed: Google Sheets OAuth2 Gmail API Key OpenAI API Key Google Calendar OAuth2 Customize: • Job requirements & AI prompt • Score threshold (currently 70) • Email templates • Interview scheduling time slots --- Target Audience HR teams managing high-volume applications 👥 Recruiters seeking faster shortlisting ⏱️ Startups automating early-stage hiring 🚀 Tech companies with technical screening needs 💻 Remote-first organizations using digital workflows 🌍 --- Step-by-Step Setup Instructions Set up Google Sheet → Create a sheet with columns: Name, Email, Resume Link, Role, Status, Score, Timestamp → Replace YOURSHEETID in the workflow with your actual Sheet ID. Configure Webhook → Connect your job application form (e.g., Typeform, LinkedIn, custom portal) to trigger this workflow. Add OpenAI API Key → Insert your OpenAI key and customize the evaluation prompt under “AI Evaluation” node. Set Scoring Threshold → Adjust the “IF – Check Score Threshold” node (default: ≥70 = pass). Connect Gmail & Calendar → Enable Gmail OAuth2 and Google Calendar OAuth2. → Define interviewer email and default interview duration. Customize Emails → Edit “Interview Invitation” and “Rejection Notice” templates with your branding. Test the Flow → Submit a test application via webhook. → Verify: Sheet update → AI score → Email → Calendar event → Status change. Go Live → Enable automation. Monitor first few runs in Google Sheets. --- Workflow Complete! Now sit back as AI screens, scores, schedules, and communicates — all without lifting a finger. Metrics to Track: Applications received Average AI score Interview rate Time to process
Automate task deadline reminders with Google Sheets and Gmail (Today/3-Day/7-Day)
Task Deadline Reminder Workflow (Today / 3-Day / 7-Day) Task deadline management manually is inefficient and leads to missed deadlines—especially when teams rely on spreadsheets and individual reminders. This workflow automates the entire follow-up process by reading a centralized task sheet in Google Sheets every morning, checking the deadline for each task, and sending automatic email notifications to the responsible person based on urgency. Tasks due today, within three days, or within one week are identified and routed to customized Gmail notifications, ensuring that every team member is aware of upcoming deadlines without manual checking. Who’s it for This workflow is ideal for teams and organizations that manage multiple tasks across departments and need a reliable way to stay on top of deadlines. It is especially useful for: Project managers coordinating many deadlines Back-office teams monitoring routine operational tasks Organizations with distributed members Anyone who relies on spreadsheets but needs automated follow-up By integrating Google Sheets, n8n, and Gmail, you gain a proactive notification system that keeps everyone aligned and reduces the risk of forgotten tasks. How it works Daily trigger The workflow runs every morning at 9:00 using a Schedule Trigger. Load task list from Google Sheets The workflow retrieves all rows from the designated spreadsheet, including task name, deadline, responsible person, and email address. Process tasks individually A loop node evaluates each task one by one. Evaluate deadline conditions Due today: Deadline matches today’s date Due within 3 days: Deadline falls between today and three days ahead Due within 7 days: Deadline falls between today and one week ahead Send notifications Depending on urgency: “本日が締め切りです” for tasks due today “タスク期限が三日前となりました” for tasks due within 3 days “タスクの期限が一週間以内です” for tasks due within 7 days Each email is automatically sent to the responsible person based on the “メールアドレス” field in the sheet. Complete processing The loop continues until all task rows have been checked. How to set up Import the workflow into your n8n instance Authenticate Google Sheets and select the task spreadsheet Authenticate Gmail as the sender account Confirm required columns: タスク, 期限, 担当, メールアドレス Adjust time, message text, or conditions based on your internal rules Requirements Active n8n instance Google Sheets access with permission to read the task list Gmail OAuth connection for email sending Spreadsheet with at least: task name, deadline, responsible person, email address How to customize You can expand and refine this workflow to match your company’s processes: Add Slack, Chatwork, or LINE notifications Add overdue task detection Add task priority sorting (High / Medium / Low) Log notifications back into the spreadsheet Send daily summary reports to managers This workflow provides a flexible foundation for building a complete automated task governance system.
Automatically archive old WordPress posts to draft status
Overview: Automated WordPress Post Archiving This workflow is designed to maintain your blog's health and SEO by automatically moving old, published posts into a "draft" or "archive" state. This prevents outdated or low-traffic content from negatively impacting your site's performance and allows you to easily review and update them later. --- How It Works Quarterly Trigger: The workflow is set to run automatically on a recurring schedule, specifically on the 1st day of every 3rd month (quarterly). This ensures that your content is regularly audited without any manual intervention. Find Old Posts: The workflow connects to your WordPress site and fetches all published posts that are older than a specified time frame (in this case, 12 months). It uses the WordPress API's filtering capabilities to efficiently find the right content. Check if Posts Found: An If node checks if the previous step found any posts. This prevents the workflow from running further steps if there's nothing to archive. If no posts are found, the workflow ends and logs this. Archive Post: If posts are found, the workflow proceeds to update each one. It changes the post's status from publish to draft and automatically adds tags like archived and old-content for easy identification within your WordPress dashboard. Send Notification: After the archiving process is complete, the workflow sends an email notification to the administrator. This provides a summary of the activity, letting you know that the task has been completed. --- Setup Steps Configure WordPress Credentials: In both the Find Old Posts and Archive Post nodes, you need to add your WordPress credentials. This typically involves entering your site URL and creating an application password in your WordPress admin dashboard for secure API access. Set Up Email Credentials: In the Send Notification node, add your email service credentials (like SMTP or a Gmail account) to enable the workflow to send you the completion notification. Adjust the Archiving Period: In the Find Old Posts node, the current expression is {{ $now.minus({ months: 12 }).toISO() }} which archives posts older than 12 months. You can change the number of months to fit your content strategy (e.g., 24 for two years). Customize Tags: In the Archive Post node, you can customize the tags to better suit your needs. You can change or add new tags that will be applied to the archived posts. Activate the Workflow: Once all credentials and settings are configured, make sure to activate the workflow to set the quarterly schedule in motion.
Generate professional invoices with Jotform, Xero, and GPT-powered emails
Generate Invoices for Customers with Jotform, Xero and Gmail This workflow automates the entire process of receiving a product/service order, checking or creating a customer in Xero, generating an invoice, and emailing it — all triggered by a form submission (via Jotform). How It Works Receive Submission Triggered when a user submits a form. Collects data like customer details, selected product/service, etc. Create/Update The Customer Creates/Updates the customer. Create The Invoice Generates a new invoice for the customer using the item selected. Send The Invoice Automatically sends the invoice via email to the customer. Who Can Benefit from This Workflow? Freelancers Service Providers Consultants & Coaches Small Businesses E-commerce or Custom Product Sellers Requirements Jotform webhook setup, more info here Xero credentials, more info here Make sure that products/services values in Jotform are exactly the same as your item Code in your Xero account Email setup, update email node (Send email), more info about Gmail setup here LLM model credentials