by Olek
How it works This workflow will activate and deactivate a selected other workflow on schedule. > ⚠️ Warning! > This approach won't work for trial users as it requires n8n API that is not available to trial users. > See https://docs.n8n.io/api/ for details. Set up steps Adjust activation/deactivation schedule per your needs. Custom (cron) interval is a recommended approach. Set targeted Workflow ID. You will find it in the URL of the workflow you want to manage. Set n8n API credentials: Create an API key: how to Create n8n credentials using the API key: how to This workflow uses n8n node. #DevOps #workflow-management Other useful stuff Need a universal Error workflow to catch both execution and trigger errors? Here you go: Error handling: Send email via Gmail on execution or trigger-level errors More stuff by Olek and do not forget to backup your workflows often by automating.
by Jimleuk
This n8n template can monitor and detect changes to a webpage's contents and notify you only when a change occurs. Great to keep an eye on and track publicly available documents such as company TOS, government policy or competitor pages. How it works A scheduled trigger is used so we can run everyday to automate this process. A website page is then fetched with the HTTP request node and the contents we want to track are extracted using the HTML node. To detect changes, we generate a hash on the contents with the cryptography node and compare it with previously seen hashes using the "remove duplicates" node. If the hash was seen before, the workflow stops here. Finally, when new changes are detected a copy of the contents are uploaded to Google Drive and a logged into a Google sheet. A notification email can also be sent if action is required. How to use Update the URL you want to track in the node named "variables" and ensure the HTML node has updated selectors to get the content you want. Ensure the timezone is set correctly when using the Scheduled Trigger node. Requirements Google Sheets, Drive and Gmail for storing and notifying about changes. Webpages should ideally be publicly accessible. If not, you may need to switch the HTTP request node with a webscraping service. Customising this workflow Not using Google? Easier swap to other Service providers such as Miscrosoft365. Need more URLs? Try modifing the variables node to accept multiple URLs though the HTML node will need to be customised.
by Jimleuk
This n8n template imports an XLSX containing terms dates for a university, extracts the relevant events using AI and converts the events to an ICS file which can be imported into iCal, Google Calendar or Outlook. Manually adding important term dates to your calendar by hand? Stop! Automate it with this simple AI/LLM-powered document understanding and extraction template. This cool use-case can be applied to many scenarios where Excel files are predominantly used. How it works The term dates excel file (xlsx) are imported into the workflow from the university's website using the http request node. To parse the excel file, we use an external service - Cloudflare's Markdown Conversion Service. This converts the excel's sheets into markdown tables which our LLM can read. To extract the events and their dates from the markdown, we can use the Information Extractor node for structured output. LLMs are great for this use-case because they can understand the layout; one row may have many data points. With our data, there are endless possibilities to use it! But for this demonstration, we'll generate an ICS file so that we can import the extracted events into our calendar. We use the Python code node to combine the events into the ICS spec and the "Convert to File" node to create the ICS binary. Finally, let's distribute the ICS file by email to other students or instructors who may also find this incredibly helpful for the upcoming semester! How to use Ensure you're downloading the correct excel file and amend the URL parameter of the "Get Term Dates Excel" as necessary. Update the gmail node with your email or other emails as required. Alternatively, send the ICS file to Google Drive or a student portal. Requirements Cloudflare Account is required to use the Markdown Conversion Service. Gemini for LLM document understanding and extraction. Gmail for email sending. Customising the workflow This template should work for other Excel files which - for a university - there are many. Some will be more complicated than others so experiment with different parsers and extraction tools and strategies.
by ankitkansaldev
📰 Comprehensive Reuters News Intelligence System With Brightdata & Telegram Alerts A powerful n8n automation workflow that scrapes the latest Reuters news articles using Bright Data's web scraping capabilities and delivers intelligent news summaries directly to your Telegram chat. 📋 Overview This workflow provides an automated news intelligence solution that monitors Reuters for breaking news, analyzes content using Claude AI, and delivers personalized news alerts. Perfect for journalists, researchers, traders, and anyone who needs real-time access to Reuters content with AI-powered insights. ✨ Key Features 🎯 Form-Based Input: Easy web form to specify keywords and news type preferences 🤖 AI-Powered Processing: Uses Claude 4 Sonnet for intelligent content analysis 🌐 Professional Scraping: Leverages Bright Data's Reuters dataset for reliable data extraction 📱 Telegram Integration: Instant notifications delivered to your preferred chat ⏰ Smart Waiting: Built-in delays to ensure data processing completion 🔄 Status Monitoring: Automatic scraping status checks with retry logic 📊 Data Formatting: Clean, structured output with essential article fields 🚀 Scalable Design: Handles multiple articles with batch processing 🎯 What This Workflow Does Input Keywords**: Search terms for Reuters articles (e.g., "Election", "Gas shocks", "Technology") News Type**: Sorting preference (newest, oldest, relevance) Form Submission**: Web-based interface for easy interaction Processing Form Trigger: Captures user input via web form interface AI Agent Orchestration: Claude processes requirements and coordinates actions Bright Data Request: Initiates Reuters scraping with specified keywords Status Monitoring: Checks scraping progress with smart retry logic Data Retrieval: Fetches completed article data when ready Content Processing: Extracts and formats essential article information Telegram Delivery: Sends structured news updates to specified chat Output Data Points | Field | Description | Example | |-------|-------------|---------| | article_title | The main headline of the article | "Global Energy Markets Face Uncertainty" | | headline | Reuters display headline | "Oil Prices Surge Amid Supply Concerns" | | description | Article summary/meta description | "Energy markets react to geopolitical tensions..." | | content | Full article body text | "LONDON (Reuters) - Oil prices jumped 3%..." | | article_url | Direct link to Reuters article | "https://reuters.com/business/energy/..." | 🚀 Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Bright Data account with Reuters dataset access Telegram bot and channel setup Claude API access (Anthropic) 15-20 minutes for complete setup Step 1: Import the Workflow Copy the JSON workflow code from the provided file In n8n: Workflows → + Add workflow → Import from JSON Paste JSON content and click Import Save the workflow with a descriptive name Step 2: Configure Bright Data Integration Set up Bright Data credentials: In n8n: Credentials → + Add credential → HTTP Header Auth Name: "Bright Data API" Add header: Authorization: Bearer YOUR_BRIGHT_DATA_API_KEY Test the connection Configure Reuters dataset: Ensure access to dataset ID: gd_lyptx9h74wtlvpnfu Verify Reuters scraping permissions in Bright Data dashboard Check monthly quota and usage limits Step 3: Configure Anthropic Claude Integration Set up Anthropic credentials: In n8n: Credentials → + Add credential → Anthropic API Enter your Anthropic API key Test the connection Update model settings: Open "Anthropic Chat Model" node Verify model is set to: claude-sonnet-4-20250514 Adjust temperature and other parameters if needed Step 4: Configure Telegram Notifications Create Telegram Bot: Message @BotFather on Telegram Use /newbot command and follow instructions Save the bot token provided Get Chat ID: Add your bot to desired channel/group Send a test message Visit: https://api.telegram.org/bot{BOT_TOKEN}/getUpdates Find your chat ID in the response Set up Telegram credentials: In n8n: Credentials → + Add credential → Telegram API Enter bot token from BotFather Test the connection Update Telegram node: Open "Telegram" node Replace DEMO_CHAT_ID with your actual chat ID Customize message format if needed Step 5: Configure Web Form Set up form trigger: Open "On form submission" node Note the webhook URL provided Customize form title and fields if needed Test form functionality: Access the webhook URL in your browser Fill out test form with sample keywords Verify form submission triggers workflow Step 6: Update Node Configurations Update HTTP Request nodes: Replace BRIGHT_DATA_API_KEY with actual credentials reference Verify dataset ID matches your Bright Data setup Check request parameters and headers Configure Data Formatting: Open "Data Formatting" node Review JavaScript code for field extraction Modify output fields if additional data needed Step 7: Test & Activate Run initial test: Submit form with test keywords (e.g., "Technology") Monitor workflow execution in n8n Check for Telegram message delivery Verify data flow: Confirm Bright Data snapshot creation Check status monitoring functionality Validate final data formatting Activate workflow: Toggle workflow to "Active" status Monitor for any execution errors Set up error notifications if needed 📖 Usage Guide Submitting News Requests Access the form: Navigate to your webhook URL Form title: "Reuters News Intelligence" Fill required fields: Keywords: Enter search terms (e.g., "Climate Change", "Tech Earnings") News Type: Select sorting preference: newest: Most recent articles first oldest: Historical articles first relevance: Best matching articles Submit and wait: Click submit to trigger workflow Expect 1-3 minutes for processing Check Telegram for article delivery Understanding the Process The workflow follows this sequence: Form submission triggers Claude AI agent Claude coordinates all scraping and processing steps Bright Data scrapes Reuters with your keywords System waits for scraping completion (60 seconds) Status check confirms data readiness Article data is retrieved and formatted Telegram message delivers final results Reading Telegram Results Each article includes: Clickable URL** to full Reuters article Headline** for quick scanning Description** with article summary Content preview** with key details 🔧 Customization Options Modifying Search Parameters Edit the "HTTP Request" node to adjust: { "keyword": "Your search terms", "sort": "newest|oldest|relevance", "limit_per_input": "2-10 articles" } Customizing Telegram Messages Update the "Telegram" node message format: 🗞️ {{ $json.heading }} 📖 {{ $json.description }} 🔗 Read Full Article 📅 Retrieved: {{ $now.format('YYYY-MM-DD HH:mm') }} Adding Email Notifications Add "Email" node after "Data Formatting" Configure SMTP credentials Create HTML email template with article data Connect to same input as Telegram node Enhancing AI Processing Modify the MCP Agent prompt to: Request specific article sections Add sentiment analysis Include market impact assessment Generate executive summaries Extract key quotes and statistics Adding Data Storage Include database storage by: Adding "Postgres" or "MySQL" node Creating articles table with schema Storing full article data for analysis Building historical news database 🚨 Troubleshooting Common Issues & Solutions 1. "Bright Data snapshot failed" Cause**: Invalid API key or dataset access Solution**: Verify credentials and dataset permissions in Bright Data dashboard 2. "No articles found" Cause**: Keywords too specific or no matching content Solution**: Try broader search terms, check Reuters availability 3. "Telegram message not sent" Cause**: Invalid bot token or chat ID Solution**: Re-verify bot setup with @BotFather, confirm chat ID 4. "Workflow timeout" Cause**: Bright Data scraping taking too long Solution**: Increase timeout in "sleep tool" or add retry logic 5. "Data formatting errors" Cause**: Unexpected response structure from Bright Data Solution**: Check "Data Formatting" node logs, adjust parsing logic 6. "Claude API errors" Cause**: API key issues or rate limiting Solution**: Verify Anthropic credentials, check usage limits Advanced Troubleshooting Monitor execution logs** in n8n for detailed error messages Test individual nodes** by running them separately Verify JSON structures** ensure data flows correctly between nodes Check rate limits** for both Bright Data and Claude API Add error handling** implement try-catch logic for robust operation 📊 Use Cases & Examples 1. Financial News Monitoring Goal: Track market-moving Reuters financial news Keywords: "earnings", "fed rates", "market outlook" Instant alerts for breaking financial news Support trading and investment decisions 2. Competitive Intelligence Goal: Monitor industry-specific news for business insights Keywords: Company names, industry terms Track competitor mentions and market developments Generate competitive analysis reports 3. Crisis Communications Goal: Stay informed during breaking news events Keywords: "breaking", location names, event types Rapid response to developing situations Crisis management team notifications 4. Research & Academia Goal: Gather news data for academic research Keywords: Research topics, geographic regions Build datasets for media analysis Track news coverage patterns over time ⚙ Advanced Configuration Scaling for High Volume To handle larger news monitoring needs: Increase batch processing: Modify limit_per_input parameter Add parallel processing branches Implement queue management Add rate limiting: Insert delays between requests Monitor API usage quotas Implement exponential backoff Database integration: Store articles in PostgreSQL/MySQL Add deduplication logic Create search and filter capabilities Multi-Channel Distribution Expand beyond Telegram: Slack integration: Add Slack webhook node Format messages for team channels Include interactive buttons Email newsletters: Compile daily/weekly summaries HTML formatting with images Subscriber management API endpoints: Create webhook responses Build news API for other systems Real-time data streaming AI Enhancement Options Leverage Claude's capabilities further: Sentiment analysis: Add sentiment scoring to articles Track market sentiment trends Generate mood indicators Summarization: Create executive summaries Extract key points Generate abstracts Classification: Categorize articles by topic Tag with relevant industries Priority scoring system 📈 Performance & Limits Expected Performance Single request**: 60-120 seconds average processing time Articles per request**: 2-10 (configurable) Data accuracy**: 95%+ for standard Reuters articles Success rate**: 90%+ for accessible content Daily capacity**: Limited by Bright Data quotas Resource Usage Memory**: ~200MB per execution API calls**: 1 Bright Data + 1 Claude + 1 Telegram per execution Bandwidth**: ~5-10MB per article scraped Execution time**: 1-3 minutes per request Scaling Considerations Rate limiting**: Respect API quotas and limits Error handling**: Implement comprehensive retry logic Data validation**: Verify article quality and completeness Cost monitoring**: Track API usage across services Performance optimization**: Cache common requests when possible 🤝 Support & Community Getting Help n8n Community**: community.n8n.io Bright Data Support**: Contact through dashboard Anthropic Documentation**: docs.anthropic.com Telegram Bot API**: core.telegram.org/bots Contributing Share workflow improvements with the community Report issues and suggest enhancements Create variations for specific news sources Document best practices and optimizations 📋 Quick Setup Checklist Before You Start ☐ n8n instance running (self-hosted or cloud) ☐ Bright Data account with Reuters dataset access ☐ Anthropic API key for Claude access ☐ Telegram bot created via @BotFather ☐ 20 minutes for complete setup Setup Steps ☐ Import Workflow - Copy JSON and import to n8n ☐ Configure Bright Data - Set up API credentials and test ☐ Configure Claude - Add Anthropic API credentials ☐ Setup Telegram - Create bot and get chat ID ☐ Update Credentials - Replace all demo values with real ones ☐ Test Form - Submit test request and verify flow ☐ Check Telegram - Confirm message delivery ☐ Activate Workflow - Turn on for production use Ready to Use! 🎉 Your workflow form URL: https://your-n8n-instance.com/webhook/your-webhook-id 🎯 Happy News Monitoring! This workflow provides a solid foundation for automated Reuters news intelligence. Customize it to fit your specific monitoring needs and use cases. The combination of Bright Data's reliable scraping, Claude's AI analysis, and Telegram's instant delivery creates a powerful news monitoring solution.
by Agentick AI
This n8n template demonstrates how to use AI to score the all Resumes by matching it with Job profile Problem Statement: A Hr person is flooded with resume and spends hours manually checking each to find most suitable ones. How it works It is linked to Gmail Trigger which upon receving any mail with specific subject will check for the attachment. Attachment will be parsed to understand the resume Candidate informtion will be broken into Personal, Eductional and Professional type Job profile will be pulled from Notion Board A HR expert powered by Gemini LLM will score each profile on basis on its relevancy Information will be updated back to Gsheet Message lable will be updated back for clarity How to use The gmail trigger node is used as an example but feel free to replace this with other triggers such as webhook or even a form. Requirements Gemini account for LLM Google sheet for upload Gmail as trigger Llama parse credentials
by David Olusola
⚡️ How It Works This workflow captures form submissions from your website, formats the data, and automatically creates a new entry in your Notion CRM database. It eliminates manual copy-pasting and keeps your leads or requests organised in one place. 🛠 Setup Steps Webhook Node • Create a webhook in n8n. • Connect your website form to POST submissions to this webhook URL. Code Node • Formats the incoming data to match your Notion database structure. • You can customise the fields in the code to suit your specific form inputs. Notion Node (Create Page) • Connect your Notion account. • Choose your target database. • Map each field from the Code node output to your Notion database properties. Test • Submit a test form entry. • Confirm the data appears correctly in Notion. ⸻ 👥 Who It’s For ✅ Freelancers collecting project inquiries ✅ Agencies managing client onboarding forms ✅ Business owners wanting organised lead capture ✅ Teams that use Notion as their central CRM or task manager ✅ Anyone tired of manually transferring form data into Notion
by Jay Hartley
What this template does This workflow uses the Amadeus API, every day to check for bargain flights for an itinerary and price target of your choice. It then automatically emails you once it found a match. Setup Create an api account on https://developers.amadeus.com/ In Amadeus Flight Search, connect to Oauth2 API: -- Grant Type - Client Credentials -- Access Token URL - https://test.api.amadeus.com/v1/security/oauth2/token -- Client ID/Secret - from your account Set your details in Gmail Set your desired Origin/Destination airports in FromTo Set the dates ahead you wish to search in Get Dates (default is 7 days and 14 days) Set the price target in Under Price How to test it After completing the setup steps above, just hit 'Test workflow'!
by Derek Cheung
How it works: This project creates a personal AI assistant named Angie that operates through Telegram. Angie can summarize daily emails, look up calendar entries, remind users of upcoming tasks, and retrieve contact information. The assistant can interact with users via both voice and text inputs. Step-by-step: Telegram Trigger: The workflow starts with a Telegram trigger that listens for incoming message events. The system determines if the incoming message is voice or text. If voice, the voice file is retrieved and transcribed to text using OpenAI's API Speech to Text AI Assistant: The telegram request is passed to the AI assistant (Angie). Tools Integration: The AI assistant is equipped with several tools: Get Email: Uses Gmail API to fetch recent emails, filtering by date. Get Calendar: Retrieves calendar entries for specified dates. Get Tasks: Connects to a Baserow (open-source Airtable alternative) database to fetch to-do list items. Get Contacts: Also uses Baserow to retrieve contact information. Response Generation: The AI formulates a response based on the gathered information and sends back to the user on Telegram
by Agentick AI
This n8n template demonstrates how to automate invoice data extraction from PDF attachments received via Gmail. Using LlamaParse and Gemini LLM, this workflow parses structured fields like PO numbers, line items, tax amounts, and totals — and stores them neatly into a Google Sheet. Perfect for use cases such as: 💼 Finance teams managing vendor invoices 📊 Bookkeeping workflows 🔄 Automating monthly reconciliation Good to Know At the time of writing, LlamaParse and Gemini may involve API usage costs depending on your subscription tier. Check LlamaIndex Pricing and Gemini Pricing for updated info. LlamaParse provides Markdown-formatted parsed output which is then passed to an LLM for structured field extraction. Gemini models may be geo-restricted. If you encounter "model not found" errors, your region might not be supported. How it Works Trigger: Watches your Gmail for new emails with PDF attachments. Email Filter: Ensures we only parse fresh emails not already labeled as "invoice synced". LlamaParse Upload: Uploads the PDF to LlamaParse’s parsing endpoint. Status Polling: Periodically checks whether the parsing is complete. Download Markdown: Once ready, it fetches the parsed invoice in Markdown format. AI Parsing with Gemini: Sends the Markdown to Gemini LLM to extract structured JSON (like PO number, line items, taxes, etc.) using a predefined schema. Google Sheets Upload: Stores extracted data into a predefined spreadsheet. Labeling: Marks the email as “invoice synced” to avoid reprocessing. How to Use The trigger is based on Gmail, but you can replace this with a webhook or manual trigger for testing. Setup Instructions Gmail API Enable Gmail API in Google Cloud Console. Connect your Gmail account in n8n credentials. Allow read + modify access. Google Sheets Create a new Google Sheet with the following headers (row 1): Date | Vendor Name | Invoice Number | PO Number | Line Items | Subtotal | Tax | Total Amount Connect Google Sheets in n8n and paste the Sheet ID in the node. You can customise the google sheet basis your requirement. LlamaParse Get a LlamaIndex API Key from LlamaIndex. Use the LlamaParse upload and polling nodes to process your PDFs. Gemini (via Vertex AI) Set up Gemini access in GCP. Use the Gemini 2.5 Model. Construct a structured prompt to extract required fields. Labeling Create a Gmail label named "Invoice Synced" for tracking processed emails. Requirements Gmail account with API access LlamaParse (LlamaIndex) account with API Key Google Sheets API credentials Access to Gemini 2.5 model via Google Vertex AI Customising This Workflow This template is just the beginning. You can expand it to: Auto-generate invoices back to vendors Run duplicate checks before inserting into Sheets Integrate with accounting tools like Zoho, QuickBooks, or Tally Trigger Slack/Email notifications on specific vendors or high invoice amounts
by simonscrapes
Use Case Generate accurate search volume data for SEO keyword research: You have a list of potential keywords to target for your website SEO but don't know their actual search volume You need historical data to identify seasonal trends in keyword popularity You want to assess keyword difficulty to prioritize your content strategy You need data-driven insights for planning your SEO campaigns What this Workflow Does The workflow connects to Google's Keyword Planner API to retrieve keyword metrics for your SEO research: Fetches monthly search volume for each keyword Provides historical trends data for the past 12 months Calculates keyword difficulty scores Delivers competition metrics from Google Ads Setup Fill the Set 20 Keywords with up to 20 Keywords of your choosing in an array e.g. ["keyword 1", "keyword 2",...] Create a Google Ads API account and add credentials to Get Search Data node Replace the Connect to your own database with your own database for the output How to Adjust it to Your Needs Change the Set 20 Keywords node input to a source of your choosing e.g. Airtable database with 20 keywords Connect to output source of your choosing More templates and n8n workflows >>> @simonscrapes
by James Francis
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Overview When applying for freelance jobs on Upwork, minutes matter. The first quality application is more often than not the one that's ultimately selected. Subscribers to Upwork's Freelancer Plus receive email job alerts, but filters are very limited. As a result, it takes a lot of time to manually go through each email and determine if each job fits your criteria. This workflow scans your Gmail every few minutes, finds all Upwork job alerts, scores them based on your profile/preferences, and sends a Slack channel message for jobs that are strong potential matches. How it works Scans Gmail for Upwork job alerts every few minutes Extracts all available job data from each email Scores the job based on profile information and criteria you provide Sends a Slack notification for all jobs that meet a given score threshold Disclaimers This workflow polls Gmail for new messages every 10 minutes. A workflow execution will be used each time, regardless of whether the Gmail scan finds anything. You may want to adjust this frequency based on the amount of workflow executions you want to use. The AI matching process is based only on the information included in the email body (job title, description snippet and metadata). It is against Upwork's Terms of Service to scrape a full job posting. Despite this, the quality of the results in our testing is high for most use cases. Required Setup Subscribe to Upwork's Freelancer Plus plan to enable job alerts ($19.99/mo at the time of this posting) Create Gmail and Open Router (or an LLM provider of your choice) credentials and select them in the Gmail / LLM Model nodes Create a Slack app that has at least the chat:write.public and channels:read scopes, install it into your workspace, and use your apps OAuth Token to create a Slack API credential in n8n IMPORTANT: In the "Opportuntity Scorer" node, replace the text in between the <my_profile> tags with your freelancer bio. For best results, include as much detail as possible about your skillset, experience, tool familiarity, and job preferences. Update the filter with your notification threshold preference(s) and update the Slack channel to send notifications to in the last Slack node If you have any questions or feedback about this workflow, or would like me to build custom workflows for your business, email me at n8n@paperjam.agency.
by Airtop
Use Case Turn any web page into a compelling LinkedIn post — complete with an AI-generated image. This automation is ideal for sharing content like blog posts, case studies, or product updates in a polished and engaging format. What This Automation Does Given a page URL and optional user instructions, this automation: Scrapes the content of the webpage Uses AI to write a clear, educational, and LinkedIn-optimized post Sends both to Slack for review and approval Handles feedback and revisions via Slack interactions Input: Page URL** — The link to the webpage (required) Instructions** — Optional notes on tone, emphasis, or format Output: LinkedIn post text Slack message with review/approval options How It Works Form Submission: User inputs a web page and optional instructions. Web Scraping: Uses Airtop to extract page content. Post Generation: AI agent writes a post based on the page and instructions. Slack Review Flow: Post and image sent to Slack for feedback User can approve, request revisions, or decline Revisions trigger reprocessing steps automatically Final Post Delivery: Approved post is sent back to Slack, ready to publish. Setup Requirements Generate an Airtop API key completely free. Configure your OpenAI credentials for post and image prompt generation Slack OAuth credentials and a Slack channel Next Steps Post Directly**: Add LinkedIn publishing to automate the full content workflow. Template Variations**: Offer post style presets (e.g., technical, story-driven, short-form). CRM Sync**: Save approved posts and stats in Airtable or Notion for team use. Read more about generating social content using AI