by Davide
How It Works This workflow creates an AI-powered Telegram chatbot with session management, allowing users to: Start new conversations** (/new). Check current sessions** (/current). Resume past sessions** (/resume). Get summaries** (/summary). Ask questions** (/question). Key Components: Session Management**: Uses Google Sheets to track active/expired sessions (storing SESSION IDs and STATE). /new creates a session; /resume reactivates past ones. AI Processing**: OpenAI GPT-4 generates responses with contextual memory (via Simple Memory node). Summarization: Condenses past conversations when requested. Data Logging**: All interactions (prompts/responses) are saved to Google Sheets for audit and retrieval. User Interaction**: Telegram commands trigger specific actions (e.g., /question [query] fetches answers from session history). Main Advantages 1. Multi-session Handling Each user can create, manage, and switch between multiple sessions independently, perfect for organizing different conversations without confusion. 2. Persistent Memory Conversations are stored in Google Sheets, ensuring that chat history and session states are preserved even if the server or n8n instance restarts. 3. Commands for Full Control With intuitive commands like /new, /current, /resume, /summary, and /question, users can manage sessions easily without needing a web interface. 4. Smart Summarization and Q&A Thanks to OpenAI models, the workflow can summarize entire conversations or answer specific questions about past discussions, saving time and improving the chatbot’s usability. 5. Easy Setup and Scalability By using Google Sheets instead of a database, the workflow is easy to clone, modify, and deploy — ideal for quick prototyping or lightweight production uses. 6. Modular and Extensible Each logical block (new session, get current session, resume, summarize, ask question) is modular, making it easy to extend the workflow with additional features like analytics, personalized greetings, or integrations with CRM systems. Setup Steps Prerequisites: Telegram Bot Token**: Create via BotFather. Google Sheets**: Duplicate this template. Two sheets: Session (active/inactive sessions) and Database (chat logs). OpenAI API Key**: For GPT-4 responses. Configuration: Telegram Integration: Add your bot token to the Telegram Trigger and Telegram Send nodes. Google Sheets Setup: Authenticate the Google Sheets nodes with OAuth. Ensure sheet names (Session, Database) and column mappings match the template. OpenAI & Memory: Add your API key to the OpenAI Chat Model nodes. Adjust contextWindowLength in the Simple Memory node for conversation history length. Testing: Use Telegram commands to test: /new: Starts a session. /question [query]: Tests AI responses. /summary: Checks summarization. Deployment: Activate the workflow; the bot will respond to Telegram messages in real-time. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Aironauts AI
Quick overview When a monitored workflow fails, this reads its Description field to find the owning client and assignee, looks them up in Asana, analyses the error with Grok 4.5, and creates an assigned task with a severity-based due date. Repeat failures comment on the existing task. How it works Any workflow that names this one as its error workflow triggers it on failure. There is no production trigger by design. The error payload only carries a workflow ID, so an HTTP Request calls the n8n API to read that workflow's own Description field, which holds a small JSON object naming the client and the assignee. Asana projects and users are fetched live and matched by name, so no GID is ever hardcoded. A failed match raises a warning that travels downstream instead of failing silently. Asana is searched for an open task covering the same workflow and node. If one exists, a comment carrying the new execution ID is added rather than a duplicate task. For a new error, Grok 4.5 via OpenRouter returns a root cause, a solution, concrete steps, a severity, and a category, held to a fixed shape by a structured output parser. Severity sets the due date: Critical today, High tomorrow, Medium in three days, Low in seven. A Google Chat card carries the analysis and links to both the execution and the Asana task. Setup Open the Configuration node and fill in your Asana workspace ID, your Google Chat webhook URL, your n8n base URL, and your timezone offset in hours. Attach credentials to the five Asana nodes, the Get workflow metadata node, and the OpenRouter chat model node. In every workflow you want monitored, open Settings > Description and paste {"client": "Your Asana project name", "assignee": "Person name"}. The client must match an Asana project name exactly, case-insensitive. The assignee can be a first name or a full name. In the same workflow, open Settings > Error Workflow and select this workflow. Repeat steps 3 and 4 for every workflow you want covered. Requirements n8n API key with read access to workflows Asana account holding the target projects and users, plus your workspace ID from the Asana URL app.asana.com/0/{WORKSPACE_ID} Google Chat space with an incoming webhook OpenRouter API key with access to Grok 4.5, or any other model you prefer Customization Change the severity to due date map in Set due date from severity Swap the model in OpenRouter chat model for anything OpenRouter offers Add fields to Error analysis schema, then surface them in the task notes or the chat card Replace the two Send Google Chat nodes to route alerts to Slack, Teams, or email, keeping everything upstream unchanged Additional info Duplicate detection matches on the task name [ERROR] WorkflowName - NodeName, which is unique per workflow and node, so no project filter is needed. Completing or deleting the task lets the next occurrence create a fresh one. If the client or assignee in the Description does not match Asana, the task is still created, unassigned and outside any project, and the Google Chat card shows a Configuration warning naming the mismatch. Errors are never dropped because of a typo.
by Gleb D
This n8n workflow automates the enrichment of a company list by discovering and extracting each company’s official LinkedIn URL using Bright Data’s search capabilities and Google Gemini AI for HTML parsing and result interpretation. Who is this template for? This workflow is ideal for sales, business development, and data research professionals who need to collect official LinkedIn company profiles for multiple organizations, starting from a list of company names in Google Sheets. It’s especially useful for teams who want to automate sourcing LinkedIn URLs, enrich their prospect database, or validate company data at scale. How it works Manual Trigger: The workflow is started manually (useful for controlled batch runs and testing). Read Company Names: Company names are loaded from a specified Google Sheets table. Loop Over Each Company: Each company is processed one-by-one: A custom Google Search URL is generated for each name. A Bright Data Web Unlocker request is sent to fetch Google search results for “site:linkedin.com [company name]”. Parse LinkedIn Profile URL Using AI: Google Gemini (or your specified LLM) analyzes the fetched search page and extracts the most likely official LinkedIn company profile. Result Handling: If a profile is found, it’s stored in the results. If not, an empty result is created, but you can add custom logic (notifications, retries, etc.). Batch Data Enrichment: All found company URLs are bundled into a single request for further enrichment from a Bright Data dataset. Export: The workflow appends the final, structured data for each company to another sheet in your Google Sheets file. Setup instructions 1. Replace API Keys: Insert your Bright Data API key in these nodes: Bright Data Web Request - Google Search for Company LinkedIn URL HTTP Request - Post API call to Bright Data Snapshot Progress HTTP Request - Getting data from Bright Data 2. Connect Google Sheets: Set up your Google Sheets credentials and specify the sheet for reading input and writing output. 3. Customize Output Structure: Adjust the Python code node (see sticky note in the template) if you want to include additional or fewer fields in your output. 4. Adjust for Scale or Error Handling: You can modify the logic for “not found” results (e.g., to notify a Slack channel or retry failed companies). 5. Run the Workflow: Start manually, monitor the run, and check your Google Sheet for results. Customization guidance Change Input/Output Sheets: Update the sheet names or columns if your source/target spreadsheet has a different structure. Use Another AI Model: Replace the Google Gemini node with another LLM node if preferred. Integrate Alerts: Add Slack or email nodes to notify your team when a LinkedIn profile is not found or when the process is complete.
by Cheng Siong Chin
How It Works This workflow automates end-to-end contract and invoice management using AI intelligence. It processes proposals through intelligent contract generation, approval workflows, and automated invoicing. OpenAI analyzes proposal content while the system routes approvals intelligently. Upon approval, contracts are generated, invoices created, and notifications sent. The workflow also monitors payment status, generates financial forecasts, and manages follow-up tasks, eliminating manual contract generation delays and approval bottlenecks while ensuring accurate financial record-keeping. Setup Steps Configure OpenAI API credentials in n8n credentials manager. Connect Google Sheets account for invoice and forecast storage. Set up Gmail for approval notifications and client communications. Input Stripe/payment processor credentials for payment tracking. Map proposal form inputs to workflow start node. Prerequisites OpenAI API key, Google Sheets account, Gmail account, Stripe/payment processor access Use Cases Multi-stage approval workflows, SaaS contract management, professional services invoicing Customization Modify approval logic in conditional nodes, replace OpenAI with Anthropic API Benefits Reduces contract processing time by 80%, eliminates approval delays, prevents invoicing errors
by Jimleuk
This n8n template lets you summarize team member activity on Slack 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 threads 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. Each message thread are grouped by user and data mined for replies. Combined, an AI analyses the raw messages to pull out interesting observations and highlights. The summarized threads of the user are then combined together and passed to another AI agent to generate a higher level overview of their week. These are referred to as the individual reports. Next, all individual reports are summarized together into a 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 Slack for chat platform Gemini for LLM (or switch for other models) Customising this workflow If the slack 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. Channel not so busy or way too busy for 1 week? Play with the scheduled trigger and set an interval which works for your team.
by lin@davoy.tech
This workflow template, "n8n Error Report to LINE," is designed to streamline error handling by sending real-time notifications to your LINE account whenever an error occurs in any of your n8n workflows. By integrating with the LINE Messaging API , this template ensures you stay informed about workflow failures, allowing you to take immediate action and minimize downtime. Whether you're a developer managing multiple workflows or a business owner relying on automation, this template provides a simple yet powerful way to monitor and resolve errors efficiently. Who Is This Template For? Developers: Who manage complex n8n workflows and need real-time error notifications. DevOps Teams: Looking to enhance monitoring and incident response for automated systems. Business Owners: Who rely on n8n workflows for critical operations and want to ensure reliability. Automation Enthusiasts: Seeking tools to simplify error tracking and improve workflow performance. What Problem Does This Workflow Solve? When automating processes with n8n, errors can occur due to various reasons such as misconfigurations, API changes, or unexpected inputs. Without proper error handling, these issues may go unnoticed, leading to delays or disruptions. This workflow solves that problem by: 1) Automatically detecting errors in your n8n workflows. 2) Sending instant notifications to your LINE account with details about the failed workflow, including its name and execution URL. Allowing you to quickly identify and resolve issues, ensuring smooth operation of your automated systems. What This Workflow Does 1) Error Trigger: The workflow is triggered automatically whenever an error occurs in any n8n workflow configured to use this error-handling flow. 2) Send Notification via LINE: Using the LINE Push API , the workflow sends a message to your LINE account with key details about the error, such as the workflow name and execution URL. You can also customize the notification message to include additional information or format it to suit your preferences. Setup Guide Pre-Requisites Access to the LINE Developers Console with a registered bot and access to the Push API. https://developers.line.biz/console/ [API Reference]( https://developers.line.biz/en/reference/messaging-api/#send-narrowcast-message) Basic knowledge of n8n workflows and JSON formatting. An active n8n instance where you can configure error workflows. Step-by-Step Setup Configure the Error Trigger: Set this workflow as the default error workflow in your n8n instance. https://docs.n8n.io/flow-logic/error-handling/ Set Up LINE Push API: Replace <UID HERE> in the HTTP Request node with your LINE user ID to ensure notifications are sent to the correct account.
by Daniel Shashko
Quick Overview This error workflow triggers when any other n8n workflow fails, checks the failing URL from an external IP via Bright Data and consults the vendor’s Statuspage summary, then uses OpenAI to generate a brief verdict and posts the result to different Slack channels. How it works Triggers when another n8n workflow execution fails via the Error Trigger. Extracts the failing node, error message, HTTP code, and the URL/host involved, and classifies the failure (for example auth, rate limit, connectivity, server error, or internal code). If the failure involves an external (non-owned) host, calls Bright Data Web Unlocker to fetch the same URL from an external IP and derives the vendor’s Statuspage summary URL. Fetches the vendor’s /api/v2/summary.json through Bright Data and detects whether the vendor has declared an active incident. Combines the available evidence to decide whether the issue is a vendor outage, a rate limit, or your own bug. Uses OpenAI (GPT-5.6) to produce a two-sentence, evidence-based explanation of what broke and what action to take next. Posts the explanation, evidence, and execution link to Slack, routing the message to an incidents, ops, or dev channel based on the verdict. Setup Add a Bright Data HTTP Header Auth credential for the https://api.brightdata.com/request endpoint and set the Bright Data zone name used by Web Unlocker. Add an OpenAI credential and ensure the chat model referenced in the workflow (gpt-5.6-terra) is available in your OpenAI account. Add a Slack OAuth credential and set the three target channel names/IDs for outage, rate limit, and bug notifications. Update the list of your_own_domains so calls to your own services are always classified as internal issues. Activate this workflow, then set it as the Error Workflow in each workflow you want to monitor (Workflow settings → Error Workflow) so n8n routes failures to it.
by Max
N8N Automated Twitter Reply Bot Workflow For latest version, check: dziura.online/automation Latest documentation can be find here You must have Apify community node installed before pasting the JSON to your workflow. Overview This n8n workflow creates an intelligent Twitter/X reply bot that automatically scrapes tweets based on keywords or communities, analyzes them using AI, generates contextually appropriate replies, and posts them while avoiding duplicates. The bot operates on a schedule with intelligent timing and retry mechanisms. Key Features Automated tweet scraping** from Twitter/X using Apify actors AI-powered reply generation** using LLM (Large Language Model) Duplicate prevention** via MongoDB storage Smart scheduling** with timezone awareness and natural posting patterns Retry mechanism** with failure tracking Telegram notifications** for status updates Manual trigger** option via Telegram command Required Credentials & Setup 1\. Telegram Bot Create a bot via @BotFather on Telegram Get your Telegram chat ID to receive status messages Credential needed**: Telegram account (Bot token) 2\. MongoDB Database Set up a MongoDB database to store replied tweets and prevent duplicates Create a collection (default name: collection\_name) Credential needed**: MongoDB account (Connection string) Tutorial**: MongoDB Connection Guide 3\. Apify Account Sign up at Apify.com Primary actors used**: Search Actor: api-ninja/x-twitter-advanced-search - For keyword-based tweet scraping (ID: 0oVSlMlAX47R2EyoP) Community Actor: api-ninja/x-twitter-community-search-post-scraper - For community-based tweet scraping (ID: upbwCMnBATzmzcaNu) Credential needed**: Apify account (API token) 4\. OpenRouter (LLM Provider) Sign up at OpenRouter.ai Used for AI-powered tweet analysis and reply generation Model used**: x-ai/grok-3 (configurable) Credential needed**: OpenRouter account (API key) 5\. Twitter/X API Set up developer account at developer.x.com Note**: Free tier limited to ~17 posts per day Credential needed**: X account (OAuth2 credentials) Workflow Components Trigger Nodes 1\. Schedule Trigger Purpose**: Runs automatically every 20 minutes Smart timing**: Only active between 7 AM - 11:59 PM (configurable timezone) Randomization**: Built-in probability control (~28% execution chance) to mimic natural posting patterns 2\. Manual Trigger Purpose**: Manual execution for testing 3\. Telegram Trigger Purpose**: Manual execution via /reply command in Telegram Usage**: Send /reply to your bot to trigger the workflow manually Data Processing Flow 1\. MongoDB Query (Find documents) Purpose**: Retrieves previously replied tweet IDs to avoid duplicates Collection**: collection\_name (configure to match your setup) Projection**: Only fetches tweet\_id field for efficiency 2\. Data Aggregation (Aggregate1) Purpose**: Consolidates tweet IDs into a single array for filtering 3\. Keyword/Community Selection (Keyword/Community List) Purpose**: Defines search terms and communities Configuration**: Edit the JSON to include your keywords and Twitter community IDs Format:{ "keyword\_community\_list": \[ "SaaS", "Entrepreneur", "1488663855127535616" // Community ID (19-digit number) \], "failure": 0 } 4\. Random Selection (Randomized community, keyword) Purpose**: Randomly selects one item from the list to ensure variety 5\. Routing Logic (If4) Purpose**: Determines whether to use Community search or Keyword search Logic**: Uses regex to detect 19-digit community IDs vs keywords Tweet Scraping (Apify Actors) Community Search Actor Actor**: api-ninja/x-twitter-community-search-post-scraper Purpose**: Scrapes tweets from specific Twitter communities Configuration:{ "communityIds": \["COMMUNITY\_ID"\], "numberOfTweets": 40 } Search Actor Actor**: api-ninja/x-twitter-advanced-search Purpose**: Scrapes tweets based on keywords Configuration:{ "contentLanguage": "en", "engagementMinLikes": 10, "engagementMinReplies": 5, "numberOfTweets": 20, "query": "KEYWORD", "timeWithinTime": "2d", "tweetTypes": \["original"\], "usersBlueVerifiedOnly": true } Filtering System (Community filter) The workflow applies multiple filters to ensure high-quality replies: Text length**: >60 characters (substantial content) Follower count**: >100 followers (audience reach) Engagement**: >10 likes, >3 replies (proven engagement) Language**: English only Views**: >100 views (visibility) Duplicate check**: Not previously replied to Recency**: Within 2 days (configurable in actor settings) AI-Powered Reply Generation LLM Chain (Basic LLM Chain) Purpose**: Analyzes filtered tweets and generates contextually appropriate replies Model**: Grok-3 via OpenRouter (configurable) Features**: Engagement potential scoring User authority analysis Timing optimization Multiple reply styles (witty, informative, supportive, etc.) <100 character limit for optimal engagement Output Parser (Structured Output Parser) Purpose**: Ensures consistent JSON output format Schema:{ "selected\_tweet\_id": "tweet\_id\_here", "screen\_name": "author\_screen\_name", "reply": "generated\_reply\_here" } Posting & Notification System Twitter Posting (Create Tweet) Purpose**: Posts the generated reply as a Twitter response Error handling**: Catches API limitations and rate limits Status Notifications Success**: Notifies via Telegram with tweet link and reply text Failure**: Notifies about API limitations or errors Format**: HTML-formatted messages with clickable links Database Storage (Insert documents) Purpose**: Saves successful replies to prevent future duplicates Fields stored**: tweet\_id, screen\_name, reply, tweet\_url, timestamp Retry Mechanism The workflow includes intelligent retry logic: Failure Counter (If5, Increment Failure Counter1) Logic**: If no suitable tweets found, increment failure counter Retry limit**: Maximum 3 retries with different random keywords Wait time**: 3-second delay between retries Final Failure Notification Trigger**: After 4 failed attempts Action**: Sends Telegram notification about unsuccessful search Recovery**: Manual retry available via /reply command Configuration Guide Essential Settings to Modify MongoDB Collection Name: Update collection\_name in MongoDB nodes Telegram Chat ID: Replace 11111111111 with your actual chat ID Keywords/Communities: Edit the list in Keyword/Community List node Timezone: Update timezone in Code node (currently set to Europe/Kyiv) Actor Selection: Enable only one actor (Community OR Search) based on your needs Filter Customization Adjust filters in Community filter node based on your requirements: Minimum engagement thresholds Text length requirements Time windows Language preferences LLM Customization Modify the AI prompt in Basic LLM Chain to: Change reply style and tone Adjust engagement criteria Modify scoring algorithms Set different character limits Usage Tips Start small: Begin with a few high-quality keywords/communities Monitor performance: Use Telegram notifications to track success rates Adjust filters: Fine-tune based on the quality of generated replies Respect limits: Twitter's free tier allows ~17 posts/day Test manually: Use /reply command for testing before scheduling Troubleshooting Common Issues No tweets found: Adjust filter criteria or check keywords API rate limits: Reduce posting frequency or upgrade Twitter API plan MongoDB connection: Verify connection string and collection name Apify quota: Monitor Apify usage limits LLM failures: Check OpenRouter credits and model availability Best Practices Monitor your bot's replies for quality and appropriateness Regularly update keywords to stay relevant Keep an eye on engagement metrics Adjust timing based on your audience's activity patterns Maintain a balanced posting frequency to avoid appearing spammy Documentation Links Full Documentation**: Google Doc Guide Latest Version**: dziura.online/automation MongoDB Setup Tutorial**: YouTube Guide This workflow provides a comprehensive solution for automated, intelligent Twitter engagement while maintaining quality and avoiding spam-like behavior.
by Kanaka Kishore Kandregula
Boost Sales with Automated Magento 2 Product and Coupon Notifications This n8n workflow automatically posts new Magento products & coupons to Telegram while preventing duplicates. Key benefits: ✅ Increase conversions with time-sensitive alerts (creates urgency) ✅ Reduce missed opportunities with 24/7 monitoring ✅ Improve customer engagement through rich media posts ✅ Save hours per week by automating manual posting Why This Works: Triggers impulse buys with real-time notifications Eliminates human error in duplicate posting Scales effortlessly as your catalog grows Provides analytics through database tracking Perfect for e-commerce stores wanting to: Announce new arrivals instantly Promote limited-time offers effectively Maintain consistent social presence Track performance through MySQL This workflow automatically: ✅ Detects new products AND coupons in Magento ✅ Prevents duplicate postings with MySQL tracking ✅ Posts rich formatted alerts to Telegram ✅ Runs on a customizable schedule ✨ Key Features For Products: Product name, price, and image Direct store link Media gallery support For Coupons: Coupon code and status Usage limits (times used/available) Active/inactive status indicator Core System: 🔒 MySQL duplicate prevention⏰ 1-hour schedule (customizable)📱 Telegram notifications with Markdown 🛠️ Configuration Guide Database Setup CREATE TABLE IF NOT EXISTS posted_items (item_id INT PRIMARY KEY, item_type ENUM('product', 'coupon') NOT NULL, item_value VARCHAR(255), posted BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); Required Credentials Magento API (HTTP Header Auth) MySQL Database Telegram Bot Sticky Notes `❗ IMPORTANT SETUP NOTES ❗ For products: Ensure 'url_key' exists in custom_attributes For coupons: Magento REST API must expose coupon rules MySQL user needs INSERT/SELECT privileges Telegram bot must be added to your channel first 🔄 SCHEDULING: - Default: Checks every 1 hours at :00 - Adjust in Schedule Trigger node ` ⚙️ Technical Details Workflow Logic: Checks for new products/coupons via Magento API Verifies against MySQL database Only posts if record doesn't exist Updates database after successful post Error Handling: Automatic skip if product/coupon exists Empty result handling Connection timeout protection 🌟 Why This Template? Complete Solution**: Handles both products AND coupons Battle-Tested**: Prevents all duplicates reliably Ready-to-Use**: Just add your credentials Fully Customizable**: Easy to modify for different needs Perfect for e-commerce stores using Magento 2 who want automated, duplicate-free social notifications!
by Incrementors
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 📦 Multi-Platform Price Finder: Scraping Prices with Bright Data & Telegram An intelligent n8n automation that fetches real-time product prices from marketplaces like Amazon, Wayfair, Lowe's, and more using Bright Data's dataset, and sends promotional messages via Telegram using AI—perfect for price tracking, deal alerts, and affiliate monetization. 📋 Overview This automation tracks product prices across top e-commerce platforms using Bright Data and sends out alerts via Telegram based on the best available deals. The workflow is designed for affiliate marketers, resellers, and deal-hunting platforms who want real-time competitive pricing. ✨ Key Features 🔎 Multi-Platform Scraping: Supports Amazon, Wayfair, Lowe's, and more ⚡ Bright Data Integration: Access to structured product snapshots 📢 AI-Powered Alerts: Generates Telegram-ready promo messages using AI 🧠 Lowest Price Logic: Filters and compares products across sources 📈 Data Merge & Processing: Combines multiple sources into a single stream 🔄 Keyword-Driven Search: Searches using dynamic keywords from form input 📦 Scalable Design: Built for multiple platform processing simultaneously 🧼 Clean Output: Strips unnecessary formatting before publishing 🎯 What This Workflow Does Input Search Keywords**: User-defined keyword(s) from a form trigger Platform Sources**: Wayfair, Lowe's, Amazon, etc. Bright Data API Key**: Needed for authenticated scraping Processing Steps User Input via n8n form trigger (keyword-based) Bright Data API Trigger for each marketplace Status Polling: Wait until scraping snapshot is ready Data Retrieval: Fetches JSON results from Bright Data snapshot Data Cleaning & Normalization: Price, title, and URL are extracted Merging Products from all platforms Find Lowest Price Product using custom JS logic AI Prompt Generation via Claude/Anthropic Telegram Formatting and alert message creation Output 🛍️ Product Title 💰 Final Price 🔗 Product URL ✉️ Promotional Message (for Telegram/notifications) 🚀 Setup Instructions Step 1: Import Workflow Open n8n > Workflows > + Add Workflow Import the provided JSON file Step 2: Configure Bright Data Add credentials under Credentials → Bright Data API Set the appropriate dataset_id for each platform Ensure dataset includes title, price, and url fields Step 3: Enable Keyword Trigger Use the built-in Form Trigger node Input: Single keyword field (SearchHere) Step 4: Telegram or AI Integration Modify prompt node for your language or tone Add Telegram webhook or integration where needed 📖 Usage Guide Adding Keywords Trigger the form with a product keyword like iPhone 15 Wait for workflow to fetch best deals and generate Telegram message Understanding AI-Powered Output AI creates a short, engaging message like: > "🔥 Deal Alert: Get the iPhone 15 for just ₹74,999! Limited stock—Check it out: [link]" Debugging Output Output node shows cleaned JSON with title, price, url, and message If no valid results, debug message is returned with sample structure info 🔧 Customization Options Add More Marketplaces Clone any HTTP Request node (e.g., for Wayfair) Update dataset_id and required output fields Modify Price Logic Update the Code1 node to change comparison (e.g., highest price instead of lowest) Change Message Format Edit the AI Agent prompt to customize tone/language Add emoji, CTAs, or markdown formatting as needed 🧪 Test & Activation Add a few sample keywords via form trigger Run manually or set as a webhook for external app input Check final AI-generated message in output node 🚨 Troubleshooting | Issue | Solution | |-------|----------| | No Data Returned | Ensure keyword matches real products | | Status Not 'Ready' | Bright Data delay; add Wait nodes | | Invalid API Key | Check Bright Data credentials | | AI Errors | Adjust prompt or validate input fields | 📊 Use Cases 💰 Affiliate Campaigns: Show best deals across platforms 🛒 Deal Pages: Post live offers with product links 🧠 Competitor Analysis: Track cross-platform pricing 🔔 Alert Bots: Send real-time alerts to Telegram or Slack ✅ Quick Setup Checklist [x] Bright Data API credentials configured [x] n8n form trigger enabled [x] Claude or AI model connected [x] All HTTP requests working [x] AI message formatting verified 🌐 Example Output { "title": "Apple iPhone 15 Pro Max", "price": 1199, "url": "https://amazon.com/iphone-15", "message": "🔥 Grab the Apple iPhone 15 Pro Max for just $1199! Limited deal—Check it out: https://amazon.com/iphone-15" } 📬For any questions or support, please contact: 📧 <info@incrementors.com> or fill out this form: https://www.incrementors.com/contact-us/
by Jay Emp0
Overview Fetch Multiple Google Analytics GA4 metrics daily, post to Discord, update previous day’s entry as GA data finalizes over seven days. Benefits Automates daily traffic reporting Maintains single message per day, avoids channel clutter Provides near–real-time updates by editing prior messages Use Case Teams tracking website performance via Discord (or any chat tool) without manual copy–paste. Marketing managers, community moderators, growth hackers. If your manager asks you for daily marketing report every morning, you can now automate it Notes google analytics node in n8n does not provide real time data. The node updates previous values for the next 7 days discord node on n8n does not have features to update an exisiting message by message id. So we have used the discord api for this most businesses use multiple google analytics properties across their digital platforms Core Logic Schedule trigger fires once a day. Google Analytics node retrieves metrics for date ranges (past 7 days) Aggregate node collates all records. Discord node fetches the last 10 messages in the broadcast channel Code node maps existing Discord messages by to the google analytics data using the date fields For each GA record: If no message exists → send new POST to the discord channel If message exists and metrics changed, send an update patch to the existing discord message Batch loops + wait nodes prevent rate-limit. Setup Instructions Import workflow JSON into n8n. Follow the n8n guide to Create Google Analytics OAuth2 credential with access to all required GA accounts. Follow the n8n guide to Create Discord OAuth2 credential for “Get Messages” operations. Follow the Discord guide to Create HTTP Header Auth credential named “Discord-Bot” with header Key: Authorization Value: Bot <your-bot-token> In the two Set nodes in the beginning of the flow, assign discord_channel_id and google_analytics_id. Get your discord channel id by sending a text on your discord channel and then copy message link Paste the text below and you will see your message link in the form of https://discord.com/channels/server_id/channel_id/message_id , you will want to get the channel_id which is the number in the middle Find your google analytics id by going to google analytics dashboard, seeing the properties in the top right and copy paste that number to the flow Adjust schedule trigger times to your preferred report hour. Activate workflow. Customization Replace Discord HTTP Request nodes with Slack, ClickUp, WhatsApp, Telegram integrations by swapping POST/PATCH endpoints and authentication.
by David
Who might benfit from this workflow? Do you have to record your working hours yourself? Then this n8n workflow in combination with an iOS shortcut will definitely help you. Once set up, you can use a shortcut, which can be stored as an app icon on your home screen, to record the start, end and duration of your break. How it works Once setup you can tap the iOS shortcut on your iPhone. You will see a menu containing three options: "Track Start", "Track Break" and "Track End". After time is tracked iOS will display you a notification about the successful operation. How to set it up Copy the notion database to your notion workspace (Top right corner). Copy the n8n workflow to your n8n workspace In the notion nodes in the n8n workflow, add your notion credentials and select the copied notion database. Download the iOS Shortcut from our documentation page Edit the shortcut and paste the url of your n8n Webhook trigger node to the first "Text" node of the iOS shortcut flow. It is a best practice to use authentication. You can do so by adding "Header" auth to the webhook node and to the shrotcut. You need help implementing this or any other n8n workflow? Feel free to contact me via LinkedIn or my business website. You want to start using n8n? Use this link to register for n8n (This is an affiliate link)