by Tenkay
This workflow compares two lists of objects (List A and List B) using a user-specified key (e.g. email, id, domain) and returns: Items common to both lists (based on the key) Items only in List A Items only in List B How it works: Accepts a JSON input containing: listA: the first list of items listB: the second list of items key: the field name to use for comparison Performs a field-based comparison using the specified key Returns a structured output: common: items with matching keys (only one version retained) onlyInA: items found only in List A onlyInB: items found only in List B Example Input: { "key": "email", "listA": [ { "email": "alice@example.com", "name": "Alice" }, { "email": "bob@example.com", "name": "Bob" } ], "listB": [ { "email": "bob@example.com", "name": "Bobby" }, { "email": "carol@example.com", "name": "Carol" } ] } Output: common: [ { "email": "bob@example.com", "name": "Bob" } ] onlyInA: [ { "email": "alice@example.com", "name": "Alice" } ] onlyInB: [ { "email": "carol@example.com", "name": "Carol" } ] Use Cases: Deduplicate data between two sources Find overlapping records Identify new or missing entries across systems This workflow is useful for internal data auditing, list reconciliation, transaction reconciliation, or pre-processing sync jobs.
by Obsidi8n
I am submitting this workflow for the Obsidian community to showcase the potential of integrating Obsidian with n8n. While straightforward, it serves as a compelling demonstration of the potential unlocked by integrating Obsidian with n8n. How it works This workflow lets you retrieve specific Airtable data you need in seconds, directly within your Obsidian note, using n8n. By highlighting a question in Obsidian and sending it to a webhook via the Post Webhook Plugin, you can fetch specific data from your Airtable base and instantly insert the response back into your note. The workflow leverages OpenAIโs GPT model to interpret your query, extract relevant data from Airtable, and format the result for seamless integration into your note. Set up steps Install the Post Webhook Plugin: Add this plugin to your Obsidian vault from the plugin store or GitHub. Set up the n8n Webhook: Copy the webhook URL generated in this workflow and insert it into the Post Webhook Plugin's settings in Obsidian. Configure Airtable Access: Link your Airtable account and specify the desired base and table to pull data from. Test the Workflow: Highlight a question in your Obsidian note, use the โSend Selection to Webhookโ command, and verify that data is returned as expected.
by Femi Ad
Google Sheets to MailChimp Auto-Importer Overview This n8n workflow automatically imports contacts from Google Sheets into your MailChimp mailing list. Perfect for businesses collecting leads through Google Forms, event registrations, or maintaining contact lists in spreadsheets. Key Features ๐ Bulk Import: Process entire Google Sheets at once ๐ Smart Name Parsing: Automatically splits full names into first and last names ๐ฑ Phone Number Support: Includes phone numbers as merge fields โก Error Resilience: Continues processing even if individual contacts fail ๐ Import Summary: Generates a summary of processed contacts Prerequisites Before using this workflow, ensure you have: An active n8n instance (self-hosted or cloud) A Google account with access to Google Sheets A MailChimp account with at least one audience/list created Basic understanding of n8n workflows Initial Setup Step 1: Import the Workflow Copy the workflow JSON In n8n, click "Import from File" or paste the JSON Save the workflow with a meaningful name Step 2: Configure Google Sheets Connection Click on the "Get Google Sheet Data" node Click on "Credential to connect with" Select "Create New" and choose "Google Sheets OAuth2" Follow the OAuth flow to authenticate your Google account Save the credentials Step 3: Configure MailChimp Connection Click on the "Add to MailChimp" node Click on "Credential to connect with" Select "Create New" and choose "MailChimp OAuth2" or "MailChimp API" For API method: Log into MailChimp Go to Account โ Extras โ API keys Generate a new API key Copy and paste it into n8n Save the credentials Step 4: Configure Your Specific Settings Google Sheets Settings: Open the "Get Google Sheet Data" node Replace YOUR_GOOGLE_SHEET_ID with your actual sheet ID Find this in your Google Sheets URL: https://docs.google.com/spreadsheets/d/[SHEET_ID]/edit Replace YOUR_SHEET_NAME with your worksheet name (e.g., "Sheet1" or "Form Responses 1") MailChimp Settings: Open the "Add to MailChimp" node Replace YOUR_MAILCHIMP_LIST_ID with your audience ID Find this in MailChimp: Audience โ Settings โ Audience name and defaults Verify the status is set to "subscribed" Google Sheets Format Requirements Your Google Sheet must have the following columns (exact names): Names**: Full name of the contact (e.g., "John Doe") Email address**: Valid email address Phone Number**: Contact phone number (optional) Example: | Names | Email address | Phone Number | |-------|--------------|--------------| | John Doe | john@example.com | +1234567890 | | Jane Smith | jane@example.com | +0987654321 | How to Use Manual Execution: Open the workflow in n8n Click "Execute Workflow" Monitor the execution progress Check the output of "Create Import Summary" for results Scheduling (Optional): To run this automatically: Replace the "Manual Trigger" node with a "Schedule Trigger" node Set your desired schedule (e.g., daily at 9 AM) Activate the workflow Customization Options Adding More Fields: To include additional fields like company name or address: Add columns to your Google Sheet Modify the "Edit Fields" node to include new fields Update the "Format Subscriber Data" code to map new fields Add corresponding merge fields in the MailChimp node Handling Duplicates: The workflow uses "continueRegularOutput" error handling, which means: Existing subscribers will be skipped New subscribers will be added The workflow continues processing Adding Email Notifications: To receive import summaries via email: Add a Gmail or Email node after "Create Import Summary" Configure with your email settings Use the import summary data in the email body Troubleshooting Common Issues: "Invalid API Key" (MailChimp) Verify your API key is correct Check that your MailChimp account is active "Sheet not found" (Google Sheets) Verify the sheet ID is correct Ensure the service account has access to the sheet "Email already exists" errors This is normal for existing subscribers The workflow will continue processing other contacts Missing data in MailChimp Check that column names match exactly (case-sensitive) Verify data exists in the Google Sheet Best Practices Test First: Always test with a small dataset first Backup Data: Export your MailChimp list before large imports Clean Data: Ensure email addresses are valid before importing Monitor Regularly: Check import summaries for any issues Respect Privacy: Only import contacts who have consented to receive emails Support For issues specific to: n8n platform: Visit n8n Community Forum Google Sheets API: Check Google Developers Documentation MailChimp API: See MailChimp API Documentation Need help customizing? Contact me for consulting and support or add me on LinkedIn - https://www.linkedin.com/in/femi-adedayo-h44/ License This workflow template is provided free for personal and commercial use. Feel free to modify and share!
by John Alejandro SIlva
๐ค๐ฅ Telegram Nutrition AI Assistant (Alternative to Cal AI App) > AI-powered nutrition assistant for Telegram โ log meals, set goals, and get personalized daily reports with Google Sheets integration. ๐ Description This n8n template creates a Telegram-based Nutrition AI Assistant ๐ฅ๐ฅ designed as an open-source alternative to the Cal AI mobile app. It allows users to interact with an AI agent via text, voice, or images to track meals, calculate macros, and monitor nutrition goals directly from Telegram. The system integrates Google Sheets as the database, handling both user profiles and meal logs, while leveraging Gemini AI for natural conversation, food recognition, and daily progress reports. โจ Key Features ๐ฌ Multi-input support: Text, voice messages (transcribed), and food images (AI analysis). ๐ Macro calculation: Automatic estimation of calories, proteins, carbs, and fats. ๐ User-friendly registration: Simple onboarding without storing personal health data (no weight/height required). ๐ฏ Goal tracking: Users can set and update calorie and protein targets. ๐ Daily reports: Personalized progress messages with visual progress bars. ๐ Google Sheets integration: Profile table for user targets. Meals table for food logs. ๐ Advanced n8n nodes: Includes use of Merge, Subworkflow, and Code nodes for data processing and report generation. ๐ก Acknowledgment Inspired by the Cal AI concept ๐ก โ this template demonstrates how to reproduce its main functionality with n8n, Telegram, and AI agents as a flexible, open-source automation workflow. ๐ท Tags telegram ai-assistant nutrition meal-tracking google-sheets food-logging voice-transcription image-analysis daily-reports n8n-template merge-node subworkflow-node code-node telegram-trigger google-gemini ๐ผ Use Case Use this template if you want to: ๐ฅ Log meals using text, images, or voice messages. ๐ Track nutrition goals (calories, proteins) with daily progress updates. ๐ค Provide a chat-based nutrition assistant without building a full app. ๐ Store structured nutrition data in Google Sheets for easy access and analysis. ๐ฌ Example User Interactions ๐ธ User sends a photo of a meal โ AI analyzes the food and logs calories/macros. ๐ค User sends a voice message โ AI transcribes and logs the meal. โจ๏ธ User types โreportโ โ AI returns a daily nutrition summary with progress bars. ๐ฅ User says โupdate my protein goalโ โ AI updates profile in Google Sheets. ๐ Required Credentials Telegram Bot API (Bot Token) Google Sheets API credentials AI Provider API (Google Gemini or compatible LLM) โ๏ธ Setup Instructions ๐ Create two Google Sheets tables: Profile: User_ID, Name, Calories_target, Protein_target Meals: User_ID, Date, Meal_description, Calories, Proteins, Carbs, Fats ๐ Configure the Telegram Trigger with your bot token. ๐ค Connect your AI provider credentials (Gemini recommended). ๐ Connect Google Sheets with your credentials. โถ๏ธ Deploy the workflow in n8n. ๐ฏ Start interacting with your nutrition assistant via Telegram. ๐ Extra Notes ๐ฉ Green section: Handles Telegram trigger and user check. ๐ฅ Red section: Registers new users and sets goals. ๐ฆ Blue section: Processes text, voice, and images. ๐จ Yellow section: Generates nutrition reports. ๐ช Purple section: Main AI agent controlling tools and logic. ๐ก Need Assistance? If youโd like help customizing or extending this workflow, feel free to reach out: ๐ง Email: johnsilva11031@gmail.com ๐ LinkedIn: John Alejandro Silva Rodrรญguez
by Satish
This n8n template demonstrates automating an appointment letter creation process using a template and then having the HR approve before emailing the appointment letter to the candidate. How it works Create an appointment letter template. e.g "Appointment Letter.doc" on Google Drive Form Submission node - Create a form trigger with the required fields that need to be capture as part of the appointment letter. Eg. Candidate Name, Position offered, Salary, Date of Joining, Candidate email, etc. Google Drive Copy node - Once the form is filled, it creates a candidate copy of the appointment letter by appending the candidate name to appointment letter. e.g. "Appointment Letter - <candidate name>.doc". This will be stored on the Google Drive Google Doc Update node - Fill the placeholders in the appointment letter with the candidate specific details such as Candidate Name, Position offered, Salary, Date of Joining, etc. Google Drive Download node - Create a PDF version of the candidate's appointment letter. e.g. "Appointment Letter - <Candidate Name>.pdf" and download it to Google Drive Google Drive Upload node - Upload the PDF to Google Drive Gmail Send Message node - Send an email to the HR requesting to review the candidate's appointment letter and 'Approve' or 'Reject' the appointment letter. This is the Human-In-The-Loop step If Node (for routing) - will return "true" if HR approves and "false" if HR rejects If HR approves, go to Step 9 and Step 10 Google Drive Download node - Get the PDF file Gmail Send Message node - Send an email to the candidate with the appointment letter (PDF) as the attachment How to use The Form trigger node is used as an example but feel free to replace this with other triggers such as Google Sheet Create an Appointment Letter Google document with the follwing fields - Date, Candidate Name, Position Name, Fixed CTC, Joining Date and To be signed by Date. See sample letter format below: <Appointment Letter.doc> (Google Document) Appointment Letter [Date] Dear [Candidate Name], Congratulations! We are pleased to offer you the [Position Name] at ABC Company. Fixed CTC - [Fixed CTC] Joining Date - [Joining Date] Requirements Google drive for upload and downloading the file Gmail for sending emails Sign the letter by - [To be signed by Date] Signature
by Agentick AI
This n8n workflow automatically scrapes the latest posts from a specified Reddit subreddit every day at 9 AM and sends a neatly formatted HTML email summary to your inbox. It highlights new community posts, including post details like title, author, flair, upvotes, comments, and a brief preview โ making it ideal for content curators, community managers, or Reddit enthusiasts who want daily updates. How It Works Trigger: The schedule node runs the workflow once every 24 hours at 9:00 AM. Reddit Scrape: A request is made to the desired subreddit (defined in the HTTP Request node) to pull post data. Filter & Format: JavaScript code filters posts created in the last 24 hours and transforms the data into structured summaries. Email Composition: A dynamic HTML email is generated summarizing the post details. If no new posts are found, a fallback message is displayed. Email Delivery: Gmail node sends the email with subject, content, and timestamp. Use Cases โ Stay informed about the latest subreddit activity. โ Automate daily newsletters for Reddit topics. โ Monitor niche communities for engagement trends. Requirements Reddit subreddit link (set in the HTTP Request node). Gmail account with OAuth2 credentials set up in n8n. User-Agent string customized for your Reddit scraping. Adjust schedule as per your preferred timezone. Google Sheet Setup (Not required for this workflow) No sheet integration is involved here. Customizing the Workflow You can personalize this workflow by: Replacing the User-Agent value with a meaningful identifier to avoid Reddit rate-limiting. Updating the subreddit URL in the HTTP Request node. Changing the Gmail recipient address in the Send Gmail node. Tweaking the HTML email styling in the Prepare Email Content node. Adjusting schedule time/frequency in the Trigger node.
by Yang
Who is this for? This workflow is perfect for operations teams, accountants, e-commerce businesses, or finance managers who regularly process digital invoices and need to automate data extraction and record-keeping. What problem is this workflow solving? Manually reading invoice PDFs, extracting relevant data, and entering it into spreadsheets is time-consuming and error-prone. This workflow automates that processโwatching a Google Drive folder, extracting structured invoice data using Dumpling AI, and saving the results into Google Sheets. What this workflow does Watches a specific Google Drive folder for new invoices. Downloads the uploaded invoice file. Converts the file into a Base64 format. Sends the file to Dumpling AIโs extract-document endpoint with a detailed parsing prompt. Parses Dumpling AIโs JSON response using a Code node. Splits the items array into individual rows using the Split Out node. Appends each invoice item to a preformatted Google Sheet along with the full header metadata (order number, PO, addresses, etc.). Setup Google Drive Setup Create or select a folder in Google Drive and place the folder ID in the trigger node. Make sure your n8n Google Drive credentials are authorized for access. Google Sheets Create a Google Sheet with the following headers: Order number, Document Date, Po_number, Sold to name, Sold to address, Ship to name, Ship to address, Model, Description, Quantity, Unity price, Total price Paste the Sheet ID and sheet name (Sheet1) into the Google Sheets node. Dumpling AI Sign up at Dumpling AI Go to your account settings and generate your API key. Paste this key into the HTTP header of the Dumpling AI request node. The endpoint used is: https://app.dumplingai.com/api/v1/extract-document Prompt (already included) This prompt extracts: order number, document date, PO number, shipping/billing details, and detailed line items (model, quantity, unit price, total). How to customize this workflow to your needs Adjust the Google Sheet fields to fit your invoice structure. Modify the Dumpling AI prompt if your invoices have additional or different data points. Add filtering logic if you want to handle different invoice types differently. Replace Google Sheets with Airtable or a database if preferred. Use a different trigger like an email attachment if invoices come via email.
by Mohammadreza azari
Overview This workflow is designed for eCommerce store owners and marketing teams who use WooCommerce. It helps segment customers based on their purchasing behavior using the RFM (Recency, Frequency, Monetary) model. By identifying high-value customers, new buyers, and at-risk segments, you can tailor your marketing strategies and improve customer retention. How It Works Trigger: The workflow can be started manually or on a scheduled basis (e.g., weekly). Retrieve Orders: It fetches completed orders from your WooCommerce store from the past year. RFM Analysis: It groups orders by customer and calculates their RFM scores. Customer Segmentation: Based on RFM scores, customers are categorized into marketing segments (e.g., Champions, At Risk, Lost). Summary Report: Generates a styled HTML report with a table summarizing customer segments and suggested marketing actions. Setup Instructions Connect WooCommerce: Go to the WooCommerce node. Add or select your WooCommerce API credentials. You need the Base URL, Consumer Key, and Consumer Secret. Ensure API access is enabled in your WooCommerce settings. Customize Segmentation (Optional): In the "Calculate RFM Scores" code node, you can adjust the logic that assigns segment labels based on score combinations. You can also update the marketing suggestions in the second "Code" node. Run the Workflow: Use the "Manual Start" node for testing. Enable the "Weekly Trigger" node to automate execution. View Report: The final HTML node outputs a complete styled report. You can send this via email or integrate it with other services. Requirements WooCommerce store with API access enabled. Valid API credentials (Base URL, Consumer Key, Consumer Secret). n8n instance with access to the internet.
by Tausif
Guidebook: How the Website ChatBot Template Works Chapter 1: Introduction & Objectives This guidebook provides a comprehensive walkthrough of the Website ChatBot developed using n8n and OpenAI. The chatbot is designed to qualify real estate leads and encourage site visits for the Alcove New Kolkata Sangam project through personalized, intelligent conversations. Chapter 2: Tools Required 1. n8n Workflow Automation Tool An open-source workflow builder to automate data flows between services. 2. OpenAI Account with GPT-4o-mini Access For generating AI-based chatbot responses. 3. Web Chat Widget Frontend integration that sends messages via webhook to the chatbot. Chapter 3: Workflow Breakdown Step 1: Webhook Receives POST requests from the chat widget. Endpoint: /webhook/chatbot-webhook Step 2: Set User Message Extracts message from the JSON body. Stores it as user_message. Step 3: Memory Setup Uses session ID to track conversation across messages. Step 4: OpenAI Chat Model GPT-4o-mini processes queries using the defined agent prompt. Step 5: AI Agent (Khusboo) Persona of a pre-sales agent. Uses AIDA + BANT + SPIN + PAS frameworks. Shares videos, responds in Hinglish, schedules site visits. Step 6: Respond to Webhook Formats the chatbot's reply into a JSON response. Chapter 4: Strategy & Psychology Behind Responses | Framework | Purpose | | --------- | ---------------------------------------------------- | | AIDA | Capture attention, interest, desire, action | | BANT | Qualify Budget, Authority, Need, Timing | | SPIN | Understand user's Situation, Problems, Implications | | PAS | Tackle objections using Problem, Agitation, Solution | The chatbot aims to qualify leads and gently move them toward booking a site visit without pushing or over-informing. Chapter 5: Setup Instructions A. n8n Workflow Setup Import the JSON workflow. Ensure OpenAI credentials are set up. Enable webhook at /webhook/chatbot-webhook. B. Frontend Widget Integration Send message as POST to the webhook with structure: { "message": "Looking for 2 BHK", "session_id": "user123" } Chapter 6: Testing & Troubleshooting Test via Postman Send sample request to verify AI response. Common Issues | Issue | Fix | | ---------------- | ----------------------------------- | | No response | Check webhook URL or credentials | | Repeated replies | Ensure memory node is active | | Wrong language | Check system message language rules | Chapter 7: Sample Conversations User: Hi, Iโm looking for a home near the Ganga. Bot: Namaste! Main Khusboo hoon, Alcove New Kolkata Sangam se. Aapka naam kya hai? User: Rajat. Bot: Great Rajat! Kya aap apne family ke saath shift hone ka plan kar rahe ho? ... (continues using frameworks) Chapter 8: FAQs & Maintenance Tips Q: Can I update the AI agent persona? A: Yes, by modifying the system message inside the AI Agent node. Q: How do I share new videos or links? A: Add them in the sharingVideos or UserRequests section in the system message. Q: How to scale this for multiple projects? A: Duplicate the workflow and update the aboutProject and links accordingly. End of Guidebook.
by Yaron Been
Workflow Overview This cutting-edge n8n automation is a sophisticated market research and intelligence gathering tool designed to transform web content discovery into actionable insights. By intelligently combining web crawling, AI-powered filtering, and smart summarization, this workflow: Discovers Relevant Content: Automatically crawls target websites Identifies trending topics Extracts comprehensive article details Intelligent Content Filtering: Applies custom keyword matching Filters for most relevant articles Ensures high-quality information capture AI-Powered Summarization: Generates concise, meaningful summaries Extracts key insights Provides quick, digestible information Seamless Delivery: Sends summaries directly to Slack Enables instant team communication Facilitates rapid information sharing Key Benefits ๐ค Full Automation: Continuous market intelligence ๐ก Smart Filtering: Precision content discovery ๐ AI-Powered Insights: Intelligent summarization ๐ Instant Delivery: Real-time team updates Workflow Architecture ๐น Stage 1: Content Discovery Scheduled Trigger**: Daily market research FireCrawl Integration**: Web content crawling Comprehensive Site Scanning**: Extracts article metadata Captures full article content Identifies key information sources ๐น Stage 2: Intelligent Filtering Keyword-Based Matching** Relevance Assessment** Custom Domain Optimization**: AI and technology focus Startup and innovation tracking ๐น Stage 3: AI Summarization OpenAI GPT Integration** Contextual Understanding** Concise Insight Generation**: 3-point summary format Captures essential information ๐น Stage 4: Team Notification Slack Integration** Instant Information Sharing** Formatted Insight Delivery** Potential Use Cases Market Research Teams**: Trend tracking Innovation Departments**: Technology monitoring Startup Ecosystems**: Competitive intelligence Product Management**: Industry insights Strategic Planning**: Rapid information gathering Setup Requirements FireCrawl API Web crawling credentials Configured crawling parameters OpenAI API GPT model access Summarization configuration API key management Slack Workspace Channel for insights delivery Appropriate app permissions Webhook configuration n8n Installation Cloud or self-hosted instance Workflow configuration API credential management Future Enhancement Suggestions ๐ค Multi-source crawling ๐ Advanced sentiment analysis ๐ Customizable alert mechanisms ๐ Expanded topic tracking ๐ง Machine learning refinement Technical Considerations Implement robust error handling Use exponential backoff for API calls Maintain flexible crawling strategies Ensure compliance with website terms of service Ethical Guidelines Respect content creator rights Use data for legitimate research Maintain transparent information gathering Provide proper attribution Workflow Visualization [Daily Trigger] โฌ๏ธ [Web Crawling] โฌ๏ธ [Content Filtering] โฌ๏ธ [AI Summarization] โฌ๏ธ [Slack Delivery] Connect With Me Ready to revolutionize your market research? ๐ง Email: Yaron@nofluff.online ๐ฅ YouTube: @YaronBeen ๐ผ LinkedIn: Yaron Been Transform your information gathering with intelligent, automated workflows! #AIResearch #MarketIntelligence #AutomatedInsights #TechTrends #WebCrawling #AIMarketing #InnovationTracking #BusinessIntelligence #DataAutomation #TechNews
by Agent Studio
This workflow is a experiment to build HTML pages from a user input using the new Structured Output from OpenAI. How it works: Users add what they want to build as a query parameter The OpenAI node generate an interface following a structured output defined in the body The JSON output is then converted to HTML along with a title The HTML is encapsulated in an HTML node (where the Tailwind css script is added) The HTML is rendered to the user via the Webhook response. Set up steps Create an OpenAI API Key Create the OpenAI credentials Use the credentials for both nodes HTTP Request (as Predefined Credential type) and OpenAI Activate your workflow Once active, go to the production URL and add what you'd like to build as the parameter "query" Example: https://production_url.com?query=a%20signup%20form Example of generated page
by Parnain
What This Workflow Does: This n8n workflow automatically generates an AI-powered summary and relevant tags whenever a new row is added to your Notion database. Simply save any URL to your Notion database using the [Notion Web Clipper] Chrome extension or [Save to Notion]โon both desktop and mobile. This keeps all your saved content organized in one place instead of scattered across different platforms. How it works: The workflow is triggered when a new row is added to your Notion database (it checks for updates every minute). It retrieves the content from the saved URL. An AI agent analyzes the content to generate a summary and relevant tags. The AI output is then formatted properly. Finally, the formatted summary and tags are saved into the appropriate columns in your Notion database. Notes: Make sure your Notion database includes the following columns: URL โ Stores the content URL you want to summarize. AI Summary โ Where the AI-generated summary will be added. Tags โ Where the AI-generated tags will be saved.