by Budi SJ
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. ๐ฏ Purpose This workflow helps you automatically monitor stock related news, extract the main content, summarize it using a LLM (via OpenRouter), and send real time alerts to Telegram and store them in Google Sheets. โ๏ธ How It Works Trigger A Cron node triggers the workflow every 15 minutes (adjustable). RSS Feed node checks latest articles from Google Alerts RSS. The workflow filters duplicates using Google Sheets as a log. The article URL is sent to Jina AI Readability API to extract the main body text. The content is summarized using a model from OpenRouter (e.g., Gemini, Claude, GPT-4). You can customize the prompt to suit your tone and analysis needs. The result is appended to a Google Sheets file. Sends the title, summary, and reccomendation to Telegram chat. ๐งพ Google Sheets Template Create a Google Sheet using this template: Stock Alert ๐งฐ Requirements Telegram Bot + your Chat ID OpenRouter account and API key Jina AI account for content extraction Google Account with access to Google Sheets Google Alerts RSS feed ๐ Setup Instructions Install required credentials: Add OpenRouter API key to n8n credentials. Add Telegram Bot Token and Chat ID. Add Google Sheets credentials. Add Jina AI credentials. Create or copy the Google Sheet using the link above. Go to Google Alerts, create alerts, and copy the RSS feed URL. Replace placeholder API keys and URLs. Adjust Telegram Chat ID. ๐ Security Note All sensitive credentials (e.g., API keys, personal chat IDs) have been removed from this template. Please replace them using the n8n credentials manager before activating the workflow.
by Davide
This automated workflow takes a static image and a textual prompt and transforms them into an animated video using the MiniMax Hailuo 02 model. It then uploads the generated video to YouTube and TikTok, and updates a Google Sheet with relevant links and metadata. Benefits of This Workflow Fully Automated Pipeline**: From prompt to video to social media publication โ all without manual intervention. Scalable Content Creation**: Generate and distribute dozens of videos per hour with minimal human input. Cross-Platform Posting: Automatically pushes content to **YouTube and TikTok simultaneously. SEO Optimization**: Uses AI to generate catchy, keyword-rich video titles that improve visibility. Easy Integration**: Based on Google Sheets for input/output, making it accessible to non-technical users. Time-Efficient**: Batch-processing enabled with scheduled runs every few minutes. Customizable Duration**: Video duration can be adjusted (default is 6 seconds). How It Works Trigger & Data Fetching: The workflow starts either manually or via a scheduled trigger (e.g., every 5 minutes). It checks a Google Sheet for new entries where the "VIDEO" column is empty, indicating pending video generation tasks. Video Creation: For each entry, the workflow extracts the image URL and prompt from the Google Sheet. It sends these inputs to the MiniMax Hailuo 02 to generate a video. The API processes the image and prompt, optimizes the prompt, and creates a short video (default: 6 seconds). Status Monitoring: The workflow polls the API every 60 seconds to check if the video is COMPLETED. Once ready, it retrieves the video URL and uploads the file to Google Drive. YouTube & TikTok Upload: The video is sent to YouTube and TikTok via the Upload-Post.com API (The free plan allows uploads to all platforms except TikTok. To enable, upgrade to a paid plan.). A GPT-generated SEO-optimized title is created for the video. The Google Sheet is updated with the video URL and YouTube link. Set Up Steps Google Sheet Setup: Create a Google Sheet with columns: IMAGE (input image URL), PROMPT (video description), VIDEO (auto-filled), and YOUTUBE_URL (auto-filled). Link the sheet to the workflow using the Google Sheets node. API Keys: Obtain a fal.run API key (for MiniMax Hailuo) and configure the "Authorization" header in the "Create video" node. Get an Upload-Post.com API key (10 free uploads/month) and set it in the "Upload on YouTube/TikTok" nodes. Workflow Configuration: Replace YOUR_USERNAME in the Upload-Post nodes with your profile name (e.g., "test1"). Adjust the video duration (6 or 10 seconds) in the "Create video" node. Set the Schedule Trigger interval (e.g., 5 minutes) to automate checks for new tasks. Execution: Run the workflow manually or let the scheduler process new rows automatically. The system handles video generation, uploads, and Google Sheet updates end-to-end. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Belgacem Dhiflaoui
Description What Problem Does This Solve? ๐ ๏ธ This workflow automates the process of extracting key information from resumes received as email attachments and storing that data in a structured format within a Supabase database. It eliminates the manual effort of reviewing each resume, identifying relevant details, and entering them into a database. This streamlines the hiring process, making it faster and more efficient for recruiters and HR professionals. Target audience: Recruiters, HR departments, and talent acquisition teams. What Does It Do? ๐ Monitors a designated email inbox for new messages with resume attachments. Extracts key information such as name, contact details, education, work experience, and skills from the attached resumes. Cleans and formats the extracted data. Stores the processed data securely in a Supabase database. Key Features ๐ Automatic email monitoring for resume attachments. Intelligent data extraction from various resume formats (e.g., PDF, DOC, DOCX). Customizable data fields to capture specific information. Seamless integration with Supabase for data storage. Uses OpenRouter to streamline API key management for services such as AI-powered parsing. Setup Instructions Prerequisites โ๏ธ n8n Instance**: Self-hosted or cloud instance of n8n. Email Account**: Gmail account with Gmail API access for receiving resumes. Supabase Account**: A Supabase project with a database/table ready to store extracted resume data. You'll need the Supabase URL and API key. OpenRouter Account**: For managing AI model API keys centrally when using LLM-based resume parsing. Installation Steps ๐ฆ 1. Import the Workflow: Copy the exported workflow JSON. Import it into your n8n instance via โImport from Fileโ or โImport from URLโ. 2. Configure Credentials: In n8n > Credentials, add credentials for: Email account (Gmail API): Provide Client ID and Client Secret from the Google Cloud Platform. Supabase: Provide the Supabase URL and the anon public API key. OpenRouter (Optional): Add your OpenRouter API key for use with any AI-powered resume parsing nodes. Assign these credentials to their respective nodes: Gmail Trigger โ Email credentials. Supabase Insert โ Supabase credentials. AI Parsing Node โ OpenRouter credentials. 3. Set Up Supabase Table: Create a table in Supabase with columns such as: name, email, phone, education, experience, skills, received_date, etc. Make sure the field names align with the structure used in your workflow. 4. Customize Nodes: Parsing Node(s):* Modify the workflow to use an *OpenAI model* directly for field extraction, replacing the *Basic LLM Chain** node that utilizes OpenRouter. 5. Test the Workflow: Send a test email with a resume attachment. Check n8n's execution log to confirm the workflow triggered, parsed the data, and inserted it into Supabase. Verify data integrity in your Supabase table. How It Works High-Level Workflow ๐ Email Monitoring: Triggered when a new email with an attachment is received (via Gmail API). Attachment Check: Verifies the email contains at least one attachment. Prepare Data: Extracts the attachment and prepares it for analysis. Data Extraction: Uses OpenRouter-powered LLM (if configured) to extract structured information from the resume. Data Storage: The structured information is saved into the Supabase database. Node Names and Actions (Example) Gmail Trigger:** Triggers when a new email is received. IF**: Checks whether the received email includes any attachments. Get Attachments:** Retrieves attachments from the triggering email. Prepare Data:** Prepares the attachment content for processing. Basic LLM Chain:** Uses an AI model via OpenRouter to extract relevant resume data and returns it as structured fields. Supabase-Insert:** Inserts the structured resume data into your Supabase database.
by Alfonso Corretti
Who is this for? Everyone! Did you dream of asking an AI "what hotel did I stay in for holidays last summer?" or "what were my marks last semester like?". Dream no more, as vector similarity searches and this workflow are the foundations to make it possible (as long as the information appears in your e-mails ๐ ). 100% Local and Open Source! This workflow is designed to use locally-hosted open source. Ollama as LLM provider, nomic-embed-text as the embeddings model, and pgvector as the vector database engine, on top of Postgres. Structured AND Vectorized This workflow combines structured and semantic search on your e-mail. No need for enterprise setups! Leverage the convenience of n8n and open source to get a bleeding edge solution. Setup You will need a PGVector database with embeddings for all your email. Use my other template Gmail to Vector Embeddings with PGVector and Ollama to set it up in a breeze! Make a copy of my Email Assistant: Convert Natural Language to SQL Queries with Phi4-mini and PostgreSQL, you will need it for structured searches. Install this template and modify the Call the SQL composer Workflow step, to point at your copy of the SQL workflow. Adjust the rest of necessary steps: Telegram Trigger, AI Chat model, AI Embeddings... Activate the workflow and chat around!
by Yaron Been
๐ Competitor Review Scraper & Ad Copy Generator (Trustpilot + Bright Data + GPT-4o-mini) ๐ Who It's For Marketers, business owners, and agencies looking to: Analyze competitor pain points Generate high-impact Facebook ad copy Automate manual data processing ๐งฉ How It Works This n8n-based workflow combines Bright Data, Google Sheets, and OpenAI to scrape, process, and transform Trustpilot reviews into ready-to-use ad copy. ๐น Step-by-Step Breakdown Trigger (Manual Form Submission) Input required: Competitorโs Trustpilot URL Review timeframe (30d, 3m, 6m, 12m) Fetch Reviews Calls Bright Dataโs Dataset API with URL & timeframe Polls until snapshot is ready Retrieve & Store Extracts all reviews Saves them into a structured Google Sheet Filter & Aggregate Filters to only 1โ2 star reviews Summarizes common negative feedback Generate Ad Copy Sends the summary to OpenAI GPT-4o-mini Produces 3 variations of ad copy targeting pain points Distribute Insights Sends ad copy + summary via email to the marketing team โ Requirements -LLM Account -Google Sheets - Copy this sheet: https://docs.google.com/spreadsheets/d/1Zi758ds2_aWzvbDYqwuGiQNaurLgs-leS9wjLWWlbUU/edit?gid=0#gid=0 -Bright Data account โ๏ธ Setup Instructions **Step 1: Google Sheets ** Copy this Google Sheets template Do not change column headers **Step 2: n8n Credential Setup ** Google Sheets: OAuth2 Bright Data: Authorization Header OpenAI: API Key for GPT-4o-mini **Step 3: Import Workflow ** Import the .json file into n8n Configure your sheet + dataset ID Adjust GPT prompts as needed **Step 4: Run the Workflow ** Trigger via form Receive ad copy + review insights via email ๐ง Tips & Best Practices Bright Data snapshots may take time โ polling is handled Focusing on 1โ2 star reviews yields the most actionable pain points You can customize GPT-4o-mini prompts for tone or vertical ๐ฌ Support & Feedback Need help or customization? ๐ง Email: Yaron@nofluff.online ๐บ YouTube: @YaronBeen ๐ LinkedIn: linkedin.com/in/yaronbeen ๐ Bright Data Docs: docs.brightdata.com/introduction
by Lucien
Overview Automated LinkedIn content generator that: Fetches trending AI news using NewsAPI Enhances content with Qdrant vector store context Generates professional LinkedIn posts using GPT-4o-mini Tracks email interactions in Google Sheets ๐ ๏ธ Prerequisites API Keys : NewsAPI, OpenAI (GPT-4o-mini), Qdrant Accounts : Gmail Oauth, Google Sheets, LinkedIn developer API Environment Variables : OPENAI_API_KEY NEWSAPI_KEY QDRANT_URL/QDRANT_API_KEY ๐ Google Sheets Setup Create a spreadsheet with these columns: ISO date Email address Unique ID "Approve" or "Reject" โ๏ธ Setup Instructions Pre-populate Qdrant : Create collection "posts" with LinkedIn post examples Add 10+ example posts for style reference Node Configuration : Update Gmail credentials (OAuth2) Set fromEmail/toEmail in email nodes Configure Google Sheets document IDs Test Workflow : Run Schedule Trigger manually first Verify email notifications work Check Qdrant vector store connectivity ๐จ Customization Options Tone Adjustment : Modify system message in "AI Agent" Post Style : Update prompt in "Generate LinkedIn Post" Filter Criteria : Edit NewsAPI URL parameters Scheduling : Change interval in Schedule Trigger
by Jimleuk
This n8n template uses existing emails from customers as context to customise and "finetune" outreach emails to them using AI. By now, it should be common knowledge that we can leverage AI to generate unique emails but in a way, they can remain generic as the AI lacks the customer context to be truly personalised. One way to solve this is by pulling in a source of customer data - and what better way then by using existing email correspondence. How it works Customers to target are pulled from Hubspot and each customer is then run in a loop. We're using a loop as the retrieved emails for each customer become separate items and a loop helps with item reference. We connect to our Gmail account to pull all emails recieved from the customer. The contents of the email will be suitable to build a short persona of the customer. We use the Information Extractor to get our AI model to pull out the key attributes of this persona such as decision making style and communication preferences. With this persona, we can now pass this to our AI model to generate a personalised outreach email specifically for our customer. Finally, a draft email is created for human review before sending. If you would rather send the email straight away, this is also possible. How to use Define the topic of the outreach email in the "variables" node. This directs the AI on what outreach email to generate. Ensure the emails are pulled from the right account. If emails may contain sensitive data, adjust the filters and text parsing to ensure these are not leaked to the AI (which might then leak into the generated email). Requirements Hubspot for Contacts List OpenAI for LLM Gmail for Existing Emails and Sending Emails Customising this workflow Not using Hubspot? Any CRM would work just as well or even a simple text csv! If you have customer past deals or engagements in your CRM, consider using this as additional context for the AI to use.
by Davide
This workflow optimizes the management of inquiries received through a contact form (Contact Form 7 - CF7 Plugin) on a WordPress site, automating the process of classification, response drafting, and data storage. This workflow is particularly useful for businesses that receive multiple daily inquiries and want to improve their efficiency in managing customer communications. Benefits: โ Automation & Speed โ Reduces the time needed to handle inquiries manually. โ Better Email Management โ Ensures every message receives a timely and accurate response. โ Customization โ The generated draft can be edited before sending, maintaining a personal touch. โ Inquiry History โ Storing data in Google Sheets allows for easy tracking of customer interactions. โ Easy Integration โ Works seamlessly with Contact Form 7 without complex configurations. How It Works Form Submission Handling: The workflow starts with a WordPress form submission captured via a webhook. The form data (first name, last name, email, phone, and message) is extracted and structured using the "Set Fields" node. Message Classification: The submitted message is classified into predefined categories (e.g., "Product Info," "Order Info," or "Other") using the "Message Classifier" node, powered by Google Gemini. Automated Email Drafting: Based on the classification, the workflow generates a professional email draft using one of three "Email Writer" nodes (for Product, Order, or Other requests). Each node uses Google Gemini to craft a personalized response with a structured format (subject and body). Email Draft Creation: The drafted email is sent as a Gmail draft to the appropriate department, including the original form data for context. Data Logging: All submissions, along with their classifications and email drafts, are logged in a Google Sheets spreadsheet for record-keeping and further action. Set Up Steps Install WordPress Plugin: Install the "CF7 to Webhook" plugin on WordPress and configure it to send form submissions to the n8n webhook URL. Configure Webhook in n8n: Set up the "From Wordpress" webhook node in n8n to receive POST requests from the WordPress form. Google Gemini Integration: Ensure the Google Gemini nodes are properly authenticated with the correct API credentials. Gmail and Google Sheets Setup: Authenticate the Gmail and Google Sheets nodes with the appropriate OAuth2 credentials and specify the target spreadsheet and sheet name. Customize Classification Categories: Adjust the categories in the "Message Classifier" node to match your business needs. Test the Workflow: Trigger a test form submission to verify the workflow processes data correctly, classifies the message, generates an email draft, and logs the data. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Alexander Bentlund
What this workflow does This workflow is used as a bridge between your private Google Calendar to your Work Outlook Calendar. The same mentality can be used with other calendar types. Description Send a copy of a Google Calendar event to your Outlook work account as a reminder to yourself or co-workers that you are booked for private matters like "Dentist appointment", "Taking kids to Disney Land" etc. How it works Create event -- You create a Google Calendar event. -- A trigger in n8n reacts and collects the event info. -- An Outlook event is created with the same information in your Outlook Calendar. Cancel -- You cancel an event in Google Calendar -- A trigger in n8n reacts and collects the canceled event info. -- Using the Outlook node to getAll events searches for the event in your Outlook Calendar. -- If the event is found it is then deleted. -- An email with the details of the cancelation is then sent to your Outook e-mail address. The n8n Merge node is used to combine results from two different nodes that are necessary to create the cancelled event e-mail notification. Important notice Make sure you use a dedicated Google Calendar for private events that will be displayed in your work Outlook calendar in order to avoid displaying unwanted calendar events that you do not wish to share with your co-workers. Requirements Active workflow* Google Calendar OAuth2 API Microsoft Outlook OAuth2 API .*The Google Calendar trigger is activated only if this workflow is active. You can however TEST the workflow in the editor by clicking โTest stepโ. You will then receive a response from Google Calendar that you can use in order to view what data Google Sends.
by Oskar
With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF with formatted, plain HTML. You can modify this workflow to perform other actions with structured data (e.g. insert it into database or create other, well-formatted documents). Functionality of this workflow was presented during the n8n community call on March 7, 2024 - recording of presentation available here. โ ๏ธ Workflow made for demo purposes. If you want to use it in real life, please make sure necessary measures for personal data protection are set. How it works? User uploads readable PDF resume document into Telegram bot. After authentication based on chat ID parameter, workflow extracts text from the PDF and transfers it into AI chain with connected sub-nodes: OpenAI Chat Model and Structured Output (JSON) Parser. Then, each extracted section (employment history, projects etc.) is formatted into desired HTML structure. Finally, the document is converted into new, structured PDF using Gotenberg. ๐ก This workflow requires installed Gotenberg. If you are not familiar with this software, please have a look on my YouTube tutorial. You can also replace call to Gotenberg with other PDF generation service (such as PDFMonkey or ApiTemplate). Set up steps Create Telegram bot and add its credentials in n8n. Set your chat ID parameter in Auth node. Adjust JSON schema in Structured Output Parser according to your needs. Optionally: replace HTTP call to Gotenberg with PDF generation service of your choice. If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.
by Dhruv Dalsaniya
This workflow connects Telegram to Midjourney through GoAPI, enabling automated image generation and upscaling directly from chat. How it Works Telegram Command Trigger**: The workflow activates upon receiving a message in Telegram. Image Generation**: Your prompt is sent to GoAPI, which then generates an image using Midjourney. Upscale Selection**: You receive the generated image and select an option for upscaling. Image Upscaling**: The selected image is upscaled via GoAPI. Notifications and Logs**: Progress updates are sent to Telegram, and all images are logged in Discord. Set Up Steps Create a Telegram Bot and update credentials in Telegram nodes. Create a GoAPI account, obtain an API key, and update the three HTTP nodes: "Get Generation Task," "Upscale," and "Get Upscale Task". (Optional) Configure the Discord node for logging if desired. Setup takes approximately 10-15 minutes. Detailed descriptions are available in sticky notes within the workflow.
by Mario
This is an add-on for the template Check if workflows contain build-in nodes that are not of the latest version Purpose This workflow highlights outdated nodes within all workflows of a single n8n instance and places an updated preconfigured node right next to it, so it can be swapped easily. How it works The parent workflow checks the entire n8n instance for outdated nodes within all workflows and passes a list of those alongside some metadata to this workflow This workflow then processes that data and updates the affected workflows Outdated nodes are renamed by prepending an emoji (default: โ ๏ธ) - this is also used for future checks to prevent from double-processing The latest version of each outdated node is added to the workflow canvas (not wired up) behind the old one, slightly shifted in position An Email is sent with a list of modified workflows In the settings it is possible to define: which symbol/emoji should be prepended to outdated notes whether to include only major node updates or all of them whether to add the new nodes to the canvas or not Setup Clone this template to your n8n instance Update the Settings node by setting at least the base URL of your n8n instance Set a recipient in the Gmail node Clone the parent template to your n8n instance and configure it as described in itโs description Add an โExecute Workflowโ node to the end of the parent workflow and configure it, so it calls this workflow How to use Execute the parent workflow and check your Email Inbox. All linked workflows should contain one or more updated nodes with an emoji prepended to their names. Disclaimer Beware, that major updates can cause migrations of nodes to fail, since their structure can differ. So always compare the old nodes with the newly created, if all parameters still meet the requirements. Be careful when executing this workflow on a production environment, since it directly modifies your workflows. It is advisable to run this on your testing environment and migrate successfully tested workflows to your production environment using git or manually.