by M Sayed
Keep an eye on gold prices without lifting a finger! đ”ïžââïž This workflow checks gold prices every 15 minutes and sends you a neat little report. What it does: âš Fetches the live price of gold. đ Converts it into your local currency AND USD. đ Creates a simple table with prices for 24k, 21k, and 18k gold. đ Sends the update directly to your Telegram chat! Setup is easy: Just set your local currency (like 'EGP') and your Telegram Chat ID. That's it! â
by SpaGreen Creative
Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa Whoâs it for This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify store, cleans and verifies their WhatsApp numbers, and sends them personalized reminders via the Rapiwa API. It also logs each interactionâwhether the number was valid or notâinto a connected Google Sheet. Designed for marketers, small business owners, freelancers, and support teams, this solution makes it easy to run bulk WhatsApp campaigns using just a Google Sheet and your own WhatsApp numberâno need for the official WhatsApp Business API. Itâs a budget-friendly, scalable, and easy-to-manage alternative for anyone looking to automate WhatsApp follow-ups without the tech hassle. How it Works / What It Does Reads rows from a Google Sheet where the Status column is marked as "pending". Cleans each phone number (removes special characters, spaces, etc.). Verifies whether the number is a WhatsApp user using the Rapiwa API. If valid: Sends the message via Rapiwa. Updates Status = sent and Verification = verified. If invalid: Skips sending. Updates Status = not sent and Verification = unverified. Waits a configurable delay between sends to avoid rate limits. Processes rows in small batches and repeats on schedule (default every 5 minutes). How to Set Up Duplicate the sample Google Sheet format and populate it with contacts and messages. Fill required columns such as WhatsApp No, Name, Message, Image URL, and set Status = pending. Connect Google Sheets in n8n and grant the required OAuth scopes. Create an HTTP Bearer credential in n8n and paste your Rapiwa API key. Configure the workflow nodes (Trigger, Google Sheets, Limit, SplitInBatches, Code, HTTP Request, If, Update Google Sheets, Wait). Enable the workflow in n8n. Requirements Google Sheets API credentials (OAuth2) configured in n8n Google Sheet matching the template (WhatsApp No, Name, Message, Status, Verification) Rapiwa account and Bearer token n8n instance with HTTP Request and Google Sheets nodes enabled How to Customize the Workflow Add or increase delay between messages using the Wait node (e.g., 5â10 seconds). Change message content or include media by editing the HTTP Request body. Personalize messages using sheet columns (Name, product details, coupon codes). Add error handling nodes to retry failed sends or log errors. Adjust the Limit node to control how many rows are processed per run. Workflow Highlights Triggered every 5 minutes using the Schedule Trigger node. Filters sheet rows where Status = pending. Cleans numbers and verifies WhatsApp existence before sending. Sends messages via Rapiwa (unofficial API). Updates Google Sheet rows with Status = sent/not sent and Verification = verified/unverified. Uses a Wait node to prevent rapid-fire sending. Setup in n8n 1. Connect Google Sheets Add a Google Sheets node. Authenticate with your Google account. Select the document and worksheet. Use a filter or query to fetch rows with Status = pending. 2. Loop Through Rows Use SplitInBatches to process rows in small chunks (e.g., 5 rows per batch). Add a Code node to clean phone numbers (remove non-digits). Add a Wait node to pause between individual sends (recommended 5 seconds). 3. Send Message via HTTP Node Configure an HTTP Request node to POST to: https://app.rapiwa.com/api/send-message Use Bearer Token authentication with your Rapiwa API key. Example JSON body: { "number": "{{ $json['WhatsApp No'] }}", "message": "{{ $json['Message'] }}" } After the send, update the row in Google Sheets with the result. Sample Google Sheet Structure A Google Sheet formatted like this †sample | name | number | order id | item name | coupon | item link | total price | validity | status | | -------------- | ------------- | -------------- | --------------------------------- | ------ | -------------------------------------------------------------------------------- | ------------ | ---------- | -------- | | Abdul Mannan | 8801400620056 | 39248398811454 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | unverified | not sent | | Abdul Mannan | 8801400620055 | 39248402153790 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent | | Abdul Mannan | 8801400620055 | 39248403431742 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent | Tips Ensure numbers are in proper format (e.g., 8801XXXXXXXXX â no +, no spaces). Use public image URLs if sending media. Store Rapiwa API key securely in n8n credentials. Test with a small batch before scaling up. Mark processed rows as "sent" to avoid duplicates. Increase Wait time or reduce batch size if you encounter rate limiting. Important Notes Avoid Duplicates: The Google Sheet serves as a ledger. Sent messages wonât be repeated in the next cycle. Rate Limit Awareness: Use Wait nodes to space out requests and avoid getting banned. Add Delay for Safety: If needed, increase wait times or limit message batches. Extendable: You can add product images, links, or even abandon cart discounts dynamically. Future Enhancements (Ideas) Add delay between batches (e.g., 60 messages/hour) Auto-update Shopify checkout status (via GraphQL API) Use more advanced templates or media (via Rapiwa) Add error handling to log failed API calls Use Telegram/Slack node to notify when process ends Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
by Dahiana
đ Low competition keyword finder What it does: Discovers all keywords a domain ranks for and analyzes their difficulty, trends, and intent. Identifies opportunities based on actual ranking data rather than suggestions. How it works: Reads domain seeds from Google Sheets (with location/language settings) Fetches all keywords the domain ranks for (Keywords For Site API) Gets keyword difficulty scores for each keyword (Bulk Keyword Difficulty API) Combines data with search trends, intent classification, and backlink metrics Writes comprehensive results to keywords_opportunities sheet Setup Requirements: DataForSEO API credentials (Basic Auth) Google Sheets with input columns: seed, location_name, language_name, limit Output sheet: keywords_opportunities Data Captured: Keyword & Search Volume Monthly/Quarterly/Yearly Trends Keyword Difficulty (0-100) Search Intent (main + foreign) Average Backlinks Last Updated Time SE Type & Location/Language codes Best For: Competitor keyword analysis Content gap identification Monitoring domain keyword portfolio Finding keywords you already rank for
by Kunsh
How it works Automatically monitors Twitter for bug bounty tips and educational content every 4 hours, then saves valuable insights to Google Sheets for easy reference and organization. Set up steps Get your API key from https://twitterapi.io/ (free tier available) Configure Google Sheets credentials in n8n Create a Google Sheet with the required columns Update the Sheet ID in the final node What you'll get A continuously updated database of bug bounty tips, techniques, and insights from the security community, perfectly organized in Google Sheets with: Tweet content and URLs Engagement metrics (likes, retweets, replies) Formatted timestamps for easy sorting Automatic duplicate prevention Perfect for security researchers, bug bounty hunters, and cybersecurity professionals who want to stay updated with the latest tips and techniques from Twitter's security community.
by Robert Breen
Automatically pulls tasks from your Trello board and sends a daily summary to Slack. Perfect for staying on top of admin tasks, due dates, and project updates without leaving Slack. âïž Setup Instructions 1ïžâŁ Connect Trello (Developer API) Get your API key here â Trello App Key On the same page, generate a Token (click Token). In n8n â Credentials â New â Trello API â paste API Key + Token, then save. Open each Trello node (Get Board, Get Lists, Get Cards) and select your Trello credential. 2ïžâŁ Connect Slack Go to Slack API Apps and create a new app. Add OAuth & Permissions â include scopes like: chat:write (to send messages) users:read (if targeting specific users) Install the app to your workspace â copy the Bot User OAuth Token. In n8n â Credentials â New â Slack OAuth2 API â paste the token and save. In your Slack node (e.g., Send a message), select your Slack credential, and choose whether to send messages to a channel or a user. 3ïžâŁ Add Your Board URL to âGet Boardâ Copy your Trello board URL (e.g. https://trello.com/b/DCpuJbnd/administrative-tasks). Open the Get Board node â set: Resource: Board Operation: Get ID â choose URL mode and paste the board link. This node will return the board id â used by Get Lists / Get Cards nodes. đŹ Contact Need help customizing this workflow or building automations? đ§ robert@ynteractive.com đ Robert Breen đ ynteractive.com
by Kunsh
How it works Automatically monitors NIST's CVE database every hour for new vulnerabilities and uses AI to assess their relevance for bug bounty hunting, delivering actionable intelligence directly to Slack. Set up steps Get Google Gemini API key from AI Studio (free tier available) Create Slack bot with chat:write permissions Configure your target Slack channel AI filters and scores each CVE for exploitation potential What you'll get Real-time CVE intelligence with: Bug bounty relevance scoring (HIGH/MEDIUM/LOW/NONE) Actionable testing strategies for each vulnerability Slack-formatted reports with CVSS severity scores Focus on web-testable vulnerabilities only Part of "The Warden" project - perfect for security researchers who want AI-filtered, actionable CVE intelligence without the noise.
by Toshiya Minami
Title Prioritize Todoist tasks and send a daily summary to Slack Whoâs it for Busy professionals, team leads, and freelancers who want a plug-and-play, AI-assisted morning briefing that turns messy task lists into a clear, actionable plan. What it does / How it works At 08:00 every morning, the workflow pulls open tasks from Todoist. An AI agent scores and ranks them by urgency, importance, dependencies, and effort, then produces a concise plan. You receive the summary in Slack (Markdown). Overdue or critical items are highlighted with warnings. How to set up Connect OAuth for Todoist and Slack. Select your posting channel in Send to Slack. Adjust the time in Morning Schedule Trigger (default 08:00). Run once to verify the parser output and Slack preview, then set the workflow Active. Requirements n8n (cloud or self-hosted) Todoist account / Slack workspace LLM provider connected in the AI node (do not hardcode keys in HTTP nodes) How to customize the workflow Edit the prompt in AI Task Analyzer to tweak prioritization rules. Adjust Format AI Summary to match your tone and structure. Add filters in the Todoist node (e.g., due today). (Optional) Log results to Google Sheets or a database for analytics. Disclaimer (community node) This template uses a community LangChain node for AI features and is intended for self-hosted n8n. Add a workflow image at the top of your submission page for a clearer preview.
by Brandon True
Overview Send an AI a few details about your "Dream Customer" in normal english, then have it search the web and give you a "Dream 100" - 100 ideal prospects to connect with in your industry. Great for stress-testing a product idea or giving you a start for networking in an industry. How it works Send the AI agent information about your business + ideal customer. It will ask you to clarify any additional info. The agent will use an LLM to turn your criteria into specific prompts for an internet search Perplexity will use those prompts to identify ideal customers An LLM will format those Perplexity results, then they'll be added to a Google sheet. Set up steps Copy the provided google sheets template into your Google Drive Connect your Google Drive/Sheets to the workflow Connect OpenRouter and Perplexity to the workflow (Just paste in your API key!) If desired, connect the Slack trigger/response nodes to control the agent from Slack.
by Vigh Sandor
PKI Certificate & CRL Monitor - Auto Expiration Alert System Overview This n8n workflow provides automated monitoring of Public Key Infrastructure (PKI) components including CA certificates, Certificate Revocation Lists (CRLs), and associated web services. It extracts certificate information from the TSL (Trusted Service List) -- the Hungarian is the example list as default in the workflow -- , monitors expiration dates, and sends alerts via Telegram and SMS when critical thresholds are reached. Features Automated extraction of certificate URLs from TSL XML CA certificate expiration monitoring CRL expiration tracking Website availability monitoring with retry mechanism Multi-channel alerting (Telegram and SMS) Scheduled execution every 12 hours 17-hour warning threshold for expirations Setup Instructions Prerequisites n8n Instance: Running n8n installation with Linux environment Telegram Bot: Created via @BotFather Textbelt API Key: For SMS notifications (optional) Network Access: To reach TSL source and certificate URLs Linux Tools: OpenSSL, curl, libxml2-utils, jq (auto-installed) Configuration Steps 1. Telegram Setup Create Telegram Bot: Open Telegram and search for @BotFather Send /newbot and follow prompts Save the bot token (format: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz) Create Alert Channel: Create a new Telegram channel for alerts Add your bot as administrator Get channel ID: Send a test message to the channel Visit: https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates Find "chat":{"id":-100XXXXXXXXXX} - this is your channel ID 2. SMS Setup (Optional) Textbelt Configuration: Register at https://textbelt.com Purchase credits and obtain API key Note: Free tier allows 1 SMS/day for testing 3. Configure Alert Nodes Update these nodes with your credentials: CRL Alert Node: Open CRL Alert --- Telegram & SMS node Replace YOUR-TELEGRAM-BOT-TOKEN with your bot token Replace YOUR-TELEGRAM-CHANNEL-ID with your channel ID Replace +36301234567 with target phone number(s) Replace YOUR-TEXTBELT-API-KEY with your Textbelt key CA Alert Node: Open CA Alert --- Telegram & SMS node Apply same replacements as above Website Down Alert Node: Open Send Website Down - Telegram & SMS node Apply same replacements as above 4. TSL Source Configuration The workflow defaults to Hungarian TSL: URL: http://www.nmhh.hu/tl/pub/HU_TL.xml To change, edit the Collect Checking URL list node Trust list references: https://ec.europa.eu/tools/lotl/eu-lotl.xml (to find more TSL list to change the default), and https://www.etsi.org/deliver/etsi_ts/119600_119699/119615/01.02.01_60/ts_119615v010201p.pdf (to Technical Specification of the Trust Lists) 5. Threshold Configuration Default warning threshold: 17 hours before expiration To modify CRL threshold: Edit nextUpdate - TimeFilter node To modify CA threshold: Edit nextUpdate - TimeFilter1 node Change value in condition: if (diffHours < 17) Activation Save all configuration changes Test with Execute With Manual Start trigger Verify alerts are received Toggle workflow to Active status for scheduled operation How to Use Automatic Operation Once activated, the workflow runs automatically: Frequency**: Every 12 hours Process**: Downloads TSL XML Extracts all certificate URLs Checks each URL type (CRL, CA, or other) Validates expiration dates Sends alerts for critical items Manual Execution For immediate checks: Open the workflow Click Execute With Manual Start node Click "Execute Node" Monitor execution progress Understanding Alerts CRL Expiration Alert Message Format: ALERT! with [Issuer CN] !!!CRL EXPIRATION!!! Will be under 17 hour ([Next Update Time])! Last updated: [Last Update Time] Trigger Conditions: CRL expires in less than 17 hours CRL download successful but expiration imminent CA Certificate Alert Message Format: ALERT!/EXPIRED! with [Subject CN] !!!CA EXPIRATION PROBLEM!!! The expiration time: ([Not After Date]) Last updated: ([Not Before Date]) Trigger Conditions: Certificate expires in less than 17 hours (ALERT!) Certificate already expired (EXPIRED!) Website Down Alert Message Format: ALERT! The [URL] !!!NOT AVAILABLE!!! Service outage probable! Intervention required! Trigger Conditions: Initial HTTP request fails Retry after wait period also fails HTTP status code not 200 Monitoring Dashboard Execution History Navigate to n8n Executions tab Filter by workflow name Review successful/failed runs Alert History Check Telegram channel for: Alert timestamps Affected certificates/services Expiration details Troubleshooting No Alerts Received Check Telegram Bot: Verify bot is admin in channel Test with manual message via API Confirm channel ID is correct Check Workflow Execution: Review execution logs in n8n Look for error nodes (red indicators) Verify TSL URL is accessible False Positives Verify system time is correct Check timezone settings Review threshold values Missing Certificates Some certificates may not have URLs TSL may be temporarily unavailable Check XML parsing in logs Performance Issues Slow Execution: Large TSL files take time to parse Network latency affects URL checks Consider increasing timeout values Memory Issues: Workflow processes many URLs sequentially Monitor n8n server resources Consider increasing batch intervals Advanced Configuration Modify Check Frequency Edit Execute With Scheduled Start node: Change interval type (hours/days/weeks) Adjust interval value Consider peak/off-peak scheduling Add Custom TSL Sources In Collect Checking URL list node: URL="https://your-tsl-source.com/tsl.xml" Customize Alert Messages Edit alert nodes to modify message templates: Add organization name Include escalation contacts Add remediation instructions Filter Certificate Types Modify URL detection patterns: Is this CRL?** node: Adjust CRL detection Is this CA?** node: Adjust CA detection Add new patterns as needed Adjust Retry Logic Wait B4 Retry node: Default: Immediate retry Can add delay (seconds/minutes) Useful for transient network issues Maintenance Regular Tasks Weekly**: Review alert frequency Monthly**: Validate phone numbers/channels Quarterly**: Update TSL source URLs Annually**: Review threshold values Log Management Clear old execution logs periodically Archive alert history from Telegram Document false positives for tuning Updates Keep n8n updated for security patches Monitor OpenSSL versions for compatibility Update notification service APIs as needed Security Considerations Store API keys in n8n credentials manager Use environment variables for sensitive data Restrict workflow edit access Monitor for unauthorized changes Regularly rotate API keys Use HTTPS for TSL sources when available Compliance Notes Ensure monitoring aligns with PKI policies Document alert response procedures Maintain audit trail of certificate issues Consider regulatory requirements for uptime Integration Options Connect to ticketing systems for alert tracking Add database logging for compliance Integrate with monitoring dashboards Create escalation workflows for critical alerts Best Practices Test alerts monthly to ensure delivery Maintain multiple notification channels Document response procedures for each alert type Set up redundant monitoring if critical Review and tune thresholds based on operational needs Keep contact lists updated Consider time zones for global operations
by Roni Bandini
How it works This template waits for an external button to be pressed via webhook, then reads a Google Sheet with pending shipments. The sheet contains the columns: idEnvio, fechaOrden, nombre, direccion, detalle, and enviado. It determines the next shipment using Google Gemini Flash 2.5, considering not only the date but also the customerâs comments. Once the next shipment is selected, the column âenviadoâ is updated with an X, and the shipping information is forwarded to Unihikerâs n8n Terminal. Setup Create a new Google Sheet and name it "Shipping". Add the following column headers in the first row: idEnvio, fechaOrden, nombre, direccion, detalle, and enviado. Connect your Google Sheets and Google Gemini credentials. In your n8n workflow, select the Shipping sheet in the Google Sheets node. Copy the webhook URL and paste it into the .ino code for your Unihiker n8n Terminal. đ
by Patrick Jennings
Sleeper NFL Draft Results to Telegram Easily retrieve and send your Sleeper fantasy football draft picks to Telegram with this plug-and-play n8n workflow template. What This Workflow Does This workflow allows you to: Accept a /team {username} command via Telegram Use the Sleeper API to: Get the userâs ID from their username Find the most recent NFL draft associated with that user Fetch all the picks made in that draft Filter only the picks made by that user Format the data into a readable message Send back a Telegram message with full pick results including: Round, draft slot, overall pick Player name, position, and team Requirements Sleeper Fantasy Football account** with at least one completed draft Telegram Bot** created via BotFather n8n instance** with: Telegram Trigger credentials set up Access to external HTTP requests (Sleeper API) Setup Instructions Import the Template into your n8n instance. Add Telegram Credentials: Go to Credentials > Telegram API Add your bot token Replace REPLACE_WITH_YOUR_TELEGRAMAPI_CREDENTIAL in the workflow Customize: Optional: Modify the /team command trigger Optional: Adjust formatting of the Telegram message Example Telegram Response Your draft results From 2024 Your City Here (dynastyppr) season! Here are your picks: âą Round 1, Pick 4: (4 overall) Christian McCaffrey (RB - SF) âą Round 2, Pick 21: (21 overall) Garrett Wilson (WR - NYJ) âą Round 3, Pick 28: (28 overall) Travis Etienne (RB - JAX) Notes This workflow defaults to the first Sleeper league/draft returned â you can enhance logic to let users select from multiple leagues. Draft year is hardcoded to 2024. Update for future seasons as needed. Does not require Airtable or Google Sheets.
by Denis
What this workflow does Complete Airtable database management system using MCP (Model Context Protocol) for AI agents. Create bases, tables with complex field types, manage records, and maintain state with Redis storage. Setup steps Add your Airtable Personal Access Token to credentials Configure Redis connection for ID storage Get your workspace ID from Airtable (starts with wsp...) Connect to MCP Server Trigger Configure your AI agent with the provided instructions Key features Create new Airtable bases and custom tables Support for all field types (date, number, select, etc.) Full CRUD operations on records Rename tables and fields Store base/workspace IDs to avoid repeated requests Generic operations work with ANY Airtable structure Included operations create_base, create_custom_table, add_field get_table_ids, get_existing_records update_record, rename_table, rename_fields delete_record get/set base_id and workspace_id (Redis storage) Notes Check sticky notes in workflow for ID locations and field type requirements.