by Oneclick AI Squad
This n8n workflow helps users easily discover nearby residential construction projects by automatically scraping and analyzing property listings from 99acres and other real estate platforms. Users can send an email with their location preferences and receive a curated list of available properties with detailed information, including pricing, area, possession dates, and construction status. Good to know The workflow focuses specifically on residential construction projects and active developments Property data is scraped in real-time to ensure the most current information Results are automatically formatted and structured for easy reading The system handles multiple property formats and data variations from different sources Fallback mechanisms ensure reliable data extraction even when website structures change How it works Trigger: New Email** - Detects incoming emails with property search requests and extracts location preferences from email content Extract Area & City** - Parses the email body to identify target areas (e.g., Gota, Ahmedabad) and falls back to city-level search if specific area is not mentioned Scrape Construction Projects** - Performs web scraping on 99acres and other property websites based on the extracted area and city information Parse Project Listings** - Cleans and formats the scraped HTML data into structured project entries with standardized fields Format Project Details** - Transforms all parsed projects into a consistent email-ready list format with bullet points and organized information Send Results to User** - Delivers a professionally formatted email with the complete list of matching construction projects to the original requester Email Format Examples Input Email Format To: properties@yourcompany.com Subject: Property Search Request Hi, I am interested in buying a flat. Can you please send me the list of available properties in Gota, Ahmedabad? Output Email Example Subject: ๐๏ธ Property Search Results: 4 Projects Found in Gota, Ahmedabad ๐๏ธ Available Construction Projects in Gota, Ahmedabad Search Area: Gota, Ahmedabad Total Projects: 4 Search Date: August 4, 2025 ๐ PROJECT LISTINGS: ๐ท Project 1 ๐ Name: Vivaan Oliver offers ๐ข BHK: 3 BHK ๐ฐ Price: N/A ๐ Area: 851.0 Sq.Ft ๐๏ธ Possession: August 2025 ๐ Status: under construction ๐ Location: Thaltej, Ahmedabad West ๐ Scraped Date: 2025-08-04 ๐ท Project 2 ๐ Name: Vivaan Oliver offers ๐ข BHK: 3 BHK ๐ฐ Price: Price on Request ๐ Area: 891 Sq Ft ๐๏ธ Possession: N/A ๐ Status: Under Construction ๐ Location: Thaltej, Ahmedabad West ๐ Scraped Date: 2025-08-04 ๐ท Project 3 ๐ Name: It offers an exclusive range of ๐ข BHK: 3 BHK ๐ฐ Price: N/A ๐ Area: 250 Sq.Ft ๐๏ธ Possession: 0 2250 ๐ Status: Under Construction ๐ Location: Thaltej, Ahmedabad West ๐ Scraped Date: 2025-08-04 ๐ท Project 4 ๐ Name: N/A ๐ข BHK: 2 BHK ๐ฐ Price: N/A ๐ Area: N/A ๐๏ธ Possession: N/A ๐ Status: N/A ๐ Location: Thaltej, Ahmedabad West ๐ก Next Steps: โข Contact builders directly for detailed pricing and floor plans โข Schedule site visits to shortlisted properties โข Verify possession timelines and construction progress โข Compare amenities and location advantages ๐ For more information or specific requirements, reply to this email. How to use Setup Instructions Import the workflow into your n8n instance Configure Email Credentials: Set up email trigger for incoming property requests Set up SMTP credentials for sending property listings Configure Web Scraping: Ensure proper headers and user agents for 99acres access Set up fallback mechanisms for different property websites Test the workflow with sample property search emails Sending Property Search Requests Send an email to your configured property search address Include location details in natural language (e.g., "Gota, Ahmedabad") Optionally specify preferences like BHK, budget, or amenities Receive detailed property listings within minutes Requirements n8n instance** (cloud or self-hosted) with web scraping capabilities Email account** with IMAP/SMTP access for automated communication Reliable internet connection** for real-time property data scraping Valid target websites** (99acres, MagicBricks, etc.) access Troubleshooting No properties found**: Verify area spelling and check if the location has active listings Scraping errors**: Update user agents and headers if websites block requests Duplicate results**: Implement better deduplication logic based on property names and locations Email parsing issues**: Test with various email formats and improve regex patterns Website structure changes**: Implement fallback parsers and regular monitoring of scraping success rates
by Rakin Jakaria
Who this is for This workflow is for freelancers, job seekers, or service providers who want to automatically apply to businesses by scraping their website information, extracting contact details, and sending personalized job application emails with AI-powered content โ all from one form submission. What this workflow does This workflow starts every time someone submits the Job Applier Form. It then: Scrapes the target business website** to gather company information and contact details. Converts HTML content** to readable markdown format for better AI processing. Extracts email addresses* and creates a company summary using *GPT-5 AI**. Validates email addresses** to ensure they contain proper formatting (@ symbol check). Accesses your experience data* from a connected *Google Sheet** with your skills and portfolio. Generates personalized application emails* (subject + body) using *GPT-5** based on the job position and company info. Sends the application email* automatically via *Gmail** with your name as sender. Provides confirmation** through a completion form showing the AI's response. Setup To set this workflow up: Form Trigger โ Customize the job application form fields (Target Business Website, Applying As dropdown with positions like Video Editor, SEO Expert, etc.). OpenAI GPT-5 โ Add your OpenAI API credentials for both AI models used in the workflow. Google Sheets โ Connect your sheet containing your working experience data, skills, and portfolio information. Gmail Account โ Link your Gmail account for sending application emails automatically. Experience Data โ Update the Google Sheet with your relevant skills, experience, and achievements for each job type. Sender Name โ Modify the sender name in Gmail settings (currently set to "Jamal Mia"). How to customize this workflow to your needs Add more job positions to the dropdown menu (currently includes Video Editor, SEO Expert, Full-Stack Developer, Social Media Manager). Modify the AI prompt to reflect your unique value proposition and application style. Enhance email validation with additional checks like domain verification or email format patterns. Add follow-up scheduling to automatically send reminder emails after a certain period. Include attachment functionality to automatically attach your resume or portfolio to applications. Switch to different email providers or add multiple sender accounts for variety.
by Wolf Bishop
A reliable, no-frills web scraper that extracts content directly from websites using their sitemaps. Perfect for content audits, migrations, and research when you need straightforward HTML extraction without external dependencies. How It Works This streamlined workflow takes a practical approach to web scraping by leveraging XML sitemaps and direct HTTP requests. Here's how it delivers consistent results: Direct Sitemap Processing: The workflow starts by fetching your target website's XML sitemap and parsing it to extract all available page URLs. This eliminates guesswork and ensures comprehensive coverage of the site's content structure. Robust HTTP Scraping: Each page is scraped using direct HTTP requests with realistic browser headers that mimic legitimate web traffic. The scraper includes comprehensive error handling and timeout protection to handle various website configurations gracefully. Intelligent Content Extraction: The workflow uses sophisticated JavaScript parsing to extract meaningful content from raw HTML. It automatically identifies page titles through multiple methods (title tags, Open Graph metadata, H1 headers) and converts HTML structure into readable text format. Framework Detection: Built-in detection identifies whether sites use WordPress, Divi themes, or heavy JavaScript frameworks. This helps explain content extraction quality and provides valuable insights about the site's technical architecture. Rich Metadata Collection: Each scraped page includes detailed metadata like word count, HTML size, response codes, and technical indicators. This data is formatted into comprehensive markdown files with YAML frontmatter for easy analysis and organization. Respectful Rate Limiting: The workflow includes a 3-second delay between page requests to respect server resources and avoid overwhelming target websites. The processing is sequential and controlled to maintain ethical scraping practices. Detailed Success Reporting: Every scraped page generates a report showing extraction success, potential issues (like JavaScript dependencies), and technical details about the site's structure and framework. Setup Steps Configure Google Drive Integration Connect your Google Drive account in the "Save to Google Drive" node Replace YOUR_GOOGLE_DRIVE_CREDENTIAL_ID with your actual Google Drive credential ID Create a dedicated folder for your scraped content in Google Drive Copy the folder ID from the Google Drive URL (the long string after /folders/) Replace YOUR_GOOGLE_DRIVE_FOLDER_ID_HERE with your actual folder ID in both the folderId field and cachedResultUrl Update YOUR_FOLDER_NAME_HERE with your folder's actual name Set Your Target Website In the "Set Sitemap URL" node, replace https://yourwebsitehere.com/page-sitemap.xml with your target website's sitemap URL Common sitemap locations include /sitemap.xml, /page-sitemap.xml, or /sitemap_index.xml Tip: Not sure where your sitemap is? Use a free online tool like https://seomator.com/sitemap-finder Verify the sitemap URL loads correctly in your browser before running the workflow Update Workflow IDs (Automatic) When you import this workflow, n8n will automatically generate new IDs for YOUR_WORKFLOW_ID_HERE, YOUR_VERSION_ID_HERE, YOUR_INSTANCE_ID_HERE, and YOUR_WEBHOOK_ID_HERE No manual changes needed for these placeholders Adjust Processing Limits (Optional) The "Limit URLs (Optional)" node is currently disabled for full site scraping Enable this node and set a smaller number (like 5-10) for initial testing For large websites, consider running in batches to manage processing time and storage Customize Rate Limiting (Optional) The "Wait Between Pages" node is set to 3 seconds by default Increase the delay for more respectful scraping of busy sites Decrease only if you have permission and the target site can handle faster requests Test Your Configuration Enable the "Limit URLs (Optional)" node and set it to 3-5 pages for testing Click "Test workflow" to verify the setup works correctly Check your Google Drive folder to confirm files are being created with proper content Review the generated markdown files to assess content extraction quality Run Full Extraction Disable the "Limit URLs (Optional)" node for complete site scraping Execute the workflow and monitor the execution log for any errors Large websites may take considerable time to process completely (plan for several hours for sites with hundreds of pages) Review Results Each generated file includes technical metadata to help you assess extraction quality Look for indicators like "Limited Content" warnings for JavaScript-heavy pages Files include word counts and framework detection to help you understand the site's structure Framework Compatibility: This scraper is specifically designed to work well with WordPress sites, Divi themes, and many JavaScript-heavy frameworks. The intelligent content extraction handles dynamic content effectively and provides detailed feedback about framework detection. While some single-page applications (SPAs) that render entirely through JavaScript may have limited content extraction, most modern websites including those built with popular CMS platforms will work excellently with this scraper. Important Notes: Always ensure you have permission to scrape your target website and respect their robots.txt guidelines. The workflow includes respectful delays and error handling, but monitor your usage to maintain ethical scraping practices.RetryClaude can make mistakes. Please double-check responses.
by Marth
Okay, here are the "How It Works" and "Setup Steps" for your "Automated Social Media Content Distribution System," presented clearly in Markdown. How It Works (Workflow Stages) โ๏ธ This system transforms manual, repetitive tasks into a smooth, automated content distribution pipeline: Content Submission & Trigger: You add a new row to your designated Google Sheet with all the content details (Title, URL, Short_Description, Image_URL, Hashtags, and boolean flags for which platforms to post to). The Google Sheets Trigger node immediately detects this new entry, initiating the workflow. Content Preparation: The Set node takes the raw data from your Google Sheet and formats it into a cohesive text string (social_media_text_core) that is suitable for posting across different social media platforms. Conditional Social Media Posting: A series of If nodes (Check Facebook Post, Check Twitter Post, Check LinkedIn Post) sequentially check your preferences (based on the Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn columns in your sheet). If a platform is marked TRUE, the corresponding social media node (Facebook, Twitter, LinkedIn) is activated to publish your content. If FALSE, that platform is skipped, and the workflow moves to the next check. Status Update & Notification: After attempting to post to all selected platforms, the Google Sheets (Update) node updates the Publication_Status column of your original row to "Published." This prevents re-posting and provides a clear record. Finally, the Slack (Notification) node sends an alert to your chosen Slack channel, confirming that the content has been successfully distributed. Setup Steps ๐ ๏ธ (Build It Yourself!) Follow these detailed steps to build and implement this workflow in your n8n instance: Prepare Your Google Sheet: Create a new Google Sheet (e.g., named "Social Media Posts"). Set up the following exact column headers in the first row: Title, URL, Short_Description, Image_URL, Hashtags, Post_to_Facebook, Post_to_Twitter, Post_to_LinkedIn, Publication_Status Fill in a test row with some sample data, ensuring TRUE/FALSE values for the posting flags. Gather Your API Keys & Credentials: Google Sheets Credential: You'll need an OAuth2 credential for Google Sheets in n8n to allow read/write access to your sheet. Facebook Credential: An OAuth2 credential for Facebook with permissions to post to your selected Page. Twitter Credential: A Twitter API credential (API Key, API Secret, Access Token, Access Token Secret) from your Twitter Developer App. LinkedIn Credential: An OAuth2 credential for LinkedIn with permissions to share updates to your profile or organization page. Slack Credential: A Slack API token (Bot User OAuth Token) for sending messages to your channel. Build the n8n Workflow Manually (10 Nodes): Start a new workflow in n8n. Drag and drop each of the following nodes onto the canvas and connect them as described below: Google Sheets Trigger Name: Google Sheets Trigger Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [Copy the ID from your Google Sheet's URL] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Watch For: Rows Events: Added Connections: Output to Set Content Parameters. Set Name: Set Content Parameters Parameters: Values to Set: Add a new value: Type: String Name: social_media_text_core Value: ={{ $json.Title }} - {{ $json.Short_Description }}\nRead more: {{ $json.URL }}\n{{ $json.Hashtags }} Connections: Output to Check Facebook Post. If Name: Check Facebook Post Parameters: Value 1: ={{ $json.Post_to_Facebook }} Operation: is true Connections: True output to Post Facebook Message. False output to Check Twitter Post. Facebook Name: Post Facebook Message Parameters: Authentication: Select your Facebook credential. Page ID: [YOUR_FACEBOOK_PAGE_ID] Message: ={{ $json.social_media_text_core }} Link: ={{ $json.URL }} Picture: ={{ $json.Image_URL }} Options: Published (checked) Connections: Output to Check Twitter Post. If Name: Check Twitter Post Parameters: Value 1: ={{ $json.Post_to_Twitter }} Operation: is true Connections: True output to Create Tweet. False output to Check LinkedIn Post. Twitter Name: Create Tweet Parameters: Authentication: Select your Twitter credential. Tweet: ={{ $json.social_media_text_core }} Image URL: ={{ $json.Image_URL }} Connections: Output to Check LinkedIn Post. If Name: Check LinkedIn Post Parameters: Value 1: ={{ $json.Post_to_LinkedIn }} Operation: is true Connections: True output to Share LinkedIn Update. False output to Update Publication Status. LinkedIn Name: Share LinkedIn Update Parameters: Authentication: Select your LinkedIn credential. Resource: Share Update Type: Organization or Personal (Choose as appropriate) Organization ID: [YOUR_LINKEDIN_ORG_ID] (If Organization type selected) Content: ={{ $json.social_media_text_core }} Content URL: ={{ $json.URL }} Image URL: ={{ $json.Image_URL }} Connections: Output to Update Publication Status. Google Sheets Name: Update Publication Status Parameters: Authentication: Select your Google Sheets credential. Spreadsheet ID: [YOUR_GOOGLE_SHEET_CONTENT_ID] Sheet Name: [Your Sheet Name, e.g., 'Sheet1' or 'Content'] Operation: Update Row Key Column: URL Key Value: ={{ $json.URL }} Values: Add a new value: Column: Publication_Status Value: Published Connections: Receives connections from both Share LinkedIn Update and the False branch of Check LinkedIn Post. Slack Name: Send Slack Notification Parameters: Authentication: Select your Slack credential. Chat ID: [YOUR_SLACK_CHANNEL_ID] Text: New content "{{ $json.Title }}" successfully published to social media! ๐ Check: {{ $json.URL }} Connections: Output to Update Publication Status. Final Steps & Activation: Test the Workflow: Before activating, manually add a new row to your Google Sheet or use n8n's "Execute Workflow" button (if available for triggers). Observe the flow through each node to ensure it behaves as expected and posts to your social media accounts. Activate Workflow: Once you are confident it's working correctly, turn the workflow "Active" in the top right corner of your n8n canvas.
by WeblineIndia
๐ Generate Weekly Energy Consumption Reports with API, Email and Google Drive This workflow automates the process of retrieving energy consumption data, formatting it into a CSV report, and distributing it every week via email and Google Drive. โก Quick Implementation Steps: Import the workflow into your n8n instance. Configure your API, email details and Google Drive folder. (Optional) Adjust the CRON schedule if you need a different time or frequency. Activate workflowโautomated weekly reports begin immediately. ๐ฏ Whoโs It For Energy providers, sustainability departments, facility managers, renewable energy operators. ๐ Requirements n8n instance Energy Consumption API access Google Drive account Email SMTP access โ๏ธ How It Works Workflow triggers every Monday at 8 AM, fetches consumption data, emails CSV report and saves a copy to Google Drive. ๐ Workflow Steps 1. Schedule Weekly (Mon 8:00 AM) Type: Cron Node Runs every Monday at 8:00 AM. Triggers the workflow execution automatically. 2. Fetch Energy Data Type: HTTP Request Node Makes a GET request to: https://api.energidataservice.dk/dataset/ConsumptionDE35Hour (sample API) The API returns JSON data with hourly electricity consumption in Denmark. Sample Response Structure: { "records": [ { "HourDK": "2025-08-25T01:00:00", "MunicipalityNo": _, "MunicipalityName": "Copenhagen", "ConsumptionkWh": 12345.67 } ] } 3. Normalize Records Type: Code Node Extracts the records array from the API response and maps each entry into separate JSON items for easier handling downstream. Code used: const itemlist = $input.first().json.records; return itemlist.map(r => ({ json: r })); 4. Convert to File Type: Convert to File Node Converts the array of JSON records into a CSV file. The CSV is stored in a binary field called data. 5. Send Email Weekly Report Type: Email Send Node Sends the generated CSV file as an attachment. Parameters: fromEmail: Sender email address (configure in node). toEmail: Recipient email address. subject: "Weekly Energy Consumption Report". attachments: =data (binary data from the previous node). 6. Report File Upload to Google Drive Type: Google Drive Node Uploads the CSV file to your Google Drive root folder. Filename pattern: energy_report_{{ $now.format('yyyy_MM_dd_HH_ii_ss') }} Requires valid Google Drive OAuth2 credentials. โจ How To Customize Change report frequency, email template, data format (CSV/Excel) or add-ons. โ Add-ons Integration with analytics tools (Power BI, Tableau) Additional reporting formats (Excel, PDF) Slack notifications ๐ฆ Use Case Examples Automated weekly/monthly reporting for compliance Historical consumption tracking Operational analytics and forecasting ๐ Troubleshooting Guide | Issue | Cause | Solution | |-------|-------|----------| | Data not fetched | API endpoint incorrect | Verify URL | | Email delivery issues | SMTP configuration incorrect | Verify SMTP | | Drive save fails | Permissions/Drive ID incorrect | Check Drive permissions | ๐ Need Assistance? Contact WeblineIndia for additional customization and support, we're happy to help.
by David Olusola
๐ Buy the Dip Alert (Telegram/Slack/SMS) ๐ Overview This workflow automatically notifies you when Bitcoin or Ethereum drops more than a set percentage in the last 24 hours. Itโs ideal for traders who want to stay ready for buy-the-dip opportunities without constantly refreshing charts. โ๏ธ How it works Schedule Trigger โ runs every 30 minutes (adjustable). HTTP Request (CoinGecko) โ fetches BTC & ETH prices and 24h % change. Code Node (โDip Checkโ) โ compares changes against your dip threshold. IF Node โ continues only if dip condition is true. Notification Node โ sends alert via Telegram, Slack, or SMS (Twilio). Example Output: Dip Alert โ BTC โ3.2%, ETH โ2.8% Not financial advice. ๐ Setup Guide 1) Dip threshold Open the Code node. Change the line: const DIP = -2.5; // trigger if 24h drop <= -2.5% Set your preferred dip value (e.g., โ5 for a 5% drop). 2) Choose your alert channel Telegram: add your bot token & chat ID. Slack: connect Slack API & set channel name. Twilio: configure SID, token, from/to numbers. 3) Test Temporarily set DIP to 0 to force an alert. Run once from the Code node โ confirm alert message text. Execute the Notification node โ confirm delivery to your channel. ๐ Customization Cadence: change Schedule Trigger (every 5m, 15m, hourly, etc.). Coins: extend the CoinGecko call (add solana, bnb) and update Code node logic. Multiple alerts: duplicate IF โ Notification branch for different thresholds (minor vs major dip). Combine with โThreshold Alertsโ workflow to cover both upside breakouts and downside dips. Storage: log alerts into Google Sheets for tracking dip history. ๐งฉ Troubleshooting No alerts firing: check CoinGecko API response in Execution Data. Wrong %: CoinGecko returns usd_24h_change directly โ no math needed. Duplicate alerts: add a debounce using a Sheet/DB to store last fired time. Telegram not posting: confirm bot has access to your channel/group.
by Trung Tran
Beginnerโs Tutorial: Manage Azure Storage Account Container & Blob with n8n > This beginner-friendly n8n workflow shows you how to generate AI images using OpenAI, store them in Azure Blob Storage, and manage blob containers, all with zero code. ๐ค Whoโs it for This workflow is perfect for: Beginners learning Azure + OpenAI integration** No-code developers** experimenting with image generation Cloud learners** who want hands-on Blob Storage use cases Anyone who wants to automate storing AI-generated content in the cloud โ๏ธ How it works / What it does ๐ฑ๏ธ Trigger the workflow manually using the Execute Workflow node. โ๏ธ Use the Edit Fields node to input: containerName (e.g., demo-images) imageIdea (e.g., "a robot holding a coffee cup") ๐ฆ Create a new Azure Blob container (Create container). ๐ค Use an OpenAI-powered Prompt Generation Agent to craft the perfect image prompt. ๐จ Generate an image using OpenAIโs DALLยทE model. โ๏ธ Upload the generated image to Azure Blob Storage (Create Blob). ๐ List blobs in the container (Get many blobs). ๐งน Delete any blob as needed (Delete Blob). (Optional) ๐๏ธ Remove the entire container (Delete container). ๐ง How to set up ๐ง Set up OpenAI Create an OpenAI account and get your API key. In n8n, go to Credentials โ OpenAI and paste your key. ๐ชฃ Set up Azure Blob Storage Log in to your Azure Portal. Create a Storage Account (e.g., mystorageaccount). Go to Access Keys tab and copy: Storage Account Name Key1 In n8n, create a new Azure Blob Storage Credential using: Account Name = your storage account name Access Key = key1 value > ๐ This demo uses Access Key authentication. You can also configure Shared Access Signatures (SAS) or OAuth in production setups. Run the Workflow Enter your image idea and container name. Click โExecute Workflowโ to test it. ๐ Requirements | Requirement | Description | |------------------------|--------------------------------------------------| | Azure Storage Account | With container-level read/write access | | OpenAI API Key | For image and prompt generation | | n8n Version | v1.0+ recommended | | Image Credits | OpenAI charges tokens for DALLยทE image creation | ๐ ๏ธ How to customize the workflow ๐ง Adjust Prompt Generation Update the Prompt Agent to include: Specific style (3D, anime, cyberpunk) Brand elements Multiple language options ๐ Organize by Date/User Modify the containerName to auto-include: Date (e.g., images-2025-08-20) Username or session ID ๐ค Send Image Output Add Slack, Telegram, or Email nodes to deliver the image Create public links using Azureโs blob permissions ๐ Cleanup Logic Auto-delete blobs after X days Add versioning or backup logic
by Sergey Skorobogatov
GiggleGPTBot โ Witty Telegram Bot with AI & Postgres ๐ Overview GiggleGPTBot is a witty Telegram bot built with n8n, OpenRouter, and Postgres. It delivers short jokes, motivational one-liners, and playful roasts, responds to mentions, and posts scheduled witty content. The workflow also tracks user activity and provides lightweight statistics and leaderboards. โจ Features ๐ค AI-powered humor engine โ replies with jokes, motivation, random witty lines, or sarcastic roasts. ๐ฌ Command support โ /joke, /inspire, /random, /roast, /help, /stats, /top. ๐ฏ Mention detection โ replies when users tag @GiggleGPTBot. โฐ Scheduled posts โ morning jokes, daily motivation, and random wisdom at configured times. ๐ User analytics โ counts messages, commands, reactions, and generates leaderboards. ๐๏ธ Postgres persistence โ robust schema with tables for messages, responses, stats, and schedules. ๐ ๏ธ How It Works Triggers Telegram Trigger โ receives all messages and commands from a chat. Schedule Trigger โ runs hourly to check for planned posts. Processing Switch routes commands (/joke, /inspire, /random, /roast, /help, /stats, /top). Chat history fetches the latest context. Mention Analysis determines if the bot was mentioned. Generating an information response builds replies for /help, /stats, /top. AI nodes (AI response to command, AI response to mention, AI post generation) craft witty content via OpenRouter. Persistence Init Database ensures tables exist (user_messages, bot_responses, bot_commands, message_reactions, scheduled_posts, user_stats). Logging nodes update stats and store every bot/user interaction. Delivery Replies are sent back via Telegram Send nodes (Send AI response, Send info reply, Reply to Mention, Submit scheduled post). โ๏ธ Setup Instructions Create a Telegram Bot with @BotFather and get your API token. Add credentials in n8n: Telegram API (your bot token) OpenRouter (API key from openrouter.ai) Postgres (use your DB, Supabase works well). Run the Init Database node once to create all required tables. (Optional) Seed schedule with the Adding a schedule node โ it inserts: Morning joke at 06:00 Daily motivation at 09:00 Random wisdom at 17:00 (Adjust chat_id to your group/channel ID.) Activate workflow and connect Telegram Webhook or Polling. ๐ Database Schema user\_messages** โ stores user chat messages. bot\_responses** โ saves bot replies. bot\_commands** โ logs command usage. message\_reactions** โ tracks reactions. scheduled\_posts** โ holds scheduled jokes/wisdom/motivation. user\_stats** โ aggregates per-user message/command counts and activity. ๐ Example Commands /joke โ witty one-liner with light irony. /inspire โ short motivational phrase. /random โ unexpected witty remark. /roast โ sarcastic roast (no offensive targeting). /stats โ shows your personal stats. /top โ displays leaderboard. /help โ lists available commands. @GiggleGPTBot + message โ bot replies in context. ๐ Customization Ideas Add new command categories (/quote, /fact, /news). Expand analytics with reaction counts or streaks. Localize prompts into multiple languages. Adjust CRON schedules for posts. โ Requirements Telegram Bot token OpenRouter API key Postgres database ๐ฆ Import this workflow, configure credentials, run the DB initializer โ and your witty AI-powered Telegram companion is ready!
by NAZIA AI ACADEMY
How it works This workflow lets users generate AI images directly from Telegram messages using: Google Gemini API โ to convert text to detailed, high-quality image prompts. Pollinations API โ to generate free AI images from the prompts. Telegram Bot โ to interact with users and return generated images instantly. Itโs fully automated using n8n โ from text message to stunning image, all in one flow. Perfect for creators, content marketers, or anyone wanting quick visuals on the go. Set up steps ๐งฉ Estimated setup time: ~10โ15 minutes Create a Telegram Bot via @BotFather, copy your token, and set up the Telegram Trigger node in n8n with your credentials. Set up Google Gemini API via Google AI Studio or Cloud Console. Make sure your API key is added in the credentials section of the Gemini node. Customize prompt structure or image size in the Fields - Set Values or Prompt Agent node. (Optional) Enable Save to Disk if you want to keep a local copy of every image. Deploy and run the workflow โ done ๐ ๐ ๏ธ All technical details and logic are fully documented inside the workflow using sticky notes. โ ๏ธ Requirements n8n (Self-hosted or Cloud) Telegram Bot Token Google Gemini API key (with billing enabled โ includes some free usage) No key needed for Pollinations API โ it's 100% free ๐
by David Olusola
WordPress Daily News Digest Generator Overview: This automation automatically fetches trending tech news every morning, uses AI to create engaging blog posts from each article, and publishes them directly to your WordPress site. What it does: Fetches top 10 US technology news stories every day at 8 AM via NewsAPI Splits articles into individual items for processing Processes each article through a loop system AI creates expanded, engaging blog posts (600-800 words) from each news article Parses AI response to extract clean titles and content Publishes individual blog posts to WordPress automatically Setup Required: NewsAPI Configuration Get free API key from newsapi.org (1,000 requests/day free) Replace YOUR_API_KEY in the HTTP Request URL with your actual key Customize country/category parameters in URL if needed WordPress Connection Configure WordPress credentials in the "Publish to WordPress" node Enter your WordPress site URL, username, and password/app password AI Configuration Set up Google Gemini API credentials Connect the Gemini model to the "AI News Summarizer" node Customization Options Publishing Schedule: Modify schedule trigger (default: daily 8 AM) News Sources: Change country, category, or pageSize in NewsAPI URL Content Style: Adjust AI system message for different writing tones Post Status: Change from "publish" to "draft" for manual review Testing Run workflow manually to test all connections Verify news articles are fetched correctly Check that blog posts appear properly on your WordPress site Features: Automatic daily content creation AI-generated unique titles and expanded content Loop processing for multiple articles per day Duplicate content filtering (removes incomplete articles) SEO-optimized blog post formatting Automatic tagging and categorization Customization: Change news categories (technology, business, science, etc.) Adjust posting frequency (hourly, twice daily, etc.) Modify AI prompts for different writing styles Add custom categories and tags Change article limits (currently 5 articles max) Need Help? For n8n coaching or one-on-one consultation
by jellyfish
This workflow automates the process of monitoring Twitter accounts for intelligence gathering. It fetches new tweets from specified accounts via RSS, uses a powerful AI model (Google Gemini) to analyze the content based on your custom prompts, and sends formatted alerts to a Telegram chat for high-priority findings. Key Features: Scheduled Execution: Runs automatically at your desired interval. Dynamic Configuration: Manage which Twitter accounts to follow and what AI prompts to use directly from a Postgres database. AI-Powered Analysis: Leverages Google Gemini to extract summaries, keywords, and assign an importance level to each tweet. Duplicate Prevention: Keeps track of the last processed tweet to ensure you only get new updates. Customizable Alerts: Sends well-structured and easy-to-read notifications to Telegram. Setup Required: Postgres Database: Set up a table to store your configuration (see the Sticky Note in the workflow for the required schema). RSSHub: You need access to an RSSHub instance to convert Twitter user timelines into RSS feeds. Credentials: Add your credentials for Postgres, Google AI (Gemini), and your Telegram Bot in n8n. Configuration: Update the placeholder values in the RSS and Telegram nodes (e.g., your RSSHub URL, your Telegram Chat ID).
by Fahmi Fahreza
Weekly SEO Watchlist Audit to Google Sheets (Gemini + Decodo) Sign up for Decodo HERE for Discount Automatically fetches page content, generates a compact SEO audit (score, issues, fixes), and writes both a per-URL summary and a normalized โAll Issuesโ table to Google Sheetsโgreat for weekly monitoring and prioritization. Whoโs it for? Content/SEO teams that want lightweight, scheduled audits of key pages with actionable next steps and spreadsheet reporting. How it works Weekly trigger loads the Google Sheet of URLs. Split in Batches processes each URL. Decodo fetches page content (markdown + status). Gemini produces a strict JSON audit via the AI Chain + Output Parser. Code nodes flatten data for two tabs. Google Sheets nodes append Summary and All Issues rows. Split in Batches continues to the next URL. How to set up Add credentials for Google Sheets, Decodo, and Gemini. Set sheet_id and Sheet GIDs in the Set node. Ensure input sheet has a URL column. Configure your Google Sheets tabs with proper headers matching each field being appended (e.g., URL, Decodo Score, Priority, etc.). Adjust schedule as needed. Activate the workflow.