by Robert Breen
π§βπ» Description This workflow connects SerpApi with OpenAI inside n8n to automate Google News monitoring and analysis. Itβs built for market researchers, analysts, communications teams, and business leaders who need to stay on top of fast-changing news without wasting time scrolling through endless headlines. Instead of manually searching, this workflow automatically fetches news, groups it into meaningful categories, and recommends the most relevant articles. Problem it solves: Reduces time spent manually monitoring news. Helps track competitors, industries, or emerging trends. Provides structured, actionable insights from unstructured headline feeds. Disclaimer: this template can only be used on self-hosted installations. π Use Cases Market Intelligence**: Track industry-specific news to guide strategy. Competitor Monitoring**: Automatically surface competitor mentions in the press. Research Support**: Organize articles into categories for academic or professional projects. Executive Briefings**: Deliver a curated daily digest to stakeholders. Trend Spotting**: Detect recurring topics to understand where coverage is growing. βοΈ Setup Instructions Preconditions You need a self-hosted n8n instance (this template doesnβt run on n8n.cloud). A valid SerpApi account + API Key. An OpenAI API Key with billing enabled. Optional: Connected Slack, Email, or Google Sheets credentials if you plan to extend output. 1οΈβ£ Set Up SerpApi Connection Create a free account at SerpApi Copy your API Key from the dashboard In n8n β Credentials β New β SerpApi Paste your API Key β Save In the workflow, select your SerpApi credential in the Google News Search node. 2οΈβ£ Set Up OpenAI Connection Go to OpenAI Platform Navigate to Billing and ensure your account has credits/funding Copy your API Key into the OpenAI credentials in n8n π§ Workflow Breakdown Chat Trigger β A user enters a search query (e.g., βEV market 2025β). Google News Search (SerpApi) β Fetches the latest headlines for that query. Split Out Links β Separates articles into individual items. Aggregate Node β Merges article titles and links into a structured list. OpenAI Agent β Summarizes, categorizes, and selects the most relevant article per category. Response Output β Returns a clean, categorized digest with clickable links. ποΈ Customization Guidance Adjust Categories**: Change the OpenAI system prompt to return 3, 5, or 10 categories depending on the depth you want. Regional Focus**: Use SerpApiβs filters (gl=us, hl=en) to restrict results by geography or language. Delivery Methods**: Add Slack, Email, or Google Sheets nodes to automatically share the digest with your team. Automation Frequency: Add a **Schedule Trigger to run daily, weekly, or at custom intervals. Extended Analysis**: Modify the prompt to include sentiment analysis, top keywords, or executive summaries. Multi-Query Runs**: Duplicate the SerpApi node to monitor multiple industries or competitors in one workflow. π¬ Example Q&A Question: βWhatβs happening in renewable energy today?β Response: Policy**: βUS expands solar subsidiesβ β [link] Innovation**: βNew battery breakthrough announcedβ β [link] Market Moves**: βWind energy stocks surgeβ β [link] Competition**: βShell invests in offshore projectsβ β [link] Sustainability**: βCommunity solar initiatives expandβ β [link] π¬ Contact Need help customizing this template (e.g., tracking multiple industries, adding auto-delivery, or integrating dashboards)? π§ robert@ynteractive.com π Robert Breen π ynteractive.com
by Ertay Kaya
This workflow automatically reviews new Zendesk tickets and tags them using OpenAIβs language model. It runs every 24 hours, fetches tickets created in the last day (for specified brands), and uses an AI agent to analyze each ticketβs content. Based on customizable rules, the agent suggests and applies relevant tags, ensuring existing tags are preserved. This helps automate ticket categorization and improves support team efficiency. Key Features: Scheduled daily execution Brand filtering for targeted ticket processing AI-powered tagging based on ticket content and custom rules Preserves existing tags while adding new ones Setup Instructions: Replace placeholder brand IDs/names and tag rules with your own. Connect your Zendesk and OpenAI accounts.
by Matthew
Automated Personalized Email Icebreakers This workflow automates creating personalized email icebreakers. It reads leads from a Google Sheet, scrapes their company website, uses OpenAI to analyze the data and craft a unique opening line, and then saves that icebreaker back into the original sheet. How It Works Fetch Lead**: The workflow starts, loops through your leads, and pulls one from your Google Sheet. Scrape & Summarize**: It scrapes the lead's company website and uses a fast OpenAI model to summarize the key points about the company and the person. Generate Icebreaker**: This summary is then sent to a more powerful OpenAI model, which follows specific instructions to write a short, personalized icebreaker. Update Sheet**: The new icebreaker is saved back into the correct lead's row in your Google Sheet, using their email to match the record. Requirements An n8n instance. An OpenAI API key with available credits. A Google account with a Sheet for your leads. The Google Sheet must have columns for lead data (e.g., Email, Website, Company Name) and an empty column named icebreaker. The Email column must be unique for each lead. Setup Instructions Add Credentials: In n8n, add your OpenAI API key and connect your Google account via the Credentials menu. Configure Google Sheets Nodes: Select each of the two Google Sheets nodes (Client data and Add icebreaker to sheet). In each, choose your credential, select your spreadsheet and the specific sheet name, and ensure the column mapping is correct. Configure OpenAI Nodes: Select both OpenAI nodes (Summarising prospect data and Creating icebreaker) and choose your OpenAI credential from the dropdown. Verify Update Node: On the final Add icebreaker to sheet node, ensure the Operation is set to Append Or Update and the Matching Columns field is set to Email. Customization Options π‘ Trigger**: Change the manual start to an automatic trigger, like when a new row is added to the sheet or on a daily schedule (Cron). AI Prompt**: Modify the prompt in the "Creating icebreaker" node to change the tone, style, or length of the output. AI Model**: Experiment with different OpenAI models (like gpt-4o) for a different balance of cost, speed, and quality. Data Source**: Replace Google Sheets with a CRM like HubSpot or a database like Postgres.
by Maneeshwar
Stop wasting time on video editing! This template is designed for content creators and marketers who need a fast, scalable way to convert simple text scripts into polished, shareable AI-generated videos and publish them automatically to Instagram. The workflow includes a critical human review step to maintain quality control. Prerequisites To use this template, you must have the following: An active n8n instance. An active Blotato account (required for the AI video generation and Instagram upload API access). The Blotato n8n node must be installed on your n8n instance. A configured Gmail node to handle the human approval step. How It Works (Workflow Breakdown) This automation efficiently moves your content from a text script to a live Instagram post: Script Input (Form Node): The workflow starts by accepting your script via a simple form input. Data Structuring (Information Extractor Node): The raw script is processed to arrange the information into a specific JSON schema, ensuring the Blotato Create Content node receives the correct input format required for AI video generation. AI Video Generation (Blotato Node): The process triggers the Blotato AI video generation. This process is set to run in a Queue mode. Status Check Loop (Loop, Wait, IF Nodes): Since video generation takes time, the workflow enters a loop: It uses a Wait node to pause for 80 seconds. It then uses the Blotato Get Video node, combined with an IF node, to check the generation status. This loop continues until the video is fully generated. Human Approval (Gmail Node): Once the video is generated, the hosted video link is sent to your Gmail. The email includes two interactive buttons: "Approve" and "Disapprove." Instagram Upload (Blotato Node): If you choose to "Approve" the video, the final step uses the Blotato node to automatically upload the finished video as an Instagram Reel. Setup Instructions Template Download:** The full, free template is available here: Template JSON Configuration Tutorial:** For a visual, step-by-step guide on configuring the Blotato node and setting up the workflow, please watch the full tutorial: YouTube Tutorial It takes 10 mins to configure the Workflow
by Robert Breen
Use the n8n Data Tables feature to store, retrieve, and analyze survey results β then let OpenAI automatically recommend the most relevant course for each respondent. π§ What this workflow does This workflow demonstrates how to use n8nβs built-in Data Tables to create an internal recommendation system powered by AI. It: Collects survey responses through a Form Trigger Saves responses to a Data Table called Survey Responses Fetches a list of available courses from another Data Table called Courses Passes both Data Tables into an OpenAI Chat Agent, which selects the most relevant course Returns a structured recommendation with: course: the course title reasoning: why it was selected > Trigger: Form submission (manual or public link) π₯ Who itβs for Perfect for educators, training managers, or anyone wanting to use n8n Data Tables as a lightweight internal database β ideal for AI-driven recommendations, onboarding workflows, or content personalization. βοΈ How to set it up 1οΈβ£ Create your n8n Data Tables This workflow uses two Data Tables β both created directly inside n8n. π§Ύ Table 1: Survey Responses Columns: Name Q1 β Where did you learn about n8n? Q2 β What is your experience with n8n? Q3 β What kind of automations do you need help with? To create: Add a Data Table node to your workflow. From the list, click βCreate New Data Table.β Name it Survey Responses and add the columns above. π Table 2: Courses Columns: Course Description To create: Add another Data Table node. Click βCreate New Data Table.β Name it Courses and create the columns above. Copy course data from this Google Sheet: π https://docs.google.com/spreadsheets/d/1Y0Q0CnqN0w47c5nCpbA1O3sn0mQaKXPhql2Bc1UeiFY/edit?usp=sharing This Courses Data Table is where youβll store all available learning paths or programs for the AI to compare against survey inputs. 2οΈβ£ Connect OpenAI Go to OpenAI Platform Create an API key In n8n, open Credentials β OpenAI API and paste your key The workflow uses the gpt-4.1-mini model via the LangChain integration π§© Key Nodes Used | Node | Purpose | n8n Feature | |------|----------|-------------| | Form Trigger | Collect survey responses | Forms | | Data Table (Upsert) | Stores results in Survey Responses | Data Tables | | Data Table (Get) | Retrieves Courses | Data Tables | | Aggregate + Set | Combines and formats table data | Core nodes | | OpenAI Chat Model (LangChain Agent) | Analyzes responses and courses | AI | | Structured Output Parser | Returns structured JSON output | LangChain | π‘ Tips for customization Add more Data Table columns (e.g., email, department, experience years) Use another Data Table to store AI recommendations or performance results Modify the Agent system message to customize how AI chooses courses Send recommendations via Email, Slack, or Google Sheets π§Ύ Why Data Tables? This workflow shows how n8nβs Data Tables can act as your internal database: Create and manage tables directly inside n8n No external integrations needed Store structured data for AI prompts Share tables across multiple workflows All user data and course content are stored securely and natively in n8n Cloud or Self-Hosted environments. π¬ Contact Need help customizing this (e.g., expanding Data Tables, connecting multiple surveys, or automating follow-ups)? π§ robert@ynteractive.com π Robert Breen π ynteractive.com
by Avkash Kakdiya
How it works This workflow starts whenever you add a new company name to a Google Sheet. It checks if the company name is filled in, then uses AI to find more details about the company like industry, size, location, and website. Next, it looks for the company in your HubSpot CRM. If the company is not there, it adds it automatically. Finally, it updates the Google Sheet with all the new company information so you have everything organized in one place. Step-by-step 1. Start with Google Sheets The workflow watches your Google Sheet for new company names. It ignores any empty or incomplete entries. 2. Get Company Details Uses AI (OpenAI GPT-4o-mini) to find more information about the company. Formats the AI results so they can be used easily. 3. Check and Update HubSpot Searches your HubSpot CRM to see if the company already exists. If the company is new, it creates a record in HubSpot with the AI details. 4. Save Everything in Google Sheets Prepares the enriched data for saving. Adds or updates the company information in the Google Sheet for easy tracking. Why use this? Automatically adds useful company info without manual work. Keeps your CRM clean by avoiding duplicates. Stores all updated company details in one place for easy access. Runs smoothly in the background without you needing to do anything after setup.
by Marth
Automated Instagram Carousel Post (Blotato + GPT-4.1) This workflow is an end-to-end solution for automating the creation and publishing of highly engaging Instagram Carousel content on a recurring schedule. It leverages the intelligence of an AI Agent (GPT-4.1) for idea generation and sharp copywriting, combined with the visual rendering capabilities of Blotato, all orchestrated by the n8n automation platform. The core objective is to drastically cut content production time, enabling creators and marketing teams to consistently generate high-impact, scroll-stopping educational or inspirational content without manual intervention. How It Works The workflow executes in five automated phases: 1. Trigger and Idea Generation The workflow starts with the Schedule Trigger node, running at your specified time interval (e.g., daily). It takes the initial subject from the Topic node and feeds it to the Topic1 AI Agent. This agent is specifically prompted to create a short, viral hook/title (max. 6 words) in the style of confident, tactical copywriters (like Alex Hormozi), maximizing the content's initial draw. 2. Content Creation and Output Structuring The viral hook is then passed to the AI Agent Carousel Maker. This agent uses the GPT-4.1 model, following strict system instructions, to generate all necessary content elements in a structured JSON format: Punchy, concise text for each Carousel slide. A long, detailed Instagram Caption with explanations and a CTA. A short final title for internal reference. 3. Visual Rendering (Blotato Tool) The slide text output is sent to the Simple tweet cards monocolor (Blotato Tool) node. Blotato acts as a graphic generation API, rendering the text onto a chosen template to create a series of Carousel images (using the 4:5 aspect ratio). This replaces the need for manual design work in tools like Canva. 4. Status Check and Retry Mechanism Visual rendering takes time, so the workflow pauses: The Wait node holds the execution for 3 minutes. The Get carousel node retrieves the image generation status using the ID provided by the previous Blotato node. The If carousel ready node checks if the status is done. If not, the flow is routed back to the Wait node, implementing a built-in simple retry mechanism until the visuals are complete. 5. Final Posting Once the status is confirmed as done, the workflow proceeds to the final step: The Instagram [BLOTATO] node uses the media URLs retrieved from Blotato and the long caption from the AI Agent to automatically publish the entire Carousel post (multiple images plus text) to your linked Instagram account. Set Up Steps To successfully activate and personalize this n8n workflow, follow these steps: Step 1: Import and Connect Credentials Import Workflow: Import the provided JSON file (Automated Instagram Carousel Post with Blotato + Gpt 4.1.json) into your n8n instance. OpenAI Credentials: Ensure you have valid OpenAI API credentials connected to the OpenAI Chat Model node. Blotato Credentials: Ensure your valid Blotato API credentials are connected to all three Blotato-related nodes (Simple tweet cards monocolor, Get carousel, and Instagram [BLOTATO]). Step 2: Configure Workflow Inputs Set Topic: Open the Topic node. Change the default initial topic expression =Top ai tools for finance to any general subject matter you want your Carousels to cover. Set Schedule: Open the Schedule Trigger node and configure the Rule to define how often you want the content to be created and posted (e.g., set it to run Every Day at a specific time). Step 3: Personalize Content and Visuals Customize AI Persona: Open the AI Agent Carousel Maker node. Review and modify the long System Message to refine the AI's output: Adjust the # ROLE and # STYLE sections to match your brand's voice (e.g., change the Alex Hormozi style to a more formal, academic tone if needed). Do not change the structure defined in # OUTPUT as this JSON format is essential for downstream nodes. Personalize Visuals: Open the Simple tweet cards monocolor (Blotato Tool) node. Under templateInputs, customize fields like authorName, handle, and profileImage URLs to ensure the generated visuals are consistent with your personal or brand identity. Step 4: Final Posting Setup Select Instagram Account: Open the Instagram [BLOTATO] node. In the accountId parameter, use the dropdown list to select the specific Instagram account that is connected via your Blotato service. Activate: Once all steps are complete, save the workflow and toggle the main switch to Active to allow the Schedule Trigger to begin running the automation.
by Yang
Whoβs it for This workflow is for marketers, influencer agencies, or outreach teams who want to quickly check if a TikTok user meets certain criteria before adding them to an influencer list. No manual profile checkingβjust drop in a username, and the system does the rest. What it does This workflow takes a TikTok username submitted via form, fetches the userβs profile using Dumpling AI, then evaluates the user using GPT-4 to decide if they qualify for influencer outreach based on predefined rules: 40+ videos 100,000+ followers 300,000+ total likes It then checks Google Sheets: If the user does not exist, it adds a new row If the user already exists, it updates the row How it works Form Trigger: Collects TikTok username Dumpling AI: Pulls TikTok profile (username, ID, followers, videos, likes, etc.) GPT-4: Checks if the user meets outreach criteria Google Sheets: Checks if user already exists Updates or appends user data + qualification status Requirements β Dumpling AI API key (HTTP Header Auth) β OpenAI API key (GPT-4) β Google Sheets integration with the following columns: Tik Tok user User ID Follower Count Following Count Heart Count Video Count Qualified? How to customize Change the qualification logic in the GPT-4 prompt Add additional TikTok data (bio, profile pic, location, etc.) Send a notification if the user is qualified Push the qualified leads to Airtable, Notion, or your CRM > This workflow gives you a plug-and-play tool to qualify TikTok influencers instantly using AIβwithout leaving your browser or spreadsheet.
by masaya kawabe
Whoβs it for Social media managers, creators, and brand accounts that rely on retweets for reach but want an automated, hands-off cleanup after campaigns to keep profiles tidy and on-brand. What it does / How it works On a schedule, the workflow resolves your handle to a user ID, fetches recent tweets, filters retweets only, and safely unretweets them using batching and delays to respect rate limits. A dedicated CONFIG (Set Fields) node centralizes variables (e.g., target_username, max_results, batch_delay_minutes) so you can adjust behavior without touching logic. API endpoints used GET** /2/users/by/username/{username} β resolve handle β user ID GET** /2/users/{id}/tweets?tweet.fields=created_at,referenced_tweets β fetch recent tweets (identify retweets via referenced_tweets.type === "retweeted") DELETE** /2/users/{id}/retweets/{tweet_id} β unretweet Example response payloads GET /2/users/by/username/{username} { "data": { "id": "2244994945", "name": "Twitter Dev", "username": "TwitterDev" } } GET /2/users/{id}/tweets (truncated) { "data": [ { "id": "1760000000000000000", "text": "RT @someone: β¦", "referenced_tweets": [{ "type": "retweeted", "id": "1759999999999999999" }], "created_at": "2025-01-15T09:10:11.000Z" } ], "meta": { "result_count": 20 } } DELETE /2/users/{id}/retweets/{tweet_id} { "data": { "retweeted": false } } Use cases Brand hygiene:** Auto-unretweet promos after 48β72h. Campaign cadence:** Remove event retweets once the event ends. Feed freshness:** Clear low-priority retweets on a rolling basis. How to set up Open CONFIG (Set Fields) and replace placeholders: target_username = "your_handle" max_results = 100 (per fetch) batch_delay_minutes = 2 (throttle between batches) Connect X/Twitter credentials in n8n (no keys hard-coded in HTTP nodes). Run once with small values, verify logs, then enable the schedule. > Optional enhancements: add a dead-letter path (Error Trigger β Set β Sheets/Email/Slack) and a notification node (e.g., Slack) for execution feedback.
by Avkash Kakdiya
How it works This workflow automatically classifies and routes new or updated Linear issues using AI. When an issue is created or updated, its title and description are analyzed by an OpenAI-powered classifier. The workflow then determines the correct team, routes the issue through the right path, and updates it in Linear. This ensures accurate, consistent triaging and removes the need for manual assignment. Step-by-step 1. Trigger and validation Linear Trigger** β Detects new or updated issues in Linear. Filter New Issues Only** β Ensures the issue has a valid title. If (Create or Update)** β Confirms the action is either create or update. 2. AI classification OpenAI Chat Model** β Provides language model capabilities for classification. AI Agent (Bug Classifier)** β Uses issue title and description to assign a team ID. 3. Routing logic Engineering Router** β Checks if classification output is Engineering. Product Router** β Checks if classification output is Product. Design Router** β Checks if classification output is Design. Default Router** β Fallback if no match is found. 4. Update Linear issue Assign to Engineering** β Updates team assignment in Linear. Assign to Product** β Updates team assignment in Linear. Assign to Design** β Updates team assignment in Linear. Assign to Default** β Assigns to fallback team if no match. Why use this? Automates issue triage, eliminating manual team assignment. Speeds up bug resolution by instantly routing to the right team. Ensures consistency in bug categorization using AI-driven analysis. Scales effortlessly with growing issue volume. Reduces human error in issue management.
by Open Paws
Whoβs it for π― This workflow is designed for animal advocacy organizations, activists, and campaigners who want to automatically receive a weekly email update summarizing the latest news and developments related to animal rights, welfare, vegetarianism, and veganism. It can also be easily altered to allow daily updates. How it works / What it does βοΈ Runs on a weekly schedule and uses a multi-tool research agent subworkflow to gather verified news strictly from the past week. It compiles the information and URLs into a clean, well-structured HTML email, then sends it to the specified recipient. URLs are never altered or omitted. How to set up π οΈ Import this workflow into your n8n instance. Add and install the required research subworkflow: Multi-tool Research Agent for Animal Advocacy Configure API keys in n8n credentials. Set your topics, instructions, and recipient email in the βSet Preferencesβ node. Adjust the schedule node to control when emails are sent. Test the full workflow to ensure proper operation. Requirements π n8n instance with internet access Valid API keys The Multi-tool Research Agent subworkflow installed SMTP or email sending configured How to customize π§ Update Topics:** Change topics in the βSet Preferencesβ node to focus the research. Update Instructions:** Tailor summary style and focus in the preferences node. Email Recipient:** Set who receives the update email. Scheduling:** Change frequency or time in the Schedule node. Duplicate for daily versions with adjusted research parameters. HTML Styling:** Modify the βWrite HTMLβ nodeβs template for custom branding or layout. Error Handling:** Add workflows to capture and alert on errors for robustness. Adapt and extend as needed for your advocacy goals!
by AI/ML API | D1m7asis
π§ AI Image Generator Bot β Telegram + AI/ML API This n8n workflow allows users to generate AI-generated images by sending messages to a Telegram bot. Each request is logged in Google Sheets and limited by a daily quota per user. Image prompts are enhanced by LLM before generation. π Features π© Telegram-based input π§ Prompt enhancement with GPT-4o π¨ AI image generation via flux-pro model (AIMLAPI) π Auto-caption generation π Usage tracked per user daily in Google Sheets π Daily request limits β Graceful UX for over-limit cases π Setup Guide 1. π² Create Telegram Bot Talk to @BotFather Use /newbot β Choose a name and username Save the bot token 2. π Set Up Credentials in n8n Telegram API: Use your bot token Google Sheets: Set up via OAuth2 or Service Account AI/ML API: Set up with your API key from aimlapi.com 3. π Prepare Google Sheet Name: Any (e.g., Image bot usage statistic) Sheet: Sheet1 Columns: user_id | date | query | result_url Share the sheet with the email of your service/OAuth2 account 4. π§ Configure the Workflow Open the n8n editor and import the JSON Update: Telegram credential Google Sheets credential and Sheet ID AI/ML API credentials βοΈ Flow Summary | Node | Function | | ------------------------------ | ------------------------------------ | | π© Receive Telegram Message | Triggered by user message | | π Fetch Usage Logs | Reads today's entries from Sheet | | π Count Todayβs Requests | Counts how many generations today | | π’ Set Daily Limit | Sets default limit (5) | | π¦ Check Limit Exceeded? | If over limit β notify | | π§ Enhance Prompt | Uses GPT-4o to improve user's prompt | | π¨ Generate Image | Sends to AIMLAPI to generate | | π Describe Image | Generates caption for the image | | π€ Send Image to User | Sends back to Telegram | | π Log Successful Generation | Writes to Google Sheets | π Data Logging Each successful generation is stored in Google Sheets: | user\_id | date | query | result\_url | | -------- | ---- | ----- | ----------- | π‘ Example Prompt Flow User sends: astronaut cat floating in space Bot replies: > Hereβs your image: > A majestic feline astronaut drifts through a glittering cosmic void, its helmet reflecting starlight. The image is sent with the caption π Daily Limit Default: 5 generations/day per Telegram user You can change this in the π’ Set Daily Limit node π§ͺ Testing Use /execute workflow in Telegram β not "Execute Node" in editor Log test results to sheet Add extra Set nodes for debugging as needed π Resources π AI/ML API Docs πΌοΈ flux-pro Model UI