by Davi Saranszky Mesquita
Log errors and avoid sending too many emails Use case Most of the time, it’s necessary to log all errors that occur. However, in some cases, a scheduled task or service consuming excessive resources might trigger a surge of errors. To address this, we can log all errors but limit alerts to a maximum of one notification every 5 minutes. What this workflow does This workflow can be configured to receive error events, or you can integrate it before your own error-handling logic. If used as the primary error handler, note that this flow will only add a database log entry and take no further action. You’ll need to add your own alerts (e.g., email or push notifications). Below is an example of a notification setup I prefer to use. At the end, there’s an error cleanup option. This feature is particularly useful in development environments. If you already have an error-handling workflow, you can call this one as a sub-workflow. Its final steps include cleanup logic to reset the execution state and terminate the workflow. Setup Verify all Postgres nodes and credentials when using the 'Error Handling Sample' How to adjust it to your needs 1) You can set this workflow as a sub-workflow within your existing error-handling setup. 2) Alternatively, you can add the "Error Handling Sample" at the end of this workflow, which sends email and push notifications. Configuration Requirements: ⚠️ You must create a database table for this to work! DDL of this sample: create table p1gq6ljdsam3x1m."N8Err" ( id serial primary key, created_at timestamp, updated_at timestamp, created_by varchar, updated_by varchar, nc_order numeric, title text, "URL" text, "Stack" text, json json, "Message" text, "LastNode" text ); alter table p1gq6ljdsam3x1m."N8Err" owner to postgres; create index "N8Err_order_idx" on p1gq6ljdsam3x1m."N8Err" (nc_order); by Davi Saranszky Mesquita https://www.linkedin.com/in/mesquitadavi/
by Mutasem
Use Case Following up at the right time is one of the most important parts of sales. This workflow uses Gmail to send outreach emails to Hubspot contacts that have already been contacted only once more than a month ago, and records the engagement in Hubspot. Setup Setup HubSpot Oauth2 creds (Be careful with scopes. They have to be exact, not less or more. Yes, it’s not simple, but it’s well documented in the n8n docs. Be smarter than me, read the docs) Setup Gmail creds. Change the email variables in the Set keys node How to adjust this template There's plenty to do here because the approach here is really just a starting point. Most important here is to figure out what your rules are to follow up. After a month? More than once? Also, remember to update the follow-up email! Unless you want to sell n8n 😉
by Custom Workflows AI
Introduction This workflow offers a streamlined solution for uploading multiple files to a GitHub repository simultaneously using GitHub's REST API. It addresses a significant limitation of n8n's native GitHub node, which only supports single-file uploads at a time. By leveraging GitHub's Git Data API, this workflow creates a new Git tree containing multiple files, commits this tree, and updates the target branch—all in a single automated process. The workflow is particularly valuable for automation scenarios that require batch file operations, such as deploying website updates, publishing documentation, or maintaining configuration files across repositories. It eliminates the need for multiple separate API calls when working with multiple files, making your automation more efficient and less prone to partial update issues. By abstracting the complexities of GitHub's Git Data API into a reusable workflow, it provides a practical solution for developers, content managers, and DevOps professionals who need to programmatically manage repository content at scale. Who is this for? This workflow is designed for: Developers and DevOps engineers who need to automate file updates in GitHub repositories Content managers who regularly publish multiple files to GitHub-hosted websites or documentation Automation specialists looking to integrate GitHub operations into larger workflows Teams using n8n for CI/CD processes who need to push code or configuration changes Users should have basic familiarity with GitHub concepts (repositories, branches, commits) and should be comfortable obtaining and using GitHub Personal Access Tokens. While the workflow handles the API complexity, users should understand the fundamentals of version control to effectively utilize and customize it. What problem is this workflow solving? This workflow addresses several key challenges: Limited batch operations: n8n's native GitHub node only supports uploading one file at a time, making multi-file operations cumbersome and inefficient. API complexity: GitHub's Git Data API requires multiple sequential calls with interdependent data to create commits with multiple files, which is complex to implement manually. Automation bottlenecks: Without this workflow, automating multi-file updates would require either multiple separate API calls (risking partial updates) or custom scripting outside of n8n. Consistency issues: When files need to be updated together (e.g., code and corresponding documentation), this workflow ensures they're committed in a single atomic operation. By solving these issues, the workflow enables reliable, atomic updates of multiple files, maintaining repository consistency and simplifying automation processes. What this workflow does Overview This workflow uses GitHub's REST API to push multiple files to a repository in a single operation. It follows Git's internal model by: Retrieving the current state of the repository Creating a new tree with the files to be added or updated Creating a new commit with this tree Updating the branch reference to point to the new commit Process Initialization: The workflow starts with a manual trigger and sets up GitHub credentials and repository information. File Content Definition: Two "Set" nodes define the content for the files to be uploaded. Repository State Retrieval: The workflow fetches the latest commit SHA for the specified branch It then retrieves the base tree SHA from this commit Tree Creation: A new Git tree is created that includes both files (file1.txt and file2.txt), specifying their paths and content. Commit Creation: A new commit is created with the specified commit message, referencing the new tree and the parent commit. Branch Update: Finally, the branch reference is updated to point to the new commit, making the changes visible in the repository. Setup To use this workflow: Import the workflow: Download the workflow JSON and import it into your n8n instance. Create a GitHub Personal Access Token: Go to GitHub Settings → Developer Settings → Personal Access Tokens → Fine-grained tokens Create a new token with "Contents" permission (Read and write) for your target repository Configure the workflow: Update the "Set Github Info" node with: Your GitHub Personal Access Token Your GitHub username Your repository name The target branch (default is "main") A commit message Define file content: Modify the "File 1" and "File 2" nodes with the content you want to upload Adjust file paths if needed: In the "Create new tree" node, update the file paths if you want to change where the files are stored in the repository Save and run the workflow: Click "Test workflow" to execute the process. How to customize this workflow to your needs This workflow can be adapted in several ways: Add more files: Create additional "Set" nodes for more file content In the "Create new tree" node, add more tree entries following the same pattern (path, mode, type, content) Change file locations: Modify the "path" parameters in the "Create new tree" node to place files in different directories Dynamic file content: Replace the static content in the "File" nodes with data from other sources Use previous nodes or HTTP requests to generate file content dynamically Conditional file updates: Add IF nodes to determine which files should be updated based on certain conditions Create separate branches in your workflow for different update scenarios Scheduled updates: Replace the manual trigger with a Schedule node to run the workflow at specific intervals Combine with other triggers like Webhook or database events to push files when certain events occur Error handling: Add Error Trigger nodes to handle potential API failures Implement notification nodes to alert you of successful pushes or failures
by Basil Irfan
🚀 LinkedIn Lead-Gen Flywheel – Apify → GPT-4o → Google Sheets → Phantombuster What this workflow does Collect audience specs – simple web-form asks for your ideal company profile. Generate a laser-targeted Apollo search URL with GPT-4o (no manual filtering). Scrape the matching leads via an Apify actor (returns clean JSON). Craft hyper-personalized icebreakers for each lead using GPT-4o (ultra-short, human-sounding). Log everything to Google Sheets – name, LinkedIn URL, company site, summary, and the icebreaker. (Optional) Auto-launch Phantombuster to fire off those connection requests at scale. Why it matters Zero grunt work:** audience research, scraping, copy-writing, and outreach all run hands-free. Punchy personalization:** micro-icebreakers outperform canned intros, boosting accept rates. Scales with you:** flip a switch to go from 10 to 1 000+ connections/day. Node rundown | Step | Node | Key Inputs | Key Outputs | |------|------|-----------|-------------| | 1 | Form Trigger | Audience description | description_of_company | | 2 | OpenAI (GPT-4o) | Audience text | SearchUrl | | 3 | HTTP Request – Apify | SearchUrl, APIFY_TOKEN | Lead JSON | | 4 | OpenAI (GPT-4o) | Lead JSON | Icebreaker | | 5 | Google Sheets | Lead + Icebreaker | Row append/update | | 6 | Aggregate | Sheet rows | Batched output | | 7 | HTTP Request – Phantombuster | PHANTOM_KEY, AGENT_ID | Launch status | Prerequisites OpenAI API key** (GPT-4o access recommended) Apify API token** with access to actor id Google Service Account creds** shared with your target sheet Phantombuster API key** and Agent ID for your LinkedIn connector Active Apollo account to open the generated search URL (only required for debugging) Setup (5-minute sprint) Import the workflow into n8n. Add the required credentials in Credentials → OpenAI, Apify, Google Sheets, Phantombuster. Paste your Phantombuster Agent ID into the HTTP Request node URL. Publish the Form Trigger URL—this is where you (or your SDRs) describe the target audience. Hit Execute Workflow once to verify data flows end-to-end. Customization tips Titles & keywords:** tweak the prompt in the first GPT-4o node to lock in different roles or industries. Icebreaker style:** adjust the second GPT-4o prompt to match your brand voice. Data columns:** map extra fields from Apify into Google Sheets as needed. Skip outreach:** disable the Phantombuster node if you only want the leads + icebreakers.
by Yaron Been
Create your own intelligent Telegram bot that summarizes articles and processes commands automatically. This powerful workflow turns Telegram into your personal AI assistant, handling /help, /summary <URL>, and /img <prompt> commands with intelligent responses - perfect for teams, content creators, and anyone wanting smart automation in their messaging. 🚀 What It Does Smart Command Processing: Automatically recognizes and routes /help, /summary, and /img commands to appropriate AI-powered responses. Article Summarization: Fetches any URL, extracts content, and generates professional 10-12 bullet point summaries using OpenAI. Image Generation: Processes image prompts and integrates with AI image generation services. Help System: Provides users with clear command instructions and usage examples. 🎯 Key Benefits ✅ Personal AI Assistant: Get instant article summaries in Telegram ✅ Team Productivity: Share quick content summaries with colleagues ✅ Content Research: Rapidly digest articles and web content ✅ 24/7 Availability: Bot works around the clock without maintenance ✅ Easy Commands: Simple /summary <link> format anyone can use ✅ Scalable: Handles multiple users and requests simultaneously 🏢 Perfect For Content Teams & Researchers Journalists quickly summarizing news articles Marketing teams researching competitor content Students processing academic papers and articles Analysts digesting industry reports Business Applications Team Communication**: Share article insights in group chats Research Assistance**: Quick content analysis for decision making Content Curation**: Summarize articles for newsletters or reports Knowledge Sharing**: Help teams stay informed efficiently ⚙️ What's Included Complete Bot Workflow: Ready-to-deploy Telegram bot with all commands AI Integration: OpenAI-powered content summarization and processing Smart Routing: Intelligent command recognition and response system Error Handling: Robust system handles invalid commands gracefully Extensible Design: Easy to add new commands and features 🔧 Quick Setup Requirements n8n Platform**: Cloud or self-hosted instance Telegram Bot Token**: Create via @BotFather (free, 5 minutes) OpenAI API**: For content summarization (pay-per-use) Basic Configuration**: Follow 15-minute setup guide 📱 User Experience Simple Commands: /help - Show available commands /summary https://example.com - Get article summary /img sunset over mountains - Generate image (with supported APIs) Sample Summary Output: 📄 Article Summary: • Company reports 40% revenue growth in Q3 2024 • New AI features driving customer acquisition • Expansion into European markets planned for 2025 • Investment in R&D increased by 25% this quarter • Customer satisfaction scores improved to 94% • Three new product launches scheduled for next year • Remote work policy made permanent post-pandemic • Sustainability goals on track to meet 2025 targets • Partnership with major tech firm announced • Stock price up 15% following earnings report 🎨 Customization Options Command Extensions: Add custom commands for specific workflows Response Formatting: Customize summary style and length Multi-Language: Support different languages for international teams Integration APIs: Connect additional AI services and tools User Permissions: Control who can use specific commands Analytics: Track usage patterns and popular content 🏷️ Tags & Categories #telegram-bot #ai-automation #content-summarization #article-processing #team-productivity #openai-integration #smart-assistant #workflow-automation #messaging-bot #content-research #ai-agent #n8n-workflow #business-automation #telegram-integration #ai-powered-bot 💡 Use Case Examples News Team: Quickly summarize breaking news articles for editorial meetings Marketing Agency: Research competitor content and industry trends efficiently Sales Team: Digest industry reports and share insights with prospects Remote Team: Keep everyone informed with summarized company updates 📈 Expected Results 80% faster** content research and analysis 50% more articles** processed per day vs manual reading 100% team accessibility** through familiar Telegram interface 24/7 availability** for global teams across time zones 🛠️ Setup & Support Quick Start: Deploy your bot in 15 minutes with included guide Video Tutorial: Complete walkthrough available Template Commands: Pre-built responses and formatting Expert Support: Direct help from workflow creator 📞 Get Help & Resources YouTube: https://www.youtube.com/@YaronBeen/videos 💼 Professional Support LinkedIn: https://www.linkedin.com/in/yaronbeen/ 📧 Direct Help Email: Yaron@nofluff.online - Response within 24 hours Ready to build your intelligent Telegram assistant? Get this AI Telegram Bot Agent and transform your messaging app into a powerful content processing tool. Perfect for teams, researchers, and anyone who wants AI-powered assistance directly in Telegram. Stop manually reading long articles. Start getting instant, intelligent summaries with simple commands.
by Daniel Shashko
This workflow automates daily or manual keyword rank tracking on Google Search for your target domain. Results are logged in Google Sheets and sent via email using Bright Data's SERP API. Requirements: n8n (local or cloud) with Google Sheets and Gmail nodes enabled Bright Data API credentials Main Use Cases Track Google search rankings for multiple keywords and domains automatically Maintain historical rank logs in Google Sheets for SEO analysis Receive scheduled or on-demand HTML email reports with ranking summaries Customize or extend for advanced SEO monitoring and reporting How it works The workflow is divided into several logical steps: 1. Workflow Triggers Manual:** Start by clicking 'Test workflow' in n8n. Scheduled:** Automatically triggers every 24 hours via Schedule Trigger. 2. Read Keywords and Target Domains Fetches keywords and domains from a specified Google Sheets document. The sheet must have columns: Keyword and Domain. 3. Transform Keywords Formats each keyword for URL querying (spaces become +, e.g., seo expert → seo+expert). 4. Batch Processing Processes keywords in batches so each is checked individually. 5. Get Google Search Results via Bright Data Sends a request to Bright Data's SERP API for each keyword with location (default: US). Receives the raw HTML of the search results. 6. Parse and Find Ranking Extracts all non-Google links from HTML. Searches for the target domain among the results. Captures the rank (position), URL, and total number of results checked. Saves timestamp. 7. Save Results to Google Sheets Appends the findings (keyword, domain, rank, found URL, check time) to a “Results” sheet for history. 8. Generate HTML Report and Send Email Builds an HTML table with current rankings. Emails the formatted table to the specified recipient(s) with Gmail. Setup Steps Google Sheets: Create a sheet named “Results”, and another with Keyword and Domain columns. Update document ID and sheet names in the workflow’s config. Bright Data API: Acquire your Bright Data API token. Enter it in the Authorization header of the 'Getting Ranks' HTTP Request node. Gmail: Connect your Gmail account via OAuth2 in n8n. Set your destination email in the 'Sending Email Message' node. Location Customization: Modify the gl= parameter in the SERP API URL to change country/location (e.g., gl=GB for the UK). Notes This workflow is designed for n8n local or cloud environments with suitable connector credentials. Customize batch size, recipient list, or ranking extraction logic per your needs. Use sticky notes in n8n for further setup guidance and workflow tips. With this workflow, you have an automated, repeatable process to monitor, log, and report Google search rankings for your domains—ideal for SEO, digital marketing, and reporting to clients or stakeholders.
by Marketing Canopy
Automate Pinterest Analysis & AI-Powered Content Suggestions With Pinterest API This workflow automates the collection, analysis, and summarization of Pinterest Pin data to help marketers optimize content strategy. It gathers Pinterest Pin performance data, analyzes trends using an AI agent, and delivers actionable insights to the Marketing Manager via email. This setup is ideal for content creators and marketing teams who need weekly insights on Pinterest trends to refine their content calendar and audience engagement strategy. Prerequisites Before setting up this workflow, ensure you have the following: Pinterest API Access & Developer Account Sign up at Pinterest Developers and obtain API credentials. Ensure you have access to both Organic and Paid Pin data. Airtable Account & API Key Create an account at Airtable and set up a database. Obtain an API key from Account Settings. AI Agent for Trend Analysis An AI-powered agent (such as OpenAI's GPT or a custom ML model) is required to analyze Pinterest trends. Ensure integration with your workflow automation tool (e.g., Zapier, Make, or a custom Python script). Email Automation Setup Configure an SMTP email service (e.g., Gmail, Outlook, SendGrid) to send the summarized results to the Marketing Manager. Step-by-Step Guide to Automating Pinterest Pin Analysis 1. Scheduled Trigger for Data Collection At 8:00 AM (or your preferred time), an automated trigger starts the workflow. Adjust the timing based on your marketing schedule to optimize trend tracking. 2. Fetch Data from Pinterest API Retrieve recent Pinterest Pin performance data, including impressions, clicks, saves, and engagement rate. Ensure both Organic and Paid Ads data are labeled correctly for clarity. 3. Store Data in Airtable Pins are logged and categorized in an Airtable database for further analysis. Sample Airtable Template for Pinterest Pins | Column Name | Description | |---------------|---------------------------------------| | pin_id | Unique identifier for each Pin | | created_at | Timestamp of when the Pin was created | | title | Title of the Pin | | description| Short description of the Pin | | link | URL linking to the Pin | | type | Type of Pin (e.g., organic, ad) | 4. AI Agent Analyzes Pinterest Trends The AI model reviews the latest Pinterest data and identifies: Trending Topics & Keywords** Engagement Patterns** Audience Interests & Behavior Changes** Optimal Posting Times & Formats** 5. Generate Content Suggestions with AI The AI Agent recommends new Pin ideas and content calendar updates to maximize engagement. Suggestions include creative formats, hashtags, and timing adjustments for better performance. 6. Summary & Insights Generated by AI A concise report is created, summarizing Pinterest trends and actionable insights for content strategy. 7. Email Report Sent to the Marketing Manager The summary is emailed to the Marketing Manager to assist with content planning and execution. The report includes: Performance Overview of Recent Pins Trending Content Ideas Best Performing Pin Formats AI-Generated Recommendations This workflow enables marketing teams to automate Pinterest analysis and optimize their content strategy through AI-driven insights. 🚀
by Agent Studio
Overview This workflow helps you compare Claude 3.5 Sonnet and Gemini 2.0 Flash when extracting data from a PDF This workflow extracts and processes the data within a PDF in one single step, instead of calling an OCR and then an LLM” How it works The initial 2 steps download the PDF and convert it to base64. This base64 string is then sent to both Claude 3.5 Sonnet and Gemini 2.0 Flash to extract information. This workflow is made to let you compare results, latency, and cost (in their dedicated dashboard). How to use it Set up your Google Drive if not already done Select a document on your Google Drive Modify the prompt in "Define Prompt" to extract the information you need and transform it as wanted. Get a Claude API key and/or Gemini API key Note that you can deactivate one of the 2 API calls if you don't want to try both Test the Workflow
by n8n Team
This workflow syncs your GitHub issues to your Notion database. Whenever a new issue is opened in your GitHub repository, it will be shown in your Notion database, syncing the status property (opened/edited/closed/deleted). In case there’s no Notion database existing yet, a new one will be created automatically. Prerequisites Notion account and Notion credentials GitHub account and GitHub credentials How it works Github trigger starts the workflow when a new issue is created in a GitHub repository. If node splits the workflow conditionally, showing whether the issue is new or an update of an existing issue. If data is new, the Notion node will create a new database page in Notion. If the data is not new, the Function node will create a Notion filter that will find its specific database page by issue ID. Switch node will then conditionally route the data into the appropriate Notion page, based on the update made upon it.
by Ibrahim
Overview This n8n workflow is designed to extract specific interests from messages in a Telegram chat and retrieve related information using the Facebook Graph API. It aims to provide a streamlined solution for parsing and analyzing user-provided interests within the Telegram platform. Features Interest Extraction:** Automatically identifies and extracts interests from messages that start with the hashtag "#interest". Data Retrieval:** Utilizes the Facebook Graph API to retrieve information related to the extracted interests. Structured Outputs:** Presents the retrieved data in an organized format for further analysis and review. Requirements Operational instance of n8n (self-hosted or cloud version). Basic understanding of n8n workflows and nodes. Setup and Configuration Import Workflow: Load the provided JSON workflow into your n8n instance. Configure Telegram Trigger Node: Ensure the Telegram trigger node is set up with the appropriate credentials and webhook ID. Configure and Test Nodes: Adjust node parameters as necessary and test the workflow to ensure proper functionality. How it Works Telegram Trigger: Listens for incoming messages in a specified Telegram chat. Check Message Contents: Verifies if the message begins with the specified hashtag and is from the designated chat ID. Extract Message: Extracts the content of the message for further processing. Split Message: Splits the extracted message to identify the interest and remaining content. Connect to Graph API: Utilizes the Facebook Graph API to search for information related to the extracted interest. Split Interests into a Table: Organizes the retrieved data into a structured table format. Get Variables: Maps the retrieved data to create a new JSON object containing specific fields related to the interest. Create a Spreadsheet: Generates a spreadsheet file in CSV format based on the retrieved and formatted data. Send the Spreadsheet File: Sends the generated spreadsheet file back to the original Telegram chat. Customization Modify the filtering conditions and fields to suit specific requirements. Adjust the frequency of the trigger node based on preference. Best Practices Regularly test the workflow to ensure consistent performance. Stay informed about any changes to external APIs that might affect the workflow's functionality. Contributing Your feedback and contributions are highly valued. Feel free to adapt, modify, and share enhancements with the n8n community.
by Joey D’Anna
This template is a set of building blocks to access Monday.com in ways not supported by the official Monday node. Prerequisites Monday account and Monday credentials. Included are setups to: Find a column value by the column's name (instead of a numerical index which can change when board structure is changed) Find a column value by the column's ID (again, instead of using a numerical index) Pull a board relation column, and get all the related pulses Pull an items subitems and split them out Upload a file to an item's files field Setup Create a Monday.com credential Update the nodes in the template to use your credential Copy/Paste the nodes you need from this template into any other workflow To retreive a column by name: Route a Monday.com node that gets an item to the COLUMN BY NAME node Edit the COLUMN BY NAME node, and enter the name in the first line of code. To retreive a column by its ID: Follow Monday.com's instructions to locate the column's ID Route a Monday.com node that gets an item to the COLUMN BY ID node -Edit the COLUMN BY ID node, and enter the ID in the first line of code. To retreive all linked pulses from a Board Relation column: Route a Monday.com node that gets an item to the GET BOARD RELATION node Edit the GET BOARD RELATION node to specify the column name. All linked pulses will be retrieved by the subsequent PULL LINKEDPULSE node To pull all subitems from an item: Route a Monday.com node that gets an item to the PULL SUBITEMS node All subitems will be retrieved by the subsequent GET EACH SUBITEM node To upload a File: Repalce the Convert to File node with whatever node you are using to output your binary file data Enable the MONDAY UPLOAD node If the destination column is named anything other then the default of "file" - edit the MONDAY UPLOAD node and change column_id:"file" in the first Value field to match the name of your file column
by Marth
🧠 How It Works This AI Agent automatically qualifies property buyer leads from form submissions. Form Submission Trigger When a user submits their details via a property inquiry form, the workflow is triggered. AI Lead Classification The buyer's input (budget, location, timeline, etc.) is analyzed by OpenAI to extract structured data and generate a lead score (0–100). Lead Qualification Logic Leads with a score of 70 or above are marked as qualified, the rest are ignored or stored separately. Follow-Up Action Qualified leads trigger: Email notification to the agent Record creation in Airtable as CRM ⚙️ How to Set Up Form Setup Replace the form trigger with your preferred source (Typeform, Google Form, etc.) Make sure the form includes: Name, Email, Budget, Location, Timeline, Property Type Connect Your Credentials Add your OpenAI API key for the LLM node Connect your Gmail account for notifications Link your Airtable base and table to store qualified leads Customize Scoring Logic (Optional) You can tweak the prompt in the Information Extractor node to change how scoring works Test the Workflow Submit a test entry via the form Check if you receive an email and see the lead in Airtable Activate & Go Live Turn on the workflow and start qualifying real buyer leads in real time Connect with my linkedin: https://www.linkedin.com/in/bheta-dwiki-maranatha-15654b227/