by n8n Team
This workflow automates a two way sync of customer data between Pipedrive and MySQL. It will create new records in one source if it only exists in the other. Where matching records have different data for name, phone number or email address, it will sync the most recently updated version.
by Nabin Bhandari
This template uses VAPI and Cal.com to book appointments through a voice conversation. It detects whether the user wants to check availability or book an appointment, then responds naturally with real-time scheduling options. Who is this for? This workflow is perfect for: Voice assistant developers AI receptionists and smart concierge tools Service providers (salons, clinics, coaches) needing hands-free scheduling Anyone building voice-based customer experiences What does it do? This workflow turns a natural voice conversation into a working appointment system. It starts with a Webhook connected to your VAPI voice agent. The Set node extracts user intent (like “check availability” or “book now”). A Switch node branches logic based on the intent. If the user wants to check availability, the workflow fetches available times from Cal.com. If the user wants to book, it creates a new event using Cal.com's API. The final result is sent back to VAPI as a conversational voice response. How to use it Import this workflow into your n8n instance. Set up a Webhook node and connect it to your VAPI voice agent. Add your Cal.com API token as a credential (use HTTP Header Auth). Deploy and test using VAPI’s simulator or real phone input. (Optional) Customize the OpenAI prompt if you're using it to process or moderate inputs. Requirements A working VAPI agent A Cal.com account with API access n8n (cloud or self-hosted) An understanding of how to configure webhook and API credentials in n8n Customization Ideas Swap out Cal.com with another booking API (like Calendly) Add a Google Sheets or Supabase node to log appointments Use OpenAI to summarize or sanitize voice inputs before proceeding Build multi-turn conversations in VAPI for more complex bookings
by Ranjan Dailata
Description This workflow automates the process of scraping the latest discussions from HackerNews, transforming raw threads into human readable content using Google Gemini, and exporting the final content into a well-formatted Google Doc. Overview This n8n workflow is responsible for extracting trending posts from the HackerNews API. It loops through each item, performs HTTP data extraction, utilizes Google Gemini to generate human-readable insights, and then exports the enriched content into Google Docs for distribution, archiving, or content creation. Who this workflow is for Tech Newsletter Writers**: Automate the collection and summarization of trending HackerNews posts for inclusion in weekly or daily newsletters. Content Creators & Bloggers**: Quickly generate structured summaries and insights from HackerNews threads to use as inspiration or supporting content for blog posts, videos, or social media. Startup Founders & Product Builders**: Monitor HackerNews for discussions relevant to your niche or competitors, and keep a pulse on the community’s opinions. Investors & Analysts**: Surface early signals from the tech ecosystem by identifying what’s trending and how the community is reacting. Researchers & Students**: Analyze popular discussions and emerging trends in technology, programming, and startups—enriched with AI-generated insights. Digital Agencies & Consultants**: Offer HackerNews monitoring and insight reports as a value-added service to clients interested in the tech space. Tools Used n8n**: The core automation engine that manages the trigger, transformation, and export. HackerNews API**: Provides access to trending or new HN posts. Google Gemini**: Enriches HackerNews content with structured insights and human-like summaries. Google Docs**: Automatically creates and updates a document with the enriched content, ready for sharing or publishing. How to Install Import the Workflow**: Download the .json file and import it into your n8n instance. Set Up HackerNews Source**: Choose whether to use the HN API (via HTTP Request node) or RSS Feed node. Configure Gemini API**: Add your Google Gemini API key and design the prompt to extract pros/cons, key themes, or insights. Set Up Google Docs Integration**: Connect your Google account and configure the Google Docs node to create/update a document. Test and Deploy**: Run a test job to ensure data flows correctly and outputs are formatted as expected. Use Cases Tech Newsletter Authors**: Generate ready-to-use summaries of trending HackerNews threads. Startup Founders**: Stay informed on key discussions, product launches, and community feedback. Investors & Analysts**: Spot early trends, technical insights, and startup momentum directly from HN. Researchers**: Track community reactions to new technologies or frameworks. Content Creators**: Use the enriched data to spark blog posts, YouTube scripts, or LinkedIn updates. Connect with Me Email: ranjancse@gmail.com LinkedIn: https://www.linkedin.com/in/ranjan-dailata/ Get Bright Data: Bright Data (Supports free workflows with a small commission) #n8n #automation #hackernews #contentcuration #aiwriting #geminiapi #googlegemini #techtrends #newsletterautomation #googleworkspace #rssautomation #nocode #structureddata #webscraping #contentautomation #hninsights #aiworkflow #googleintegration #webmonitoring #hnnews #aiassistant #gdocs #automationtools #gptlike #geminiwriter
by Abbas Ali
This n8n workflow automatically finds apartments for rent in Germany, filters them by your city, rent budget, and number of rooms, and applies to them via email. Each application includes: A personalized German cover letter Schufa report (fetched dynamically from Google Drive) Recent salary slips (also fetched from Google Drive) The workflow runs daily at a scheduled time, emails landlords or agencies automatically, and logs every application into a Google Sheet for tracking. How It Works Scheduled Trigger – Runs every day at 9 AM (adjustable). Fetch Listings – Uses immobilienscout24 API (or similar) to pull rental listings for your selected city. Filter Listings – Keeps only listings matching your CITY, MAX_RENT, and ROOMS settings. Fetch Documents – Retrieves your Schufa report and salary slips from Google Drive (no need for local hosting). Generate Cover Letter – Creates a personalized German-language letter per apartment. Send Email Application – Sends the email to the landlord or agent with cover letter + documents attached. Log Applications – Saves each application (title, address, rent, date) in a Google Sheet. How to Use Import the workflow JSON into n8n. Set environment variables in n8n (for security): immobilienscout24_TOKEN: Your immobilienscout24 API token immobilienscout24_LISTING_ACTOR: Actor ID for your preferred rental listing scraper (or custom) MY_EMAIL: Your sender email address (SMTP configured in n8n) SCHUFA_FILE_ID: Google Drive File ID for your Schufa PDF SALARY_FILE_ID: Google Drive File ID for your Salary Slips PDF APPLICATION_SHEET_ID: Google Sheet ID to log applications Authenticate Google Drive and Google Sheets (OAuth2 in n8n). Customize search filters in the Set Config node: CITY (e.g., Berlin) MAX_RENT (e.g., 1200) ROOMS (e.g., 2) Activate the workflow – It will run daily at the configured time and send applications automatically. Check your Google Sheet – Every application will be logged for tracking. Requirements An immobilienscout24 account (or another apartment listing API, can be substituted). A Google account (for Drive and Sheets integration). A Schufa report (PDF) uploaded to Google Drive. Recent salary slips (PDF) uploaded to Google Drive. An SMTP-configured email account for sending applications. n8n instance (self-hosted or cloud) with: Google Drive and Google Sheets credentials configured Environment variables set for tokens and file IDs A working email SMTP setup
by dmr
This n8n workflow implements a version of the Adaptive Retrieval-Augmented Generation (RAG) framework. It recognizes that the best way to retrieve information often depends on the type of question asked. Instead of a one-size-fits-all approach, this workflow adapts its strategy based on the user's query intent. 🌟 How it Works Receive Query: Takes a user query as input (along with context like a chat session ID and Vector Store collection ID if used as sub-workflow). Classify Query: First, the workflow classifies the query into a predefined category. This template uses four examples: Factual: For specific facts. Analytical: For deeper explanations or comparisons. Opinion: For subjective viewpoints. Contextual: For questions relying on specific background. Select & Adapt Strategy: Based on the classification, it selects a corresponding strategy to prepare for information retrieval. The example strategies aim to: Factual: Refine the query for precision. Analytical: Break the query into sub-questions for broad coverage. Opinion: Identify different viewpoints to look for. Contextual: Incorporate implied or user-specific context. Retrieve Info: Uses the output of the selected strategy to search the specified knowledge base (Qdrant vector store - change as needed) for relevant documents. Generate Response: Constructs a response using the retrieved documents, guided by a prompt tailored to the original query type. By adapting the retrieval strategy, this workflow aims to provide more relevant results tailored to the user's intent. ⚙️ Usage & Flexibility Sub-Workflow:** Designed to be called from other n8n workflows, passing user_query, chat_memory_key, and vector_store_id as inputs. Chat Testing:** Can also be triggered directly via the n8n Chat interface for easy testing and interaction. Customizable Framework:** The query categories (Factual, Analytical, etc.) and the associated retrieval strategies are examples. You can modify or replace them entirely to fit your specific domain or requirements. 🛠️ Requirements Credentials:** You will need API credentials configured in your n8n instance for: Google Gemini (AI Models) Qdrant (Vector Store)
by Automate With Marc
🎬 Veo3 Instagram Reel Generator – AI-Powered Ad Creation in Minutes Description: This no-code workflow transforms your creative brief into an engaging Instagram Reel using OpenAI and Veo3 API (via Wavespeed) — fully automated in n8n. Just type a product, theme, or trend via chat, and get a short-form video plus caption delivered and logged, ready to post. Perfect for marketers, creators, and content teams looking to scale their ad content output without hiring editors or creative agencies. Watch step-by-step build video tutorial here: https://www.youtube.com/@Automatewithmarc ⚙️ How It Works: 💬 Chat Trigger Start by sending a message like “Create an ad for a minimalist perfume brand using the ‘quiet luxury’ trend.” 🧠 Prompt Engineer (ChatGPT) Generates a 5–8 second descriptive video prompt suitable for Veo3 based on your input — including visual tone, motion, and hook. 📡 API Call to Veo3 via Wavespeed Submits the prompt to create a short video (9:16 ratio, ~8 seconds), then polls for the final video URL. ✍️ Caption Generator (GPT) Creates an Instagram-friendly caption to pair with the video, using a playful, impactful writing style. 📄 Google Sheets Integration Logs each generated video prompt, final video URL, caption, and status into a Google Sheet for easy management and scheduling. 🔌 Tools & Integrations: OpenAI GPT (Prompt generation & caption copywriting) Veo3 via Wavespeed API (Video generation) Google Sheets (Content tracking and publishing queue) Telegram / Chat UI trigger (Optional – easily swappable) 💡 Use Cases: Instagram & TikTok ad generation Creative automation for digital agencies Short-form UGC testing at scale Trend-driven campaign ideation
by Miquel Colomer
Do you want to discover company-related information to enrich a signup process? This workflow enriches any company by name using the uProc Get Company by Name tool. This tool combines Google Maps and emails research on the internet to return results. You get no results if the company has no presence on Google Maps. You need to add your credentials (Email and API Key - real -) located at Integration section to n8n. You can replace node "Create Company Item" with any other supported service returning Company names and countries, like Hubspot, Google Sheets, MySQL, or Typeform. You can set up the uProc node with several parameters: country: the country name you want to use. name: the name of the company you need to locate. Every "uProc" node returns the next fields per every located company: name: Contains the company's given name. email: Contains the company's given email. cif: Contains company's cif number. address: Contains company's formatted address. city: Contains the city location of the company. state: Contains province location of the company. county: Contains state location of the company country: Contains country location of the company zipcode: Contains zipcode code of the company phone: Contains phone number of the company website: Contains website of the company latitude: Contains latitude of the company longitude: Contains longitude of the company Next, you can save results to a CRM or Google Sheets, and prepare returned email or phone to launch an email or telemarketing campaign.
by Automate With Marc
📱 Veo3 Instagram Agent – Create & Auto-Post Reels with Blotato Description: This no-code workflow automates the full pipeline of generating and publishing Instagram Reels using Veo3 (via Wavespeed API). From prompt to post, it handles content ideation, short-form video generation, caption writing, logging, and even automatic publishing to Instagram via Blotato. Perfect for creators, brands, and marketers who want to scale content creation without needing to shoot or edit videos manually. 🔗 Watch the full step-by-step tutorial on how to build this workflow: https://youtu.be/s-KzxeKWmIA?si=6x8WKMeiyWodZWVq Google Sheet Template: https://docs.google.com/spreadsheets/d/1bA-PQTrvekC1Rti-XumGANgjIwLjvcFCqoIxVCYsq2E/edit?usp=sharing 🚀 What This Workflow Does: Trigger via Chat or Telegram Start with a simple message like: "Make a reel for a luxury minimalist candle brand using calm aesthetics." AI Video Prompt Generation Uses OpenAI to craft a visually rich, platform-optimized video description prompt. 🎞️ Video Creation with Veo3 API Submits your prompt to Veo3 to create a short video (9:16 ratio, 8 seconds) with motion, tone, and trend styles. ✍️ Caption Writing An AI agent writes an engaging and playful caption based on the video content. 📄 Google Sheets Logging Stores prompt, video URL, caption, and status in a GSheet to keep track of all generated assets. 📤 Auto-Publish to Instagram Posts the video + caption directly to Instagram using Blotato’s social media publishing API. 🔌 Tools & Integrations Used: OpenAI for prompt & caption generation Wavespeed API (Veo3) for video generation Google Sheets for tracking Blotato for scheduling & publishing content n8n for orchestration and automation logic 💡 Use Cases: Content calendar automation for small teams Trend-based ad creation and testing UGC-style reel generation for e-commerce Rapid ideation & creative experimentation
by Michael Yang
Who is this template for? This workflow is perfect for competitive‑intel analysts, product managers, content marketers, and anyone who tracks multiple company blogs or news sources. If you need a weekly snapshot of fresh, on‑topic articles—without wading through dozens of tabs—this template is for you. What does it do? The workflow reads a curated list of candidate URLs from Google Sheets, filters out duplicates and off‑topic pages with an AI agent, scrapes the surviving links, generates three‑sentence summaries, logs the results back to Sheets, and delivers a polished HTML digest to your inbox every week. Why is it useful? Instead of manually opening competitor links, checking for relevance, copying highlights, and pasting them into reports, this automation does the grunt work for you. It turns scattered URLs into a searchable knowledge base and a ready‑to‑share email, freeing you to focus on insights and strategy—not housekeeping. How does it work? A Sunday‑morning cron trigger kicks things off. The workflow pulls links from the Input Links tab, compares them to the existing Summary tab, and passes fresh candidates to an AI “bouncer” that keeps only blog posts, tutorials, news, and product updates. Firecrawl then scrapes each page; Gemini 2.5‑Flash and OpenAI condense the content into title, author, date, and summary. The structured data is appended to your Summary sheet and formatted into a company‑grouped HTML digest, which lands in your email before the workweek starts. Set up steps Clone the workflow Import the JSON into your n8n Cloud workspace. Create the Google Sheet Make a new spreadsheet with two tabs: Input Links and Summary (names must match). In Input Links, add columns Company, Page Type, and Link (or rename to match the node mapping). Leave Summary blank—the workflow will populate it. Copy the Sheet URL; you’ll paste it into two Google Sheets nodes. Add credentials (n8n ▸ Credentials) Google Sheets OAuth2 – Authorise with the Google account that owns the spreadsheet. Gmail OAuth2 – Authorise the Gmail account that should send the digest. Firecrawl HTTP Header Auth – Set Authorization: Bearer <YOUR_FIRECRAWL_API_KEY>. Point nodes to your Sheet Open each Google Sheets node (Input Links, Read_Url_Summary_Tool, Append row in sheet, Get row(s) in sheet). Paste the Document ID (found in the Sheet URL) and select the correct tab (Input Links or Summary). Update email recipients In the Send a message (Gmail) node, replace the sample addresses with your own distribution list. Adjust scheduling (optional) Double‑click the Schedule Trigger node and change the cron expression if you prefer a different day/time. Tune AI models (optional) OpenAI o4‑mini and Gemini 2.5‑Flash nodes default to cost‑efficient settings. Feel free to switch models or tweak temperature to suit your tone. Test with a single URL Add one row in Input Links, then execute the workflow manually (▶ Run). Verify that a new row appears in Summary and an email lands in your inbox. Go live Activate the workflow (toggle in top bar). Confirm the green status badge and wait for the next scheduled run. Tip: The Firecrawl Free tier limits you to ~10 requests/min. If you scale beyond that, raise the batching interval in both Firecrawl nodes or upgrade your Firecrawl plan.
by ConvertAPI
Who is this for? For developers and organizations that need to convert DOCX files to PDF. What problem is this workflow solving? The file format conversion problem. What this workflow does Downloads the DOCX file from the web. Converts the DOCX file to PDF. Stores the PDF file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Optionally, additional Body Parameters can be added for the converter.
by Catalina Kuo
Overview Do you often forget to record expenses? 你是不是會常常忘記紀錄花費? Let Spending Tracker Bot help you! 讓 Spending Tracker Bot 來幫你! This AI image/text Spending Tracker LINE Bot Workflow allows you to quickly create a customized spending tracker robot without writing a line of code. At any time, you can speak or send a photo, and the AI will parse it and automatically log the expense to your cloud ledger. 這套 AI 圖片文字記帳 LINE Bot Workflow ,讓你不用寫一行程式碼,就能快速打造一個量身訂製的記帳機器人。無論何時,只需要口述或發送一張照片,AI 就會幫你整理好自動計入雲端帳本 Preparation ① Enable the Google Sheets API in GCP and complete the OAuth setup ② Create the Google Sheet and populate the field names (Feel free to modify based on your own needs) ③ Configure the Webhook URL in the LINE Developers Console ④ OpenAI API Key ① 在 GCP 啟用 Google Sheets API,並完成 OAuth ② 建立並填好 Google Sheet 欄名 (按照自己的需求做更動) ③ 於 LINE Developers 控制台設定 Webhook URL ④ OpenAI API Key Node Configurations Webhook Purpose: The URL is used to receive incoming requests from LINE. Configuration: Paste this URL into the Webhook URL field in your LINE Developers Console. 用途: 要接收 Line 的 URL 設定: 將 URL 放到 Line Webhook URL Switch based on Expense Type & Set/Https Purpose: To distinguish whether the incoming message is text or an image. Configuration: Use a Switch node to route the flow accordingly. 用途: 區分 text 或 image 設定: switch 分流 AI Agent Purpose: To extract and organize the required fields. Configuration: Chat Model & Structured Output Parser. 用途: 整理出需要的欄位 設定: Chat Model & Structured Output Parser Create a deduplication field Purpose: To prevent duplicate entries by creating a unique "for_deduplication" field. Configuration: Join multiple field names using hyphens (-) as separators. 用途: 確保不會重複寫入,先創建一個"去重使用"欄位 設定: 用 - 連接多個欄位 Aggregrate & Merge_all Purpose: To prevent duplicate entries in the data table. Configuration: Read the Google sheet, extract the existing "for_deduplication" column into a dedupeList, and compare it against the newly generated "for_deduplication" value from the previous step. 用途: 防止重複寫入資料表 設定:讀取雲端表,將原本的"去重使用欄位"整理成dedupeList,與前一步整理好的"去重使用"欄位做比對 Response Switch Purpose: To route data and send appropriate replies based on the content. Configuration: Use the replyToken to respond after branching logic. Depending on the result, either write to the data table or return a message: ✅ Expense recorded successfully: <for_deduplication> Irrelevant details or images will not be logged. ⚠️ This entry has already been logged and will not be duplicated. 用途: 資料分流,回應訊息 設定:使用 replyToken ,資料分流後,寫入資料表或回應訊息 ✅ 記帳成功 : <去重使用欄位> 不相關明細或圖片,不會計入 ⚠️ 此筆資料已記錄過,不會重複記帳 Step by step teaching notes 【Auto Expense Tracker from LINE Messages with GPT-4 and Google Sheets】 【AI 圖片文字記帳 Line Bot,自動記帳寫入 Google Sheet】
by Evozard
This workflow functions by integrating Shopify customers into Odoo customers. Trigger: Shopify – New Customer Created The workflow starts when a new customer is added in Shopify. Action: Odoo – Search Contact by Email It checks in Odoo to see if a contact already exists with the same email address as the Shopify customer. Condition: Email Match Check If a contact with the same email is found, the workflow ends (no duplicate contact is created). If no match is found, the workflow proceeds to the next step. Action: Odoo – Create New Contact A new contact is created in Odoo using the customer's: Full name Email address Phone number Full Address (whichever is available)