Automate competitor research with Exa.ai, Notion and AI agents
This n8n workflow demonstrates a simple multi-agent setup to perform the task of competitor research. It showcases how using the HTTP request tool could reduce the number of nodes needed to achieve a workflow like this. How it works For this template, a source company is defined by the user which is sent to Exa.ai to find competitors. Each competitor is then funnelled through 3 AI agents that will go out onto the internet and retrieve specific datapoints about the competitor; company overview, product offering and customer reviews. Once the agents are finished, the results are compiled into a report which is then inserted in a notion database. Check out an example output here: https://jimleuk.notion.site/2d1c3c726e8e42f3aecec6338fd24333?v=de020fa196f34cdeb676daaeae44e110&pvs=4 Requirements An OpenAI account for the LLM. Exa.ai account for access to their AI search engine. SerpAPI account for Google search. Firecrawl.dev account for webscraping. Notion.com account for database to save final reports. Customising the workflow Add additional agents to gather more datapoints such as SEO keywords and metrics. Not using notion? Feel free to swap this out for your own database.
Generate SEO seed keywords using AI
What this workflow does: This flow uses an AI node to generate Seed Keywords to focus SEO efforts on based on your ideal customer profile. You can use these keywords to form part of your SEO strategy. Outputs: List of 20 Seed Keywords Setup Fill the Set Ideal Customer Profile (ICP) Connect with your credentials Replace the Connect to your own database with your own database Pre-requisites / Dependencies You know your ideal customer profile (ICP) An AI API account (either OpenAI or Anthropic recommended) More templates and n8n workflows >>> @simonscrapes
⚡📽️ Ultimate AI-powered chatbot for YouTube summarization & analysis
🎥 YouTube Video AI Agent Workflow This n8n workflow template allows you to interact with an AI agent that extracts details and the transcript of a YouTube video using a provided video ID. Once the details and transcript are retrieved, you can chat with the AI agent to explore or analyze the video's content in a conversational and insightful manner. 🌟 How the Workflow Works 🔗 Input Video ID: The user provides a YouTube video ID as input to the workflow. 📄 Data Retrieval: The workflow fetches essential details about the video (e.g., title, description, upload date) and retrieves its transcript using YouTube's Data API and additional tools for transcript extraction. 🤖 AI Agent Interaction: The extracted details and transcript are processed by an AI-powered agent. Users can then ask questions or engage in a conversation with the agent about the video's content, such as: Summarizing the transcript. Analyzing key points. Clarifying specific sections. 💬 Dynamic Responses: The AI agent uses natural language processing (NLP) to generate contextual and accurate responses based on the video data, ensuring a smooth and intuitive interaction. --- 🚀 Use Cases 📊 Content Analysis: Quickly analyze long YouTube videos by querying specific sections or extracting summaries. 📚 Research and Learning: Gain insights from educational videos or tutorials without watching them entirely. ✍️ Content Creation: Repurpose transcripts into blogs, social media posts, or other formats efficiently. ♿ Accessibility: Provide an alternative, text-based way to interact with video content for users who prefer reading over watching. --- 🛠️ Resources for Getting Started Google Cloud Console (for API setup): Visit Google Cloud's Get Started Guide to configure your API access. YouTube Data API Key Setup: Follow this guide to create and manage your YouTube Data API key. Install n8n Locally: Refer to this installation guide for setting up n8n on your local machine. --- ✨ Sample Prompts "Tell me about this YouTube video with id: JWfNLF_g_V0" "Can you provide a list of key takeaways from this video with id: [youtube-video-id]?"
Get weather forecast via Telegram
A workflow to receive weather updates on demand using a Telegram bot. The workflow is triggered using the Telegram Trigger node by issuing a message to the Telegram bot. The OpenWeatherMap node queries the weather API and returns the result using the Telegram node.
Send an email
Companion workflow for Send Email node docs
Split test different agent prompts with Supabase and OpenAI
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 splittestsessions. It needs to have the following columns: sessionid (text) and showalternative (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
Organize Email Attachments from Gmail to Structured Google Drive Folders
Automated Binary Data Extraction from Gmail to Google Drive Folder This workflow is designed to automate the process of handling emails with binary attachments. It triggers when a new email arrives in a specified Gmail account (or can be configured with a similar email trigger) and is set to download any binary attachments. The workflow then filters the email to confirm it contains binary data (attachments). If attachments are present, it proceeds to retrieve the full email details, including all binary data. A crucial step is the creation of a new Google Drive folder. This folder is dynamically named using the email's subject and the current timestamp, for example, "[Email Subject] - [Current Timestamp]". Following this, the workflow separates each individual attachment from the email. Finally, these attachments are uploaded into the newly created Google Drive folder, with their original filenames preserved. The overall purpose of this workflow is to automatically organize and store email attachments into a structured Google Drive folder system. This workflow is compatible with any type of binary data found in an email, as the filter is designed to detect any binary data, not just PDFs. How It Works Trigger: The workflow initiates when a new email arrives in a specified Gmail account. Alternatively, it can be configured with a similar email trigger. Download Attachments: The workflow is set to automatically download any binary attachments from the incoming email. Filter Attachments: The workflow then filters the email to confirm it contains binary data (attachments). Retrieve Full Email Details: If attachments are present, the workflow proceeds to retrieve the complete details of the email, including all binary data. Create Google Drive Folder: A new folder is created in Google Drive. This folder is dynamically named using the email's subject and the current timestamp (e.g., "[Email Subject] - [Current Timestamp]"). Split Out Attachments: Each individual binary attachment from the email is separated into its own item within the workflow. Upload to Google Drive: Finally, these separated attachments are uploaded into the newly created Google Drive folder, retaining their original filenames. Need Help? Have Questions? For consulting and support, or if you have questions, please feel free to connect with me on LinkedIn or email michael.gullo@outlook.com.
Website monitoring, scheduling, and email alerts template
🛠 Website Downtime Monitoring with Scheduled Checks and Email Alerts Easily monitor your website uptime and receive instant email alerts when it becomes unreachable — using this no-code template powered by n8n, a free and flexible workflow automation tool. This ready-to-use workflow periodically checks your website’s status and sends an alert email if it’s down. --- ⚙️ How it Works Schedule Website Check Triggers the workflow at regular intervals (e.g., every 8 hours by default). Check Website Status Sends an HTTP GET request to your site. Evaluate Response Determines if the site is reachable (expects HTTP status 200). Send Downtime Alert If the site is down, an alert email is sent to the specified address. --- 🔧 Steps to Customize HTTP Request Node Replace https://yourdomain.com with your actual website URL. Send Email Node Update the To Email and From Email fields with your addresses. Adjust Monitoring Frequency Modify the Schedule Trigger node to run every 5 minutes, hourly, or as needed. --- ✅ SMTP Configuration Instructions Before emails can be sent, you need to configure SMTP credentials in n8n. 📨 Option 1: Gmail SMTP Setup > Note: Gmail requires App Passwords (not your regular Gmail password) and 2FA to be enabled. Steps: Go to Google Account Security Settings. Enable 2-Step Verification. Go to App Passwords. Create a new app password (choose Mail and Other, name it n8n). In n8n: Go to Credentials → Create New → SMTP. Use the following values: Host: smtp.gmail.com Port: 465 (SSL) or 587 (TLS) User: your Gmail address (e.g., you@gmail.com) Password: the App Password you generated ✉️ Option 2: Generic SMTP Setup Use this if you're using your hosting provider's or business email SMTP server. Example Values: Host: smtp.yourdomain.com or provider-specific (e.g., smtp.sendgrid.net) Port: 587 (TLS) or 465 (SSL) User: your email address (e.g., alerts@yourdomain.com) Password: your email/SMTP password Secure: Yes (if using 465 or TLS-enabled 587) Then in the workflow's Send Email node, select the SMTP credentials you created. --- 📌 Requirements A running instance of n8n (self-hosted or n8n.cloud) SMTP credentials configured in n8n for email delivery Basic familiarity with the n8n visual editor --- 🧠 Pro Tips Rename Nodes: Use clear, descriptive names for maintainability. Sticky Notes: Use stickies on the canvas to help explain logic for others. Expand Alerts: Integrate with Slack, Discord, or Telegram for multi-channel alerts.
Download Instagram & Facebook Videos/Reels with Telegram Bot
Instagram & Facebook Video/Reels Downloader Bot (Telegram bot) Once set up, simply send any Instagram Reel or Facebook video link to your Telegram bot, and it will automatically: Check if the shared link is valid. Detect whether it’s an Instagram or Facebook link. Fetch the video using API and scraping methods. Download the video directly from the source. Send the downloaded video (or a message if it’s invalid) right back to your Telegram chat — instantly! --- How It Works (Node Flow) Telegram Trigger: Listens for new messages (video/reel links) from users. Regex Node: Extracts and validates the Instagram/Facebook link format. Conditional Node (If): Determines whether the link is for Facebook or Instagram. Link Validation Node: Ensures the provided link is valid and reachable. Instagram Node: Fetches video metadata via API. Decodes and downloads the Reel. Sends the downloaded video and confirmation message via Telegram. Facebook Node: Uses scraping/API to get the video source. Generates the downloadable link. Downloads and sends the Facebook video back to Telegram. Error Handling Node: Sends a custom error message if the link is invalid. --- Features ✅ Works with both Instagram and Facebook links ✅ Automatically detects the platform and processes accordingly ✅ Delivers the downloaded video directly to your Telegram chat ✅ Handles invalid or broken links gracefully ✅ Clean and modular structure — easy to extend or customize --- Use Case Perfect for social media managers, content creators, and automation enthusiasts who want a simple Telegram bot to fetch and download Reels or videos without using third-party apps or websites.
Obsidian notes read aloud using AI: available as a podcast feed
How it works: Send notes from Obsidian via Webhook to start the audio conversion OpenAI converts your text to natural-sounding audio and generates episode descriptions Audio files are stored in Cloudinary and automatically attached to your notes in Obsidian A professional podcast feed is generated, compatible with all major podcast platforms (Apple, Spotify, Google) Set up steps: Install and configure the Post Webhook Plugin in Obsidian Set up Custom Auth credentials in n8n for Cloudinary using the following JSON: json { "name": "Cloudinary API", "type": "httpHeaderAuth", "authParameter": { "type": "header", "key": "Authorization", "value": "Basic {{Buffer.from('yourapikey:yourapisecret').toString('base64')}}" } } Configure podcast feed metadata (title, author, cover image, etc.) Note: The second flow is a generic Podcast Feed module that can be reused in any '[...]-to-Podcast' workflow. It generates a standard RSS feed from Google Sheets data and podcast metadata, making it compatible with all major podcast platforms.
Transcribe & summarize audio with Whisper and GPT, from Google Drive to Notion
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Overview This workflow automates the process of transcribing audio files and summarizing them using OpenAI models, with the final output stored neatly in Notion. Whether you're a researcher, content creator, student, or professional, this automation saves time by converting voice recordings into actionable summaries with zero manual effort. Created by: Abdullah Dilshad Contact: iamabdullahdilshad@gmail.com Who It’s For This template is ideal for: Researchers: Transcribe and summarize interviews, lectures, or research recordings. Content Creators: Convert podcasts or videos into transcripts and social captions/show notes. Students: Automatically turn lectures or study group audio into summarized notes. Professionals: Log meeting notes and summaries directly into your Notion workspace. How It Works This four-step workflow performs the following: Step 1: Trigger: New Audio in Google Drive Automatically triggers when a new audio file (MP3/WAV) is uploaded to a specified Google Drive folder.The file is then downloaded for processing. Step 2: Transcribe Audio with Whisper The audio file is sent to OpenAI’s Whisper model for high-accuracy transcription. Step 3: Summarize Transcript with GPT-4 The transcript is passed to GPT-4, which generates a clean, concise summary. Step 4: Store Summary in Notion A new Notion page is created with the generated summary and optional metadata (file name, upload time, etc.). Setup Instructions Step 1: Google Drive Trigger Connect your Google Drive account. Select the folder you want to monitor. This node detects new file uploads and passes the file for download. Step 2: Download File Downloads the new audio file for transcription. Step 3: Transcribe Recording (OpenAI Whisper) Connect your OpenAI API Key. Ensure this node receives the binary audio file. It will return the transcription as plain text. Step 3: Transcribe Recording (OpenAI Whisper) Connect your OpenAI API Key. Ensure this node receives the binary audio file. It will return the transcription as plain text. Step 4: Summarize Transcript (GPT-4 via AI Agent) Use your OpenAI API Key. Configure a summarization prompt like: "Summarize the following transcript in a clear and concise manner:" Connect the output from Whisper into this GPT-4 prompt. Step 5: Notion Integration Connect your Notion account. Choose or create a database to store summaries. Map the GPT output (summary) to a "Text" or "Rich Text" property. Optionally include metadata like filename, file upload date, etc.
Enrich and manage candidates data in Notion
This workflow allows you to add candidates’ profile assessments to Notion before an interview. Prerequisites Add an input field on your Calendly Invite page where the candidate can enter their LinkedIn URL. Create credentials for your Calendly account. Follow the steps mentioned in the documentation to learn how to do that. Create credentials for Humantic AI following the steps mentioned here. Create a page on Notion similar to this page. Create credentials for the Notion node by following the steps in the documentation. Calendly Trigger node: This node will trigger the workflow when an interview gets scheduled. Make sure to add a field to collect the candidates' LinkedIn URL on your invite page. Humantic AI: This node uses the LinkedIn URL received by the previous node to create a candidate profile in Humantic AI. Humantic AI1: This node will analyze the candidates' profile. Notion node: This node will create a new page in Notion using the information from the previous node.