by RamK
Monitor GitHub Repositories for Unauthorized Actions How it works: This workflow monitors GitHub for high-risk activities to ensure that only authorized users can modify the repository. It periodically polls GitHub for events such as PushEvent, MemberEvent, and PublicEvent. For each event, the workflow extracts the username of actor and looks it up in the it_whitelist data table to determine the user’s role. A Switch node then routes the event to the appropriate validation logic. • Member & Public events: Only users with the admin role are allowed. Any non-admin action such as adding a repository member or changing a private repository to public triggers an alert. • Push events: The user must exist in the whitelist. If no role is found, the user is treated as unknown and flagged. All unauthorized actions are reported to Slack, including the event type, actor name, and repository details. Setup steps: Credentials: Connect your GitHub Personal Access Token and Slack Bot Token. Create a Data Table named it_whitelist with columns github_username and role. Add your GitHub username with the role admin to prevent self-alerts. Accordingly, add other developers and members in your organization with appropriate roles to white list them. Switch Configuration: Use the expression {{ $item.json.type }} in 'Rules' mode to route events. Logic: Configure the PushEvent IF node to flag users whose role is empty or missing. Configure the Member and Public IF nodes to flag users whose role is not admin.
by furuidoreandoro
Pokemon Card Sales & Stock Monitor Workflow Who’s it for This workflow is designed for Pokemon Card Game (Pokéca) players, collectors, or resellers in Japan who want to automate the discovery of new card releases and restock information. It is particularly useful for those who want to filter through social media noise and cross-reference rumors with official inventory data. How it works / What it does Social Media Scraping: The workflow triggers manually and uses Apify (specifically the "Tweet Scraper V2" actor) to search X (formerly Twitter) for Japanese keywords like "Pokemon Card" (ポケモンカード), "Sales Info", and "Pokeca". Data Processing: It splits the scraped tweets into batches to process them individually. AI Analysis (Step 1 - Social Verification): An AI Agent (powered by OpenRouter) analyzes the tweet text to determine if it contains valid sales or stock information. It utilizes an HTTP Request Tool to access the official Pokemon Card Map (map.pokemon-card.com) to identify mentioned retailers. AI Analysis (Step 2 - Official Stock Check): A second AI Agent takes the filtered information and checks official sources. It uses HTTP Request Tools to browse the official Pokemon Card Product page and the Pokemon Center Online store to verify if products are actually purchasable. Notification: Finally, the workflow compiles the findings into a "Sales Flash Report" and sends it to a specified Slack channel. How to set up Import the Workflow: Copy the JSON code block below and paste it into your n8n editor. Configure Credentials: Apify: Create an account on Apify, subscribe to the "Tweet Scraper V2" actor, and add your API Token to the n8n credential store. OpenRouter: Add your OpenRouter API key to power the LLM Chat Models. Slack: Connect your Slack account using OAuth2 or a Bot Token. Configure Apify Node: Ensure the actorId in the "Run an Actor" node matches the ID for the Tweet Scraper you intend to use. Set Slack Destination: Open the "Send a message" node. You will need to select the Channel where you want the alerts to appear. Requirements n8n Version:** A recent version of n8n that supports the @n8n/n8n-nodes-langchain (AI Agent) nodes. Apify Account:** Paid or free tier with enough compute units to run the scraper. OpenRouter Account:** To provide the Language Model (LLM) intelligence. Slack Workspace:** To receive the notifications. How to customize the workflow Automate Execution:* Currently, the workflow uses a "Manual Trigger". Replace this with a *Schedule Trigger** node (e.g., set to run every 30 minutes) to make it a fully automated monitoring bot. Adjust Search Terms:* In the *Apify** node, modify the searchTerms array in the JSON input to look for specific sets (e.g., "Shiny Treasure", "151") or other trading card games. Change Notification Channel:** If you prefer Discord, Line, or Telegram, remove the Slack node and replace it with the corresponding messaging node. Modify AI Logic:* You can adjust the system prompt in the *AI Agent** nodes to change how strict the AI is about what counts as "stock available" versus just "news".
by Hossein Karami
Who’s it for Teams that track absences in Everhour and want a shared Google Calendar view for quick planning. Ideal for managers, HR/OPS, and teammates who need instant visibility into approved time off. What it does Pulls approved time-off from Everhour on a schedule Creates/updates all-day events per day of absence in Google Calendar Removes stale events if a request changes or is canceled Uses a stable external key (everhour:ASSIGNMENT_ID:YYYY-MM-DD) to avoid duplicates How it works A Schedule Trigger runs periodically → the workflow fetches Everhour assignments, filters approved time-off, expands multi-day requests into single-day items, then searches by external key to either create or update events. Separate cleanup steps list calendar events and delete any that are no longer present in Everhour. How to set up In n8n, create an HTTP Header Auth credential for Everhour with header `X-Api-Key: {YOUR_EVERHOUR_API_KEY} `. Add a Google Calendar OAuth credential. Open the Config node and set your calendarId (e.g., team@group.calendar.google.com). Enable the workflow and choose your schedule. Requirements Everhour account with API access Google Calendar (workspace or personal) n8n Cloud or self-hosted How to customize the workflow Adjust the schedule (hourly/daily). Filter by user or time-off type. Tweak the event title/description templates. Point to multiple calendars (duplicate the create/update branch per calendar).
by Yehor EGMS
🔐 n8n Workflow: Role-Based Access Control (RBAC) for Telegram Automations This n8n workflow lets you control access to your internal Telegram bots and automation systems based on user roles and departments. It ensures that only authorized team members — defined in your employee database — can interact with specific parts of your workflow. Perfect for agencies, internal tools, or multi-team organizations where permissions differ across roles (e.g., Marketing, Sales, Administration). 📌 Section 1: Trigger & Input ⚡ Receive Message (Telegram Trigger) Purpose: Captures incoming messages from users interacting with your Telegram bot. How it works: When a user sends any message to the bot, the workflow retrieves their Telegram username and triggers the process. Benefit: Provides a secure and instant entry point for validating user identity before running any internal logic. 📌 Section 2: Role Lookup 📋 Employee Database (Data Table Node) Purpose: Fetches user details such as Position and Type from your internal employee table. Structure Example: UserName===Position===Type User_1===Marketing===SEO User_2===Administration===Manager User_3===Marketing===Target Benefit: Centralized employee management — you can update access levels (roles or departments) directly in the data table without editing the workflow. 📌 Section 3: Position & Role Check 🧩 Choose Position (Switch Node) Purpose: Determines the user’s department or role level (e.g., Marketing, Sales, Administration). 🧩 Check Role Type (Switch Node) Purpose: Performs a second-level check — filters users by Type (e.g., SEO, SMM, Target). Logic: Marketing → SEO → Send to SEO workflow branch Marketing → Target → Send to Ads branch Administration → Manager → Grant full access Sales → Employee → Limited access Benefit: Allows multi-level, role-based logic with different automation paths for each team or position. 📌 Section 4: Action Routing 💬 No Operation Nodes (Placeholders) Purpose: Represent different action branches — each can later be replaced with the logic specific to that department. Examples: “Target” branch → connect to ad performance automation “SEO” branch → connect to Google Search Console reports “Sales” branch → connect to CRM updates Benefit: A flexible access framework — ready to integrate with any process per department. 📊 Workflow Overview Table Section Node Name Purpose Trigger Telegram Trigger Captures user messages Lookup Employee Database Fetches user position and type Check Choose Position / Role Switch Defines access path based on role Routing No Operation Nodes Separate workflows per department 🎯 Key Benefits 🔐 Granular Access Control: Multi-level permission logic (Position + Role). ⚙️ Dynamic Role Management: Update access directly in your data table — no redeployment needed. 🧱 Modular Design: Add or replace department branches without affecting core logic. 🚀 Scalable Foundation: Perfect base for enterprise-grade permission systems or multi-team bots. 📈 Cross-Platform Ready: Can be adapted for Slack, Discord, or internal chat tools.
by Himanshu
📝 Description Access your Razorpay insights instantly from Telegram—no dashboard, filters, or manual queries needed. Simply send messages like “show my payments”, “list recent orders”, or “check refunds”, and the bot retrieves the latest information from your Razorpay merchant account in seconds. Powered by AI, the workflow understands your message, fetches the relevant Razorpay data, and transforms it into a clear, easy-to-read summary. Everything is delivered back to you within the same Telegram chat, giving you fast, convenient, and conversational access to your business analytics. ⚙️ How It Works 1. Trigger — Telegram Bot Message The workflow starts when a user sends a message to your Telegram bot via the Telegram Trigger node. 2. Intent Classification An AI model analyzes the incoming message and identifies what the user is asking for. 🔹 Orders Intent Retrieves order information from Razorpay Handles pagination and filtering logic Uses AI to generate order summaries and insights 🔹 Refunds Intent Queries Razorpay for refund events Computes refund totals and status breakdowns Produces formatted summaries with the AI model 🔹 General Chat Intent Handles all non-transactional or fallback messages. Useful for: 💡 Use Cases Get instant Razorpay payment analytics in Telegram Retrieve daily or weekly order summaries View recent refund activity Provide your team with quick insight access directly from chat Automate repetitive Razorpay queries without dashboards 🧰 Requirements Razorpay API Credentials (Key ID + Key Secret) here) Telegram Bot Token 🚀 Setup Instructions Import this workflow into your n8n workspace. Add and configure your Razorpay and Telegram credentials. Activate the workflow. Start chatting with your Telegram bot to receive Razorpay insights on demand. 🖼️ Workflow Components This workflow includes the following nodes: Telegram Trigger – Receives user messages AI Intent Classifier – Detects what the user wants Payments Processor Orders Processor Refunds Processor General Chat Processor Merge + Telegram Reply – Sends final response
by David Olusola
🌤️ Weather Alerts via SMS (OpenWeather + Twilio) This workflow checks the current weather and forecast every 6 hours using the OpenWeather API, and automatically sends an SMS alert via Twilio if severe conditions are detected. It’s great for keeping teams, family, or field workers updated about extreme heat, storms, or snow. ⚙️ How It Works Check Every 6 Hours A Cron node triggers the workflow every 6 hours. Frequency can be adjusted based on your needs. Fetch Current Weather & Forecast Calls OpenWeather API for both current conditions and the 24-hour forecast. Retrieves temperature, precipitation, wind speed, and weather descriptions. Analyze Weather Data A Code node normalizes the weather data. Detects alert conditions such as: Extreme heat (≥95°F) Extreme cold (≤20°F) Severe storms (thunderstorm, tornado) Rain or snow High winds (≥25 mph) Also checks upcoming forecast for severe weather in the next 24 hours. Alert Needed? If no severe conditions → workflow stops. If alerts exist → proceed to SMS formatting. Format SMS Alert Prepares a compact, clear SMS message with: Current conditions Detected alerts Next 3 hours forecast preview Example: 🌤️ WEATHER ALERT - New York, US NOW: 98°F, clear sky 🚨 ALERTS (1): 🔥 EXTREME HEAT: 98°F (feels like 103°F) 📅 NEXT 3 HOURS: 1 PM: 99°F, sunny 2 PM: 100°F, sunny 3 PM: 100°F, partly cloudy Send Weather SMS Twilio sends the SMS to configured phone numbers. Supports multiple recipients. Log Alert Sent Logs the alert type, urgency, and timestamp. Useful for auditing and troubleshooting. 🛠️ Setup Steps 1. OpenWeather API Sign up at openweathermap.org. Get a free API key (1000 calls/day). Update the API key and location (city or lat/long) in the HTTP Request nodes. 2. Twilio Setup Sign up at twilio.com. Get your Account SID & Auth Token. Buy a Twilio phone number (≈ $1/month). Add Twilio credentials in n8n. 3. Recipients In the Send Weather SMS node, update phone numbers (format: +1234567890). You can add multiple recipients. 4. Customize Alert Conditions Default alerts: rain, snow, storms, extreme temps, high winds. Modify the Analyze Weather Data node to fine-tune conditions. 📲 Example SMS Output 🌤️ WEATHER ALERT - New York, US NOW: 35°F, light snow 🚨 ALERTS (2): ❄️ SNOW ALERT: light snow 💨 HIGH WINDS: 28 mph 📅 NEXT 3 HOURS: 10 AM: 34°F, snow 11 AM: 33°F, snow 12 PM: 32°F, overcast ⏰ Alert sent: 08/29/2025, 09:00 AM ⚡ With this workflow, you’ll always know when bad weather is on the way — keeping you, your team, or your customers safe and informed.
by Nitin Garg
How it works Form Trigger accepts a question and optional settings (folder ID, search depth) Cookie Validation checks if Skool session is still active BuildId Extraction dynamically extracts Skool's build ID from homepage Keyword Extraction uses Claude Haiku to extract 1-2 search keywords Multi-Page Search fetches 1-10 pages of Skool search results Post Aggregation collects all posts with content and comments AI Analysis uses Claude Sonnet to analyze posts and answer your question Google Doc Report creates a detailed research document in your Drive HTML Response returns a beautiful summary page Key Features Auto BuildId Detection - No manual updates when Skool changes Cookie Expiration Handling - Clear error messages when session expires Configurable Search Depth - Search 1-10 pages (default: 5) Token Protection - Limits content to control API costs Dual AI Models - Haiku for keywords (cheap), Sonnet for analysis (powerful) Set up steps Time required: 10-15 minutes Get your Skool session cookie from browser DevTools Get an Anthropic API key from console.anthropic.com Set up Google Docs OAuth2 credential in n8n Create a Google Drive folder for research docs Update the Config node with your values: COOKIE - Your Skool session cookie ANTHROPIC_API_KEY - Your Claude API key DEFAULT_FOLDER_ID - Your Google Drive folder ID COMMUNITY - Your Skool community slug Who is this for? Members of Skool communities searching past discussions Community managers researching common questions Anyone building knowledge bases from Skool content Estimated costs Per search:** $0.02-0.10 (Claude Haiku + Sonnet) Skool cookies expire every 7-14 days (requires refresh) 🏷️ Suggested Tags skool, community, search, ai, claude, anthropic, google-docs, research, knowledge-base, form
by Hashir Bin Waseem
AI-powered Meeting Summaries and Action Items to Slack and ClickUp How it Works Webhook Trigger: The workflow starts when Fireflies notifies that a transcription has finished. Transcript Retrieval: The transcript is pulled from Fireflies based on the meeting ID. Pre-processing: The transcript is split into sentences and then aggregated into a raw text block. AI Summarization: The aggregated transcript is sent to Google Gemini, which generates a short summary and a structured list of action items. Post-processing: The AI response is cleaned and formatted into JSON. Action items are mapped to titles and descriptions. Distribution: The meeting summary is posted to Slack. Action items are created as tasks in ClickUp. Use Case This workflow is designed for teams that want to reduce the manual effort of writing meeting notes and extracting action items. Automatically generate a clear and concise meeting summary Share the summary instantly with your team on Slack Ensure action items are not lost by automatically creating tasks in ClickUp Ideal for distributed teams, project managers, and product teams managing recurring meetings Requirements n8n instance** set up and running Fireflies.ai account** with API access to meeting transcripts Google Gemini API (via PaLM credentials)** for AI-powered summarization Slack account** with OAuth2 credentials connected in n8n ClickUp account** with OAuth2 credentials connected in n8n
by David Olusola
🌟 Send Daily Motivational Quote to Slack This workflow automatically posts an inspiring motivational quote to your Slack channel every morning at 8 AM. It uses the free ZenQuotes.io API (no API key required) to fetch quotes and delivers them to your team in Slack. ⚙️ How It Works Trigger at 8 AM A Cron node runs daily at 8 AM EST (America/New_York timezone by default). Fetch a Random Quote The workflow sends an HTTP Request to ZenQuotes.io API to retrieve a motivational quote. Format the Message A Code node structures the quote into a Slack-friendly message, adding styling, emojis, and the author’s name. Post to Slack Finally, the Slack node sends the motivational message to your chosen Slack channel (default: #general). 🛠️ Setup Steps 1. Connect Slack App Go to api.slack.com → Create a new app. Add OAuth scopes: chat:write channels:read Install the app to your Slack workspace. Copy credentials into n8n. 2. Configure Slack Channel Default is #general. Update the Slack node if you want to post to another channel. 3. Adjust Timezone (Optional) Workflow is set to America/New_York timezone. Change under workflow → settings → timezone if needed. ✅ Example Slack Output 🌟 Daily Motivation 🌟 "Success is not final, failure is not fatal: it is the courage to continue that counts." — Winston Churchill ⚡ Once enabled, your team will receive a motivational quote in Slack every morning at 8 AM — simple, automatic, and uplifting!
by Port IO
Complete incident workflow from detection through resolution to post-mortem, with full organizational context from Port's catalog. This template handles both incident triggered and resolved events from PagerDuty, automatically creating Jira tickets with context, notifying teams via Slack, calculating MTTR, and using Port AI Agents to schedule post-mortem meetings and create documentation. How it works The n8n workflow orchestrates the following steps: On Incident Triggered: PagerDuty webhook — Receives incident events from PagerDuty via POST request. Event routing — Routes to triggered or resolved flow based on event type. Port context enrichment — Uses Port's n8n node to query your software catalog for service context, on-call engineers, recent deployments, runbooks, and past incidents. AI severity assessment — OpenAI assesses severity based on Port context and recommends investigation actions. Escalation routing — Critical incidents automatically escalate to leadership Slack channel. Jira ticket creation — Creates incident ticket with full context, investigation checklist, and recommended actions. Team notification — Notifies the team's Slack channel with incident details and resources. On Incident Resolved: Port context extraction — Gets post-incident context from Port including stakeholders and documentation spaces. MTTR calculation — Calculates mean time to resolution from incident timestamps. Post-mortem generation — AI generates a structured post-mortem template with timeline. Port AI Agent scheduling — Triggers Port AI Agent to schedule post-mortem meeting, invite stakeholders, and create documentation. Resolution notification — Notifies team with MTTR, post-mortem document link, and meeting details. Metrics logging — Logs MTTR metrics back to Port for service reliability tracking. Setup [ ] Register for free on Port.io [ ] Configure Port with services, on-call schedules, and deployment history [ ] Set up Port AI agents for post-mortem scheduling [ ] Connect PagerDuty webhook for incident events [ ] Configure Jira project for incident tickets (use project key 'INC' or customize) [ ] Set up Slack channels for alerts (#incidents and #leadership-alerts) [ ] Add OpenAI credentials for severity assessment [ ] Test with a sample incident event [ ] You should be good to go! Prerequisites You have a Port account and have completed the onboarding process. Port's integrations are configured (GitHub, Jira, PagerDuty if available). You have a working n8n instance (Cloud or self-hosted) with Port's n8n custom node installed. PagerDuty account with webhook capabilities. Jira Cloud account with appropriate project permissions. Slack workspace with bot permissions to post messages. OpenAI API key for severity assessment and post-mortem generation. ⚠️ This template is intended for Self-Hosted instances only.
by Intuz
This n8n template from Intuz provides a complete solution to automate the syncing of new subscribers from Google Sheets to MailerLite. It intelligently identifies and adds only new contacts, preventing duplicates and ensuring your email lists are clean and accurate. Who's this workflow for? Marketing Teams Email Marketers Small Business Owners Community Managers How it works 1. Read from Google Sheets: The workflow begins by reading all contact rows from your designated Google Sheet. 2. Check for Existing Subscribers: For each contact, it performs a search in MailerLite to check if a subscriber with that email address already exists. 3. Handle Duplicates: If the subscriber is found in MailerLite, the workflow stops processing that specific contact, preventing any duplicates from being created. 4. Create New Subscribers: If the contact is not found, the workflow proceeds to create a new subscriber in MailerLite, using all the details from the Google Sheet (like name, company, and country) and assigns them to the specified group. Setup Instructions 1. Google Sheets Setup: Connect your Google Sheets account to n8n. Create a sheet with the required columns: Email, first_name, last_name, Company, Country, and group_id. In the Get row(s) in sheet node, select your credentials and specify the Document ID and Sheet Name. 2. MailerLite Setup: Connect your MailerLite account to n8n using your API key. In both the Get a subscriber and Create subscriber... nodes, select your MailerLite credentials. Make sure the group_id values in your Google Sheet correspond to valid Group IDs in your MailerLite account. 3. Activate Workflow: Save the workflow and click "Execute workflow" to run the sync whenever you need to update your subscriber list. Connect with us Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by Rahul Joshi
Description: Reignite cold leads automatically with this intelligent n8n automation template that integrates Zoho CRM, Azure OpenAI (GPT-4o-mini), and Email. This workflow identifies leads that haven’t been contacted in the last 30 days, generates personalized AI-written emails based on lead data, sends them directly, and updates the CRM—all without manual follow-up. Perfect for sales teams, marketing managers, and business development professionals who want to recover lost opportunities, boost engagement rates, and maintain an active sales pipeline with minimal effort. ✅ What This Template Does (Step-by-Step) ⏰ Daily Trigger Automatically runs on a set schedule (daily or weekly) to check for inactive leads. 📅 Calculate 30 Days Ago Computes the exact date threshold (today − 30 days) to filter stale leads from Zoho CRM. 🔍 Fetch Cold Leads from Zoho Searches Zoho CRM for leads whose Last Activity occurred before the calculated date—returning only those needing re-engagement. 🤖 AI Email Generation Uses Azure OpenAI (GPT-4o-mini) to analyze each lead’s data and craft a personalized re-engagement email that reflects their previous interactions, interests, or stage in the funnel. 📧 Send Personalized Email Delivers the custom AI-generated email directly to each lead. Subject: “Let’s Reconnect!” Body: Tailored, human-like message written by AI. ✅ Update CRM Record After each email is sent, the workflow updates the lead in Zoho CRM—marking them as contacted, refreshing the Last Activity timestamp, and maintaining accurate engagement history. 🧠 Key Features ✔️ Smart lead filtering based on inactivity window ✔️ AI-crafted, context-aware personalized emails ✔️ Seamless Zoho CRM integration for tracking and updates ✔️ Fully automated daily execution ✔️ Customizable for different CRMs or intervals 💼 Use Cases 💡 Re-engage leads who’ve gone silent for 30+ days 📈 Improve conversion and response rates automatically 🤝 Maintain continuous pipeline nurturing 🔁 Save hours of manual email follow-up 📦 Required Integrations • Zoho CRM API – for fetching and updating lead data • Azure OpenAI API (GPT-4o-mini) – for email personalization • SMTP / Email API – for sending re-engagement emails 🎯 Why Use This Template? ✅ Automates your entire cold-lead revival process ✅ Saves manual outreach time for sales reps ✅ Increases lead conversion through personalized AI communication ✅ Keeps CRM data fresh and accurate