by Jimleuk
This n8n template lets you summarize individual team member activity on MS Teams for the past week and generates a report. For remote teams, chat is a crucial communication tool to ensure work gets done but with so many conversations happening at once and in multiple threads, ideas, information and decisions usually live in the moment and get lost just as quickly - and all together forgotten by the weekend! Using this template, this doesn't have to be the case. Have AI crawl through last week's activity, summarize all messages and replies and generate a casual and snappy report to bring the team back into focus for the current week. A project manager's dream! How it works A scheduled trigger is set to run every Monday at 6am to gather all team channel messages within the last week. Messages are grouped by user. AI analyses the raw messages and replies to pull out interesting observations and highlights. This is referred to as the individual reports. All individual reports are then combined and summarized together into what becomes the team weekly report. This allows understanding of group and similar activities. Finally, the team weekly report is posted back to the channel. The timing is important as it should be the first message of the week and ready for the team to glance over coffee. How to use Ideally works best per project and where most of the comms happens on a single channel. Avoid combining channels and instead duplicate this workflow for more channels. You may need to filter for specific team members if you want specific team updates. Customise the report to suit your organisation, team or the channel. You may prefer to be more formal if clients or external stakeholders are also present. Requirements MS Teams for chat platform OpenAI for LLM Customising this workflow If the teams channel is busy enough already, consider posting the final report to email. Pull in project metrics to include in your report. As extra context, it may be interesting to tie the messages to production performance. Use an AI Agent to query for knowledgebase or tickets relevant to the messages. This may be useful for attaching links or references to add context.
by Chris Carr
Split Test Agent Prompts with Supabase and OpenAI Use Case Oftentimes, it's useful to test different settings for a large language model in production against various metrics. Split testing is a good method for doing this. What it Does This workflow randomly assigns chat sessions to one of two prompts, the baseline and the alternative. The agent will use the same prompt for all interactions in that chat session. How it Works When messages arrive, a table containing information regarding session ID and which prompt to use is checked to see if the chat already exists If it does not, the session ID is added to the table and a prompt is randomly assigned These values are then used to generate a response Setup Create a table in Supabase called split_test_sessions. It needs to have the following columns: session_id (text) and show_alternative (bool) Add your Supabase, OpenAI, and PostgreSQL credentials Modify the Define Path Values node to set the baseline and alternative prompt values. Activate the workflow and test by sending messages through n8n's inbuilt chat Experiment with different chat sessions to test see both prompts in action Next Steps Modify the workflow to test different LLM settings such as temperature Add a method to measure the efficacy of the two alternative prompts
by Dhruv from Saleshandy
This n8n template captures every “Request a Demo” booking in Calendly, uses OpenAI to score and qualify leads in real time, routes them into the correct Saleshandy sequence, and logs all data in Google Sheets for full GTM visibility. Use cases include: Empowering SDR teams to focus on high-value demos Providing growth marketers with reliable funnel metrics Automating triage for B2B AE teams overwhelmed by demo requests Good to know OpenAI GPT-4 calls cost based on token usage—you can expect ~1,200 tokens per lead. Calendly API rate-limits at 180 requests/min; consider batching if volume spikes. Google Sheets writes are single-threaded; high-volume users may opt for Airtable or BigQuery. How it works Capture – Webhook node listens for every new “Request a Demo” form submission in Calendly. Score – AI Agent node sends job title, company size, domain quality, and custom questions to OpenAI; returns a 1–10 score plus label (Qualified/Semi-qualified/Unqualified). Verify meeting – HTTP Request node confirms via the Calendly API that a slot was actually scheduled. Route – Switch node selects the appropriate Saleshandy sequence ID (Qualified, Nurture, Disqualify). Send – HTTP Request nodes add each prospect to the chosen Saleshandy sequence. Log – Google Sheets nodes write to three tabs (Qualified, Semi-qualified, Unqualified) with lead data, score, routing path, and timestamp. Prerequisites n8n workspace Accounts & API credentials for: Calendly OpenAI (GPT-4 or GPT-3.5) Google Sheets Saleshandy Step-by-Step Setup 1. Import the n8n Template Upload the JSON file into your n8n workspace. 2. Add Required Credentials In n8n → Credentials, add: Calendly: Personal Access Token (PAT) OpenAI: API Key Google Sheets: OAuth2 connection Saleshandy: API Key 3. Calendly Setup Go to Calendly Webhook Docs Create a Routing Form in Calendly. Generate your access token. Use Postman or any API client to: Make a POST request to create a webhook subscription. Use your n8n webhook URL in the url field. Add your Authorization token and extract the Organization ID. Paste the webhook URL into the Calendly Routing Form. 4. Set Your Saleshandy Sequences In n8n, locate the Set: Sequence IDs node. Replace the placeholder text with: Your actual Qualified Semi-qualified and Unqualified Saleshandy sequence step IDs. 5. Configure Google Sheets Create a spreadsheet with the following tabs: Qualified Semi-qualified Unqualified In n8n, connect the three Google Sheets nodes to this file. Customising this workflow Adjust scoring logic – Modify the OpenAI prompt in the AI Agent node to weight ARR, industry, or headcount differently. Refine thresholds – Change the Switch node rules for score ranges (e.g., Qualified ≥8, Semi-qualified 5–7). Swap destinations – Edit HTTP Request nodes to integrate with your CRM or email platform instead of Saleshandy. Enhance logging – Replace Google Sheets with Airtable, BigQuery, or another analytics store. Add notifications – Insert Slack or Microsoft Teams nodes after routing to alert reps instantly.
by Alex Huang
Use case Manually monitoring Reddit for viable business ideas is time-consuming and inconsistent. This workflow automatically analyzes trending Reddit discussions using AI to surface high-potential opportunities, filter irrelevant content, and generate actionable insights - saving entrepreneurs 10+ hours weekly in market research. What this workflow does This AI-powered workflow automatically collects trending Reddit discussions, analyzes posts for viable business opportunities using GPT-4, applies smart filters to exclude low-value content, and generates scored opportunity reports with market insights. It identifies unmet customer needs through sentiment analysis, prioritizes high-potential ideas using custom criteria, and outputs structured data to Google Sheets for actionable decision-making. Setup Add Reddit,Google and OpenAI credentials Configure target subreddits in Subreddit node Test workflow by testing workflow Review generated opportunity report in Google Sheets How to adjust this template Change data sources**: Replace Reddit trigger with Twitter/X or Hacker News API Modify criteria**: Adjust scoring thresholds in Opportunity Calculator node Add integrations**: Create automatic Slack alerts for urgent opportunities Generate draft business plans using AI Document Writer
by Zacharia Kimotho
This workflow makes it easier to keep track of the stocks market and get an email with a summary of the daily highlights on what happened, key insights and trends Setup Guide Define the schedule (days, times, intervals). Replace sample stock data with your desired stock list (ticker, name, etc.) in JSON format. Split Out the fields to have a clean list of the stocks to monitor set keyword node Extracts the stock ticker from each item and sets it to the keyword property. Financial times scraper Triggers the Bright Data Datasets API to scrape financial data. Set the node as below Method: POST URL: https://api.brightdata.com/datasets/v3/trigger Query Parameters: dataset_id: Replace with your Bright Data dataset ID. include_errors: true type: discover_new discover_by: keyword Headers: Authorization: Bearer YOUR_BRIGHTDATA_API_KEY Replace with your Bright Data API key. Body: JSON, ={{ $('set keyword').all().map(item => item.json)}} Execute Once: Checked. Get progress node Checks the status of the Bright Data scraping job if complete, or running Setup: URL: https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }} Headers: Authorization: Bearer YOUR_BRIGHTDATA_API_KEY Replace with your Bright Data API key. Get snapshot + data retrieves the scraped data from the Bright Data API. Pass the request as URL: https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }} Query Parameters: format: json Headers: Authorization: Bearer YOUR_BRIGHTDATA_API_KEY Replace with your Bright Data API key. Aggregate. Combines the data from each stock item into a single object Update to sheet and add all items to This sheet. Make a copy before you can map the data create summary node generates a summary of the scraped stock data using the Google Gemini AI model and notifies you via Gmail. Setup: Prompt Type: define Text: Customize the prompt to define the AI's role, input format, tasks, output format (HTML email), and constraints. Google Sheets. Appends the scraped data to a Google Sheet. This should be set to automap so as to adjust to the results found in the request Important Notes: Remember to replace placeholder values (API keys, dataset IDs, email addresses, Google Sheet IDs) with your actual values. Review and customize the AI prompt for the "create summary" node to achieve the desired email summary output. Consider adding error handling for a more robust workflow. Monitor API usage to avoid rate limits.
by Julian Ivanov
How it works This workflow automates the transformation of standard product images into professional product photography featuring human models It uses AI to analyze product images, create tailored photography prompts, and generate high-quality enhanced versions Set up steps You'll need an OpenAI API key and access to gpt-image-1 (verify your organization) Set up a Google Sheets spreadsheet with columns: Image-URL, Prompt, Output Create a Google Drive folder to store the generated images Requirements: OpenAI API access (for image generation and analysis) Google Sheets and Google Drive accounts Basic product images (URLs) as input The spreadsheet must contain a column named "Image-URL" with links to the product images This workflow automatically: Reads product image URLs from your Google Sheet Downloads the images for processing Analyzes each image to understand what product it contains Creates specialized photography prompts ensuring each product is shown with a human model Generates professional product photography using OpenAI's image generation capabilities Uploads results to Google Drive and updates your spreadsheet with links Extra: You can also use the included simple image generation workflow to directly create images via prompt without product image input. This option lets you quickly generate images through the OpenAI API using just text prompts
by Zacharia Kimotho
What it does This workflow scrapes the top 10 pages on SERP and conducts an in-depth analysis of the keyword intent for each ranking keyword, saving the information to a Google Sheet for further analysis. How does this workflow work? We add our keywords and country code to a Google sheet that we need to monitor and research on Run the system Scrape the top 10 pages Analyze the intents of the top 10 and update to a Google sheet Technical Setup Make a copy of this G sheet Add your desired keywords to the Google sheet Map keyword and country code Update the Zone name to match your zone on Bright Data Run the scraper Upon successful scraping, we run an intent classifier to determine the intents for each ranking page and update the G sheet. Setting up the Serp Scraper in Bright Data On Bright Data, go to the Proxies & Scraping tab Under SERP API, create a new zone Give it a suitable name and description. The default is serp_api Add this to your account Add your credentials as a header credential
by Ranjan Dailata
Who this is for? The Brand Content Extract, Summarization & Sentiment Analysis workflow is designed for professionals and teams who need to monitor, understand, and act on public brand perception at scale. It is ideal for: Brand Managers - Looking to track how their brand is portrayed online. Marketing Analysts - Seeking insights from competitor and industry content. PR & Communications Teams - Evaluating media tone and potential reputation risks. Data Scientists & AI Developers - Automating content intelligence pipelines. Growth Hackers - Performing large-scale web listening for campaign optimization. What problem is this workflow solving? Manually tracking and interpreting how your brand is mentioned across blogs, news sites, or product reviews is labor-intensive and unscalable. Traditional scraping tools return raw data but lack insights like summarization, sentiment analysis etc. This workflow addresses: Scalable extraction of brand-related content using Bright Data's infrastructure. Textual data extract for easy decision-making or alerting. Automated summarization of verbose or multi-paragraph articles using Gemini. Sentiment analysis of how a brand is being portrayed. What this workflow does Receives input: A brand URL for the data extraction and analysis. Uses Bright Data's Web Unlocker to extract content from relevant sites. Cleans and preprocesses the scraped content for readability. Sends the content to Google Gemini for: Enriched results including: Cleaned content Summary Sentiment Analysis Sends the response to a target system via Webhook notification Perists the response to disk Setup Sign up at Bright Data. Navigate to Proxies & Scraping and create a new Web Unlocker zone by selecting Web Unlocker API under Scraping Solutions. In n8n, configure the Header Auth account under Credentials (Generic Auth Type: Header Authentication). The Value field should be set with the Bearer XXXXXXXXXXXXXX. The XXXXXXXXXXXXXX should be replaced by the Web Unlocker Token. A Google Gemini API key (or access through Vertex AI or proxy). Update the Set URL and Bright Data Zone for setting the brand content URL and the Bright Data Zone name. Update the Webhook HTTP Request node with the Webhook endpoint of your choice. How to customize this workflow to your needs Update Source** : Update the workflow input to read from Google Sheet or Airbase for dynamically tracking multiple brands or topics. AI Prompt Customization** : Tailor Gemini prompts for: Summary length (brief vs. detailed) Detailed Sentiment with the custom structured data format. Brand-specific tone detection (e.g., trust, excitement, dissatisfaction) Output Destinations**: Configure the output node to send the responses to various platforms, such as Slack, CRM systems, or databases.
by Mujahid Kabae
How it works This workflow scrapes the latest Artificial Intelligence articles from TechCrunch, then processes and classifies the content using OpenAI and LangChain nodes. The final result is saved to Google Sheets and sent as a summary to a Telegram group. Workflow Logic: Trigger: Schedules daily at 6AM Bangkok time. Scraper: Extracts URLs and publish dates from TechCrunch's AI category. Filter: Only continues if the article is from yesterday (to avoid duplication). Content Fetch: Downloads and extracts article body text. AI Agent: Summarizes the article in Thai. Scores it using strict journalism criteria (max 100). Categorizes the news into one of 9 predefined categories. Output: Saves all structured data to Google Sheets. Sends a summary to a Telegram group. Set up steps 🕒 Estimated setup time: 10–15 minutes Connect your credentials: Google Sheets (OAuth2) Telegram OpenAI account (via LangChain model) Update the Telegram chatId and Google Sheets documentId/sheetName values. Deploy and activate the workflow. It runs daily without manual intervention.
by Solomon
Learn how to build an MCP Server and Client in n8n with official nodes. > ⚠ Requires n8n version 1.88.0 or higher. In this example, we use Google Calendar and custom functions as two separate MCP Servers, demonstrating how to integrate both native and custom tools. How it works The AI Agent connects to two MCP Servers. Each MCP Trigger (Server) generates a URL exposing its tools. This URL is used by an MCP Client linked to the AI Agent. Whenever you make changes to the tools, there’s no need to modify the MCP Client. It automatically keeps the AI Agent informed on how to use each tool, even if you change them over time. That’s the power of MCP 🙌 Who is this template for Anyone looking to use MCP with their AI Agents. How to set up Instructions are included within the workflow itself. Check out my other templates 👉 https://n8n.io/creators/solomon/
by Tomas Lubertino
This template monitors a Google Drive folder, converts PDF documents into clean text chunks with Unstructured, generates OpenAI embeddings, and upserts vectors into Pinecone. It’s a practical, production-ready starting point for Retrieval-Augmented Generation (RAG) that you can plug into a chatbot, semantic search, or internal knowledge tools. How it works 1) Google Drive Trigger detects new files in a selected folder and downloads them. 2) The files are sent to Unstructured where they are split into smaller pieces (chunks). 3) The chunks are prepared to be sent to OpenAI where they are converted into vectors (embeddings). 4) The embeddings are recombined with their original data and the payload is prepared for upsert into the Pinecone index. Set up steps 1) In Pinecone, create an index with 1536 dimensions and configure it for text-embedding-3-small. 2) Copy the host url and paste it on the 'Pinecone Upsert' node. It should look something like this: https://{your-index-name}.pinecone.io/vectors/upsert. 3) Add Google Drive, OpenAI and Pinecone credentials in n8n. 4) Point the trigger to your ingest folder (you can use this article for demo). 5) Click the 'Open chat' button and enter the following: Which Git provider do the authors use?
by Nikan Noorafkan
🤖 AI-Powered Content Marketing Research Tool > Transform your content strategy with automated competitor intelligence ⚡ What It Does Never miss a competitor move again. This workflow automatically: 🔍 Monitors competitor content across multiple domains 📊 Tracks trending keywords by region 💬 Extracts audience pain points from Reddit & forums 🤖 Generates AI strategy recommendations via OpenAI 📋 Outputs to Airtable, Notion & Slack for instant action 🎯 Perfect For Growth marketers** tracking competitor strategies Content teams** discovering trending topics SEO specialists** finding keyword opportunities Marketing agencies** managing multiple clients 🛠️ Technical Setup Required APIs & Credentials | Service | Credential Type | Monthly Cost | Purpose | |---------|----------------|--------------|---------| | Ahrefs | Header Auth | $99+ | Backlink & traffic analysis | | SEMrush | Query Auth | $119+ | Keyword research | | BuzzSumo | Header Auth | $199+ | Content performance | | OpenAI | Header Auth | ~$50 | AI recommendations | | Reddit | OAuth2 | Free | Audience insights | | Google Trends | Public API | Free | Trending topics | 📊 Database Schema Airtable Base: content-research-base Table 1: competitor-intelligence timestamp (Date) domain (Single line text) traffic_estimate (Number) backlinks (Number) content_gaps (Long text) publishing_frequency (Single line text) Table 2: keyword-opportunities timestamp (Date) trending_keywords (Long text) top_questions (Long text) content_opportunities (Long text) 🚀 Quick Start Guide Step 1: Import & Configure Import the workflow JSON Update competitor domains in 📋 Configuration Settings Map all API credentials Step 2: Setup Storage Airtable:** Create base with exact schema above Notion:** Create database with properties listed Slack:** Create #content-research-alerts channel Step 3: Test & Deploy First run populates: ✅ Airtable tables with competitor data ✅ Notion database with AI insights ✅ Slack channel with formatted alerts 💡 Example Output AI Recommendations Format { "action_items": [ { "topic": "Copy trading explainer", "format": "Video", "region": "UK", "priority": "High" } ], "publishing_calendar": [ {"week": "W34", "posts": 3} ], "alerts": [ "eToro gained 8 .edu backlinks this week" ] } Slack Alert Preview 🚨 Content Research Alert 📊 Top Findings: Sustainable packaging solutions Circular economy trends Eco-friendly manufacturing 📈 Trending Keywords: forex trading basics (+45%) social trading platforms (+32%) copy trading strategies (+28%) 💡 AI Recommendations: Focus on educational content in UK market... 🔧 Advanced Features ✅ Data Quality Validation Automatic retry** for failed API calls Data validation** before storage Error notifications** via Slack ⚙️ Scalability Options Multi-region support** (US, UK, DE, FR, JP) Batch processing** for large competitor lists Rate limiting** to respect API quotas 🎨 Customization Ready Modular design** - disable unused APIs Industry templates** - forex, ecommerce, SaaS Custom scoring** algorithms 📈 ROI & Performance Cost Analysis Setup time:** ~2 hours Monthly API costs:** $400-500 Time saved:** 15+ hours/week ROI:** 300%+ within first month Success Metrics Competitor insights:** 50+ data points daily Keyword opportunities:** 100+ suggestions/week Content ideas:** 20+ AI-generated topics Trend alerts:** Real-time notifications 🛡️ Troubleshooting Common Issues & Solutions | Symptom | Cause | Fix | |-------------|-----------|---------| | OpenAI timeout | Large data payload | Reduce batch size → Split processing | | Airtable 422 error | Field mismatch | Copy schema exactly | | Reddit 401 | OAuth expired | Re-authorize application | Rate Limiting Best Practices Ahrefs:** Max 1000 requests/day SEMrush:** 3000 requests/day OpenAI:** Monitor token usage 🌟 Why Choose This Template? > "From manual research to automated intelligence in 15 minutes" ✅ Production-ready - No additional coding required ✅ Cost-optimized - Uses free tiers where possible ✅ Scalable - Add competitors with one click ✅ Actionable - AI outputs ready for immediate use ✅ Community-tested - 500+ successful deployments Start your competitive intelligence today 🚀 Built with ❤️ for the n8n community