by WeblineIndia
Quick Overview This scheduled workflow pulls the latest AI-related articles from NewsAPI, uses Google Gemini to filter and draft a LinkedIn post plus image prompt, generates an image with OpenAI, uploads the image and post to LinkedIn via its API, and sends status notifications through Gmail and Slack. How it works Runs on a schedule and requests the latest AI/tech articles from NewsAPI. Checks whether the NewsAPI response contains any results and emails via Gmail if no articles are available. Sends the first returned article to Google Gemini to decide whether it is suitable for a professional LinkedIn post. Parses Gemini’s JSON decision, continues only if the article is approved, and emails via Gmail if it is rejected as not relevant. Uses Google Gemini to generate LinkedIn post copy and an AI image prompt from the approved article, then cleans and parses the model output into structured JSON. Generates an image from the prompt with OpenAI, fetches the LinkedIn user profile, registers a LinkedIn media upload, converts the image data for upload, and uploads it to LinkedIn. Creates a LinkedIn UGC post that includes the generated text and uploaded image asset, then sends a success notification to a Slack channel. Setup Add credentials for Google Gemini (PaLM API), OpenAI, LinkedIn OAuth2, Gmail OAuth2, and Slack, and ensure the LinkedIn connection has permission to upload media and publish posts. Replace YOUR_NEWS_API_KEY_HERE in the NewsAPI request URL with your NewsAPI key and adjust the query, language, and pageSize if needed. Update the Gmail recipient addresses used for “no news” and “not relevant” notifications. Set the Slack channel for success notifications. In the LinkedIn image upload step, replace YOUR_GENRATED_UPLOAD_URL with the upload URL returned by LinkedIn’s registerUpload response (and map it dynamically) so the PUT upload targets the correct URL.
by Avkash Kakdiya
Quick Overview This workflow receives new-hire records via a webhook, validates and normalizes the data, then provisions a Google Workspace account, creates an onboarding task in Google Tasks, notifies the IT team in Slack, emails the hiring manager via Gmail, and logs the run to Google Sheets. How it works Receives a new hire payload from the HR system through an HTTP webhook endpoint. Parses the payload, standardizes key fields (name, department, manager, start date), and skips records missing required identity data. If the record is invalid, posts a Slack message to the IT channel for manual review and stops processing. For valid hires, generates a company email address, username, temporary password, ticket title, and a target ready-by date. Creates the new user in the Google Admin Directory (Google Workspace) and opens an IT onboarding checklist as a Google Tasks task. Posts a provisioning summary to the IT Slack channel, emails the manager a day-one checklist via Gmail, and appends the provisioning details to a Google Sheets log. Setup Configure your HR system (or source app) to send a POST request to the workflow webhook path /hr/new-hire using the production webhook URL. Add Google credentials with access to the Admin SDK Directory API (for user creation), Google Tasks, Gmail, and Google Sheets, and ensure the account has the required admin permissions. Add Slack credentials, set the target channel ID for IT onboarding notifications, and update the channel selection if needed. Update the email domain in the generated address (currently @yourcompany.com) and confirm how departments map to Google Workspace org unit paths. Set your Google Sheets document ID and ensure it contains (or can create) a sheet named "Provisioning Log" with matching columns for the appended fields.
by Avkash Kakdiya
How it works This workflow automatically handles every failed Stripe payment by collecting all details, assessing severity, and taking immediate action — alerting your team, creating recovery tasks, escalating repeat failures, notifying the customer, and logging everything — without any manual effort. Step-by-step Trigger & parse** Stripe Trigger – Listens for charge.failed, invoice.payment_failed, and payment_intent.payment_failed events from Stripe. Parse & Enrich Payment Data – Extracts and normalizes customer name, email, plan, amount, failure code, attempt count, and assigns severity (LOW / MEDIUM / HIGH / CRITICAL) and ClickUp priority based on payment amount. High value check** High Value Check – Checks if the failed payment is $1,000 or more to route it to a critical or standard alert path. Slack — Critical Alert – Posts a urgent CRITICAL PAYMENT FAILURE message to Slack with full payment and customer details. Slack — Standard Alert – Posts a standard payment failed message to Slack for lower-value failures. Task creation** ClickUp — Create Recovery Task – Creates a prioritized recovery task in ClickUp with due date set to 24h (critical) or 48h (standard) from failure time. Repeat failure check** Retry Count Check – Checks if the payment has failed more than twice to determine if escalation is needed. Slack — Escalation Alert – Sends a ESCALATION message tagging the billing manager when repeated failures are detected. Customer notification & logging** Send a message – Sends an HTML-formatted Gmail to the customer explaining the failure, reason, and next retry date. Log to Google Sheets – Appends all payment failure details including severity, attempt count, failure code, and Stripe links to a tracking sheet. Create or update a contact – Creates or updates the customer record in HubSpot with their name, email, and plan details. Why use this? Instantly catches every Stripe payment failure across all event types with zero manual monitoring Severity-based routing ensures critical high-value failures get immediate escalated attention Auto-creates ClickUp recovery tasks so every failure has an owner and a deadline Escalates repeated failures automatically so chronic issues never slip through unnoticed Keeps customers informed with professional failure emails while logging everything for reporting and CRM hygiene
by Nirav Gajera
🏠 AI Real Estate Lead Qualifier — Typeform to Airtable with Smart Email Routing Automatically qualify property leads, score them with AI, save to Airtable, and send personalised emails — all in seconds. 📖 Description Every time a prospect submits your Typeform property inquiry, this workflow kicks in automatically. It extracts their details, runs them through an AI lead scoring engine, saves the record to Airtable, and sends a personalised email — a priority response for hot leads, a nurture email for everyone else. No manual review. No missed leads. No delayed follow-ups. This is built for real estate agencies, leasing companies, and property managers who receive inquiries through Typeform and want instant, intelligent responses without hiring extra staff. ✨ Key Features Instant lead capture** — triggers the moment Typeform receives a submission AI lead scoring** — Google Gemini classifies every lead as High, Medium, or Low automatically Smart email routing** — High leads get a priority response, others get a nurture sequence Airtable CRM sync** — every lead saved with full details + AI assessment Robust AI parsing** — 4-layer fallback system ensures AI output is always usable Personalised emails** — name, property type, location, budget pulled into every email automatically No-code maintenance** — update scoring rules in the prompt, email copy in the nodes 🔄 How It Works Prospect submits Typeform inquiry ↓ Webhook receives the form payload ↓ Extract Typeform Fields → name, email, phone, property type → purpose, location, budget, requirements ↓ AI Lead Qualifier (Google Gemini) → lead_score: High / Medium / Low → intent, timeline, notes ↓ Parse AI Output (4-layer fallback) ↓ Save to Airtable CRM ↓ High Lead? (IF check) ✅ YES → Priority Email (contact within 2 hours) ❌ NO → Nurture Email (contact within 1-2 days) 🤖 AI Lead Scoring Rules The AI automatically classifies leads based on these criteria: | Score | Criteria | | :--- | :--- | | 🔴 High | Has budget + specific location + clear purpose (investment or near-term buying) | | 🟡 Medium | Partial information — needs follow-up to qualify further | | 🟢 Low | Vague inquiry, missing budget or location, early exploration | The AI also extracts: Intent** — what the lead is trying to achieve Timeline** — how urgently they need a property Notes** — assessment summary for your sales team 📧 Email Templates High Lead Email Subject: 🏠 [Name], we have properties matching your needs! Dark blue header — premium feel Full inquiry summary (property, purpose, location, budget, timeline) AI assessment notes included Promise: senior agent contacts within 2 hours Nurture Email (Medium / Low) Subject: Thanks for reaching out, [Name]! Grey header — warm and professional Inquiry summary (property, location, budget) Preparation tips while they wait Promise: contact within 1-2 business days 🛠 Setup Requirements 1. Typeform Setup Create a Typeform with these fields and note their field ref IDs from the Typeform API: | Field | Type | Required | | :--- | :--- | :---: | | Full Name | Short text | ✅ | | Phone Number | Phone | ✅ | | Email Address | Email | ✅ | | Property Type | Multiple choice | ✅ | | Purpose | Multiple choice | ✅ | | Preferred Location | Short text | ✅ | | Budget Range | Multiple choice | ✅ | | Requirements | Long text | ✅ | | Consent | Yes/No | Optional | Connect Typeform webhook: Typeform Dashboard → Connect → Webhooks URL: your n8n webhook URL (Production URL from the Webhook node) Method: POST 2. Update Field Refs In the Extract Typeform Fields Code node, update the REF_* constants to match your actual Typeform field reference IDs: const REF_NAME = 'your-field-ref-here'; const REF_EMAIL = 'your-field-ref-here'; const REF_PHONE = 'your-field-ref-here'; // ... etc Find your field refs from the Typeform API or by logging a test webhook payload. 3. Airtable Setup Create an Airtable base with a table containing these fields: | Field Name | Field Type | | :--- | :--- | | Full Name | Single line text | | Email Address | Email | | Mobile Phone Number | Phone | | Property Type | Single line text | | Purpose | Single line text | | Preferred Location | Single line text | | Budget Range | Single line text | | Requirements | Long text | | Submit Date | Single line text | | Lead Score | Single line text | | Intent | Single line text | | Timeline | Single line text | | Notes | Long text | Update the Save to Airtable node with your Base ID and Table ID. 4. Credentials Required | Credential | Used for | Free? | | :--- | :--- | :--- | | Google Gemini (PaLM) API | AI lead scoring | Free tier available | | Airtable Personal Access Token | CRM save | Free | | SMTP | Sending emails | Depends on provider | 5. Email Configuration In both email nodes, update: fromEmail — your sending address SMTP credential — your email provider details Recommended SMTP providers for testing: Mailtrap (sandbox), Gmail, SendGrid ⚙️ Workflow Nodes | Node | Type | Purpose | | :--- | :--- | :--- | | Webhook | Webhook | Receives Typeform POST payload | | Extract Typeform Fields | Code | Parses answers by field ref ID | | AI Lead Qualifier | AI Agent | Scores lead using Gemini | | Google Gemini Chat Model | LLM | AI model for scoring | | Parse AI Output | Code | Extracts JSON with 4-layer fallback | | Save to Airtable | Airtable | Creates CRM record | | High Lead? | IF | Routes by lead score | | Priority Email | Email Send | Sends to High leads | | Nurture Email | Email Send | Sends to Medium/Low leads | 🔧 Customisation Change scoring criteria: Edit the prompt in the AI Lead Qualifier node. Add your own rules — e.g. score higher if budget exceeds a threshold, or if the purpose is investment. Add more email tiers: Add a third IF branch for Low leads with a different nurture sequence, or add a Slack/WhatsApp alert for High leads. Use a different form: The Extract Typeform Fields node uses Typeform's field.ref system. Replace it with a Google Forms or Jotform parser by adjusting how you read the incoming webhook body. Change the AI model: Replace the Google Gemini node with Claude, OpenAI, or any other LLM Chat Model node — no other changes needed. Add lead deduplication: Before saving to Airtable, add a search step to check if the email already exists and skip or update instead of creating a duplicate. 🛡 Robustness Features The Parse AI Output node uses a 4-layer fallback to ensure the workflow never breaks due to AI formatting issues: Direct JSON parse — if Gemini returns clean JSON Strip markdown fences — if Gemini wraps in Regex JSON extraction — if there's extra text around the JSON Field-by-field regex — if JSON is malformed, extracts each field individually Default fallback — if all else fails, sets lead_score: Medium This means the workflow continues and saves the record even if the AI returns unexpected output. 📊 Sample Airtable Record Full Name: Sarah Johnson Email Address: sarah@example.com Mobile Phone: +91 9876543210 Property Type: 2BHK Apartment Purpose: Investment Preferred Location: Bandra, Mumbai Budget Range: ₹80L - ₹1.2Cr Requirements: Parking, gym, sea view Submit Date: 2026-03-18T10:30:00Z Lead Score: High Intent: Serious buyer looking for investment property with strong rental yield Timeline: Within 3 months Notes: High-intent lead with clear budget and location. Has specific amenity requirements. Recommend immediate callback. 📦 Requirements Summary n8n (cloud or self-hosted) Typeform account (any paid plan for webhooks) Airtable account (free tier works) Google AI Studio account for Gemini API key (free tier available) SMTP email account 💡 Enhancement Ideas WhatsApp alert** — send instant WhatsApp to sales team for every High lead via Twilio Calendar booking link** — include a Calendly link in the High lead email Lead follow-up reminder** — add a Wait node + reminder email if no reply in 48 hours Slack notification** — ping your team channel instantly for High leads Lead scoring dashboard** — connect Airtable to a dashboard tool for weekly reports Built with n8n · Google Gemini AI · Typeform · Airtable · SMTP
by Rajeet Nair
Overview This workflow automates end-to-end contract analysis using AI. It extracts clauses, evaluates risks, tracks obligations, and generates an executive summary from uploaded contracts. By combining multiple AI agents with structured parsing and scoring logic, the workflow provides deep legal insights and automatically flags high-risk contracts. It helps legal, compliance, and business teams review contracts faster, reduce risk, and ensure better decision-making. How It Works Webhook Trigger Accepts contract uploads via API endpoint. Workflow Configuration Defines: Risk threshold Alert recipients Slack notification channel PDF Text Extraction Extracts raw text from uploaded contract files. Parallel AI Analysis Multiple AI agents process the contract simultaneously: Clause Extraction Agent Identifies and categorizes contract clauses Risk Assessment Agent Evaluates clause-level risks Assigns risk levels and recommendations Obligation Extraction Agent Extracts responsibilities, deadlines, and commitments Executive Summary Agent Generates structured contract summary and insights Structured Output Parsing Ensures consistent JSON outputs for all agents Data Aggregation Merges outputs from all AI agents into one dataset Risk Scoring Engine Calculates weighted risk score based on: Clause types Risk levels Missing critical clauses AI confidence scores Generates: Score breakdown Red flags Recommendations Data Preparation Formats contract data for storage and tracking Database Storage Stores: Contract metadata Clauses Obligations Risk scoring results Risk Evaluation Compares calculated risk score against threshold Alert System If risk is high: Sends email alerts Sends Slack notifications Setup Instructions Webhook Setup Configure endpoint (contract-upload) Connect to your document upload system AI Model Setup Add Anthropic (Claude 3.5) or OpenAI credentials Connect model to all AI agent nodes Database Setup Configure Postgres credentials Create tables: contracts contract_clauses contract_obligations risk_scoring Email Integration Configure Gmail or SMTP credentials Set alert recipient emails Slack Integration Add Slack credentials Set channel ID for alerts Configuration Settings Adjust: Risk threshold (e.g., 0.7) Alert recipients Slack channel Use Cases Legal contract review automation Vendor agreement risk assessment Compliance and audit workflows Procurement contract validation AI-powered legal tech solutions Requirements AI model API (Anthropic or OpenAI) Postgres database Email service (Gmail/SMTP) Slack workspace n8n instance Key Features Multi-agent AI contract analysis Clause extraction and categorization Risk scoring with weighted logic Obligation tracking and deadline extraction Executive summary generation Automated high-risk alert system Structured database storage for audit Summary A powerful AI-driven contract intelligence workflow that transforms unstructured legal documents into structured insights, risk scores, and actionable recommendations. It enables faster contract reviews, better risk management, and scalable legal automation.
by Incrementors
Description Submit a new employee's details and your onboarding recording URL via a simple form and the workflow automatically extracts the specific training moments relevant to that employee. WayinVideo's Find Moments API scans the full recording and returns up to 5 matching clips in HD 720 quality with animated captions and download links — which are downloaded immediately before the export links expire and uploaded to Google Drive with a structured filename. Every clip is saved to the Onboarding Clip Library Google Sheet with the Drive link, and a personalized HTML welcome email is sent to the new employee with the full recording link and instructions. Built for HR teams, learning and development managers, and People Operations teams who run recurring onboarding sessions and want to deliver specific training clips to each new employee automatically — without manually editing recordings. What This Workflow Does Finds up to 5 topic-specific training moments per recording** — WayinVideo scans the full onboarding session and returns only the clips that match your training topic query — not the entire recording Exports clips in HD 720 with animated captions** — Every clip is generated with animated captions in the original language so new employees can watch silently or with sound Downloads clips before export links expire** — WayinVideo export links last only 24 hours — the workflow downloads and uploads to Drive immediately so clips are available permanently Creates structured Drive filenames per clip** — Each file is named EmployeeName_Department_Clip_N_Score_S.mp4 so your Drive folder is organized and searchable by employee and topic Saves 15 metadata fields to Google Sheets** — Employee name, email, department, start date, clip title, description, timestamp, score, tags, and a direct Drive link are all logged per clip Sends a personalized HTML welcome email** — The new employee receives a branded HTML email addressed by first name with the full recording link, their department, start date, and instructions to access their clips Polls automatically until clips are ready** — Waits 90 seconds then checks every 30 seconds until WayinVideo finishes processing the recording Setup Requirements Tools Needed n8n instance (self-hosted or cloud) WayinVideo account with API access Google Drive (one folder for onboarding clips) Google Sheets (one sheet with a tab named Onboarding Clip Library) Gmail account Credentials Required WayinVideo API key (pasted into 2. WayinVideo — Submit Find Moments and 4. WayinVideo — Get Clips Result) Google Drive OAuth2 Google Sheets OAuth2 Gmail OAuth2 > ⚠️ WayinVideo API key appears in 2 steps — replace YOUR_WAYINVIDEO_API_KEY in both 2. WayinVideo — Submit Find Moments and 4. WayinVideo — Get Clips Result. Missing either one will cause the workflow to fail. > ⚠️ Query tip — The Training Topic to Extract field works best with 4–6 descriptive words. Examples that work well: "company culture and team values explanation", "HR leave policy and benefits overview", "tools and software walkthrough for new employees". Single words like "culture" or "HR" will return poor results. Estimated Setup Time: 20–25 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import Get your WayinVideo API key — Log in to your WayinVideo account → go to Account Settings → copy your API key Add your WayinVideo API key to node 2 — Open node 2. WayinVideo — Submit Find Moments → find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY → replace YOUR_WAYINVIDEO_API_KEY with your actual key Add your WayinVideo API key to node 4 — Open node 4. WayinVideo — Get Clips Result → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY with the same key Get your Google Drive folder ID — Open your target Google Drive folder in a browser → the folder ID is the string at the end of the URL after /folders/ Connect Google Drive — Open node 9. Google Drive — Upload Clip → click the credential dropdown → add Google Drive OAuth2 → authorize access → replace YOUR_GDRIVE_FOLDER_ID in the folder field with your actual folder ID Create your Google Sheet tab — Open your Google Sheet → add a tab named exactly Onboarding Clip Library → add these 15 column headers in row 1: Employee Name, Employee Email, Department, Start Date, Company, Topic, Clip Title, Description, Timestamp, Score, Tags, Drive Link, Drive File ID, Onboarding Recording URL, Date Added Get your Google Sheet ID — Open your Google Sheet in a browser → copy the string between /d/ and /edit in the URL Connect Google Sheets — Open node 10. Google Sheets — Save to Library → click the document field → replace YOUR_GOOGLE_SHEET_ID by selecting your spreadsheet or entering the Sheet ID manually → click the credential dropdown → add Google Sheets OAuth2 → authorize access Connect Gmail — Open node 11. Gmail — Send Welcome Email → click the credential dropdown → add Gmail OAuth2 → complete the Google authorization flow Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — New Employee + Onboarding Details → open it in a browser to submit your first new employee How It Works (Step by Step) Step 1 — Form: New Employee + Onboarding Details Your HR team opens the form URL and fills in seven fields: the onboarding recording URL, the new employee's full name, their email address, their department, their start date, the training topic to extract (4–6 descriptive words), and the company name. Submitting the form starts the entire pipeline. Step 2 — HTTP: WayinVideo — Submit Find Moments The recording URL, training topic query, and a project name (auto-built as Onboarding — EmployeeName — Department) are sent to WayinVideo's Find Moments API. The request asks for up to 5 clips at HD 720 quality, animated captions in the original language using caption template temp-7, export enabled so download links are generated, and AI reframe disabled so the clips stay in their original aspect ratio. WayinVideo returns a task ID. Step 3 — Wait: 90 Seconds The workflow pauses 90 seconds before the first status check, giving WayinVideo time to scan the full recording. Step 4 — HTTP: WayinVideo — Get Clips Result A GET request checks the find-moments results endpoint using the task ID from step 2. It returns the current status and, once complete, the full clips array with title, description, export download link, relevance score, tags, and timestamps for each matched moment. Step 5 — IF: Find Moments Complete? This is the polling gate. If the status equals SUCCEEDED (YES path), the clips are ready and the workflow moves forward to splitting. If still processing (NO path), the workflow routes to 6. Wait — 30 Seconds Retry which pauses 30 seconds then loops back to step 4 to check again. This repeats until SUCCEEDED. Step 6 — Wait: 30 Seconds Retry When clips are not yet ready, the workflow waits 30 seconds then returns to step 4 for another check. Step 7 — Code: Split Each Clip The clips array is split into individual rows — one per clip. Each row carries the clip title, export link, relevance score, tags, description, start time in milliseconds, end time in milliseconds, and clip index number. If no clips are returned, the step throws a clear error with a suggestion to try a more descriptive query. Step 8 — HTTP: Download Clip File For each clip, the workflow fetches the .mp4 file from the WayinVideo export link and downloads it as a binary file. This step runs immediately after splitting so no time is wasted before export links expire. Step 9 — Google Drive: Upload Clip The downloaded clip is uploaded to your specified Google Drive folder. The filename is auto-generated as EmployeeName_Department_Clip_N_Score_S.mp4 — for example Sarah_Johnson_Marketing_Clip_1_Score_87.mp4. Spaces in the employee name and department are replaced with underscores. Google Drive returns the file ID and web view link. Step 10 — Google Sheets: Save to Library One row is appended to your Onboarding Clip Library tab with all 15 columns. The Drive Link is constructed directly from the file ID as https://drive.google.com/file/d/FILE_ID/view — so every row has a clickable link to the clip without any manual copying. The timestamp column shows the clip's start and end time in seconds. Step 11 — Gmail: Send Welcome Email After all clips are saved to the sheet, a personalized HTML email is sent to the new employee's email address. The email is addressed by their first name (extracted from the full name), confirms their training clips are ready, shows the topic, department, and start date, includes a link to the full onboarding recording, and instructs them to check the Onboarding Clip Library sheet for their clip links. The sender name is set to the company name from the form. The final result is up to 5 clips in Google Drive, a fully populated sheet row per clip, and a branded welcome email in the new employee's inbox — all triggered by one HR form submission. Key Features ✅ Training topic query drives clip selection — You describe what training content to extract using plain English — WayinVideo finds only the relevant moments rather than clipping the entire recording ✅ HD 720 with animated captions on every clip — Every exported clip has animated captions built in using caption template temp-7 — ready to share without any post-processing ✅ Clips downloaded before 24-hour expiry — WayinVideo export links expire — the workflow downloads and uploads to Drive immediately so your library is permanent ✅ Structured Drive filename per employee — Files are named with the employee name, department, clip number, and score so any team member can search Drive and instantly know what each file is ✅ Drive link constructed from file ID — The Google Sheets row includes a ready-to-click Drive link built directly from the uploaded file's ID — no manual copying or linking required ✅ Personalized first-name HTML email — The welcome email addresses the employee by their first name, includes their specific department and start date, and links to the full recording ✅ WayinVideo project named per employee — Each submission creates a named WayinVideo project (Onboarding — Employee — Department) so your WayinVideo dashboard stays organized across all employees Customisation Options Increase the number of clips per employee — In node 2. WayinVideo — Submit Find Moments, change "limit": 5 to a higher number such as 8 to extract more training moments — useful for longer onboarding sessions covering many topics. Upgrade clips to Full HD — In node 2. WayinVideo — Submit Find Moments, change "resolution": "HD_720" to "resolution": "FULL_HD_1080" for higher quality clips — useful when sharing onboarding recordings with enterprise clients or executives. Add a Slack notification to the HR team — After node 11. Gmail — Send Welcome Email, add a Slack step that posts the employee name, department, start date, and number of clips created to a #hr-team or #onboarding channel so your team is notified every time a new employee's clips are ready. Sort clips into employee-specific Drive subfolders — In node 9. Google Drive — Upload Clip, change the folder ID to a dynamic expression that creates or selects a subfolder named after the employee — so each new hire's clips are in their own folder rather than all together. Add a retry limit to stop infinite polling — Before node 6. Wait — 30 Seconds Retry, add a Set step that increments a poll counter, then add a second IF check to stop after 15 polls and send a Gmail error notification to HR instead of looping indefinitely. Troubleshooting WayinVideo returning an error on submission: Confirm YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Find Moments is replaced with your actual API key — not the placeholder text Confirm the same replacement was made in node 4. WayinVideo — Get Clips Result — both steps require the key Check the execution log of node 2 for the raw error — a 401 means wrong key, a 422 means the URL or request body format is invalid No clips returned (empty clips array): The training topic query is likely too short or too vague — WayinVideo's Find Moments needs descriptive phrases of 4–6 words; try "company culture and team values explanation" instead of just "culture" Check that the recording URL is publicly accessible — private Zoom links, expired recordings, or login-required videos will not be processed Review the execution log of node 4. WayinVideo — Get Clips Result for the full WayinVideo response — it may contain a specific error or an empty clips array with a reason Workflow stuck in the polling loop: Open the execution log of node 4. WayinVideo — Get Clips Result and check the raw response status — WayinVideo may have returned FAILED with a specific reason If the loop runs indefinitely, deactivate the workflow, fix the recording URL or query, and resubmit the form Confirm the recording URL does not require authentication — Zoom recordings with password protection or region-blocked videos will cause processing to stall Google Drive upload failing: Confirm the Google Drive OAuth2 credential in node 9. Google Drive — Upload Clip is connected and not expired — re-authorize if needed Confirm YOUR_GDRIVE_FOLDER_ID is replaced with just the folder ID from the URL — not the full Drive URL If step 8 fails to download the clip file (e.g. the export link expired before download), step 9 will also fail — check the execution log of step 8 first Google Sheets not saving rows or Gmail not sending: Confirm YOUR_GOOGLE_SHEET_ID in node 10. Google Sheets — Save to Library is replaced with your actual Sheet ID and the tab is named Onboarding Clip Library exactly Confirm the Gmail OAuth2 credential in node 11. Gmail — Send Welcome Email is connected — re-authorize if you see an authentication error in the execution log Check that the New Employee Email field in the form contains a valid email address — an invalid or missing address will cause the Gmail step to fail Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/
by WeblineIndia
AI Meeting Intelligence System > Zoom + n8n + GPT-4o + Supabase RAG This n8n workflow automates Zoom meeting intelligence by capturing recordings via webhook, transcribing audio using OpenAI Whisper, analyzing it with GPT-4o and storing structured insights in Supabase vector database. It detects summaries, decisions, action items and contradictions, then sends an email report to stakeholders. Quick Implementation Steps Import workflow json in your n8n account Connect Zoom webhook for recording events Configure OpenAI API (Whisper + GPT-4o) Set up Supabase meeting_memories table with vector support Add embeddings credentials in n8n Activate workflow and test with a Zoom recording What It Does This workflow automatically processes Zoom meeting recordings and converts them into structured intelligence. It extracts transcript text, analyzes it using GPT-4o and generates structured insights like decisions, summaries and action items. It also compares new meetings with historical data using Supabase vector search to detect contradictions or repeated decisions. Finally, it stores everything in a semantic memory database and sends a clean email report to stakeholders. Who It's For Product Managers Engineering Teams Startup Founders Project Managers AI Automation Engineers Remote teams using Zoom Requirements to Use This Workflow n8n account (cloud or self-hosted) Zoom account with webhook access OpenAI API key (Whisper + GPT-4o) Supabase project with vector enabled Gmail OAuth credentials Public webhook URL How It Works & Setup Guide 1. Zoom Ingestion Layer Zoom webhook captures meeting recording events and sends metadata like recording URL and meeting title to n8n. 2. Data Extraction Layer The workflow extracts recording URL and metadata using a set node. 3. Audio Processing Layer Audio is downloaded from Zoom cloud and sent to OpenAI Whisper for transcription into text. 4. Transcript Normalization Layer The raw transcript is cleaned and formatted into a structured format for AI processing. 5. AI Intelligence Layer (GPT-4o) GPT-4o analyzes the transcript and extracts: Summary Decision Action items Contradiction report Structured output parser ensures valid JSON format. 6. Deduplication Layer A hash is generated from the transcript and checked in Supabase: If duplicate exists → stop workflow If not → continue processing 7. RAG Memory Layer Embeddings are created and stored in Supabase vector DB. Past meetings are retrieved to compare decisions and detect contradictions. 8. Notification Layer Final structured output is stored and emailed to stakeholders with insights. How To Customize Nodes Modify GPT prompt for domain-specific intelligence Extend metadata with project/client IDs Replace Gmail with Slack or Teams integration Add Jira task creation for action items Customize Supabase schema for multi-team support Add-ons Slack real-time meeting alerts Jira auto task creation Dashboard using Supabase + Next.js Multi-language transcription support Speaker identification using Whisper timestamps Use Case Examples Automated meeting minutes generation Engineering decision tracking system Product requirement documentation automation Client meeting summaries Compliance audit trail generation More use cases can be built depending on customization. Troubleshooting Guide | Issue | Possible Cause | Solution | |------|---------------|----------| | No transcript generated | Invalid Zoom recording URL | Check webhook payload | | Duplicate not detected | Incorrect Supabase query path | Fix metadata filter | | Empty AI response | Weak prompt structure | Improve prompt clarity | | Email not sent | Gmail auth expired | Reconnect Gmail OAuth | | Supabase returns empty | Wrong filter syntax | Validate JSON column query | Need Help If you need help customizing or scaling this workflow into production-grade automation, you can get expert assistance from n8n developers at WeblineIndia. They specialize in building AI-powered automation systems using n8n, OpenAI and vector databases.
by Lukasz
Score DNS Threats with VirusTotal, Abuse.ch, HashiCorp Vault and Gemini An end-to-end Cyber Threat Intelligence pipeline that turns raw DNS traffic into actionable security verdicts — without manual triage, without leaking credentials, and without alert fatigue. What this workflow does This workflow ingests passive DNS observations, enriches each indicator with multi-source threat intelligence, and uses Google Gemini as a senior security analyst to produce a single, defensible verdict per indicator. Every step that touches a secret pulls it from HashiCorp Vault at runtime, and only confirmed threats reach your inbox. Problems it solves Manual threat triage takes hours. A SOC analyst checking a suspicious indicator across VirusTotal, ThreatFox, and URLhaus, then writing up the verdict, typically spends 10-20 minutes per IoC. This workflow performs the same correlation in seconds and produces a structured report ready for review or downstream automation. Hardcoded credentials are a breach waiting to happen. API keys, database passwords, and provider tokens commonly end up in workflow JSON, environment files, or git history. This workflow fetches every secret directly from HashiCorp Vault during execution, so credentials never live inside n8n configuration. Alert fatigue trains analysts to ignore real threats. The AI agent applies a detection-first scoring model on a 1–5 scale, with email alerts firing only on confirmed malicious indicators (score ≥ 4). Clean traffic and low-signal noise are silently logged for trend analysis, not pushed to the operator. Single-source intelligence is misleading. Indicators flagged by one provider but absent from others are often false positives — and indicators marked clean by one source may already be active C2 infrastructure tracked by another. This workflow correlates across three independent CTI sources before assigning a verdict. Trusted infrastructure produces noise. Cloud providers, CDNs, and developer platforms (AWS, Cloudflare, GitHub, Bitbucket) frequently appear in threat feeds because attackers abuse them — the platforms themselves are not malicious. The scoring model recognizes "big player" infrastructure and caps the score unless a specific malware family is confirmed, eliminating a major source of false positives. How it works The workflow runs as five coordinated stages: 1. Indicator capture. Passive DNS logs are read from MySQL using credentials retrieved from Vault. Indicators that have not yet been analyzed are queued for enrichment. 2. Multi-source enrichment. Three independent CTI branches run in parallel: VirusTotal** — primary source for IP/domain reputation and ownership ThreatFox (Abuse.ch)** — primary source for active C2 infrastructure and malware family attribution URLhaus (Abuse.ch)** — supporting context on URLs historically hosted at the indicator 3. AI-driven verdict. Google Gemini receives the consolidated intelligence, applies a detection-first scoring policy loaded dynamically from the database, and returns a structured JSON verdict including a numeric score, malicious flag, threat label, English technical summary, and Polish operator commentary. 4. Persistence. Results are written to MySQL with full referential integrity, ready for Grafana dashboards or further automation. 5. Conditional alerting. Only indicators with score ≥ 4 trigger an email notification. Email styling adapts to severity: green for informational, amber for review, red for confirmed threats. Architecture components | Layer | Component | Role | |---|---|---| | Traffic source | Passive DNS (MySQL) | Identifies new IoCs from observed network traffic | | Secret engine | HashiCorp Vault | Provides all credentials and API tokens at runtime | | Intelligence | VirusTotal, ThreatFox, URLhaus | Independent CTI sources for cross-validation | | AI reasoning | Google Gemini | Acts as a senior security analyst, correlating data and generating verdicts | | Persistence | MySQL (partitioned) | Stores results with 6-month automated retention | | Alerting | Gmail via SMTP | Severity-aware notifications, only for confirmed threats | Release v1.0.2-rc1 Highlights This is the release candidate for the first stable v1.0.2 build, available on the Cyber Sentinel GitHub repository. Detection-first scoring (1–5 scale)** — replaces the previous 1–10 scale with a clearer mapping to operator actions: Allow, Monitor, Review, Block, Block + Alert. Dynamic threat scale** — score definitions are loaded from the database at every AI invocation, enabling future self-healing workflows that can auto-tune the scoring model. Source weighting** — VirusTotal and ThreatFox drive the score; URLhaus contributes only as a supporting modifier, eliminating false positives on legitimate platforms. Severity-aware email alerts** — color and header adapt to score (green INFO / amber REVIEW / red ALERT) instead of every indicator triggering a red alarm banner. Partitioned database with automated retention** — DNS queries, network events, and threat indicators are partitioned monthly with automatic cleanup after 6 months. Unified Vault provisioning** — single Ansible playbook handles initialization, unsealing, and secret provisioning idempotently. Full Infrastructure-as-Code deployment** — the entire stack (Nginx, Vault, MySQL, MongoDB, n8n) deploys via Ansible with credentials managed through Ansible Vault. Tested on Proxmox (Debian) and Raspberry Pi 5** — production-grade stability validated on both home-lab and resource-constrained environments. Documentation GitHub repository:** https://github.com/lukaszFD/cyber-sentinel Project documentation:** https://lukaszfd.github.io/cyber-sentinel/ Release notes:** https://github.com/lukaszFD/cyber-sentinel/releases
by Tricore Infotech Pvt Ltd
Monthly AI SEO Content Engine: 34 Assets to WordPress, LinkedIn & Socials Summary This workflow is an end-to-end, enterprise-grade content engine. It automates the entire lifecycle of a brand's content marketing: capturing business context via an n8n Form Trigger to generate a master strategy document, using real-time analytics to write 34 targeted assets, packaging them into a styled .docx file for review, and automatically generating images to publish the content across WordPress, LinkedIn, Facebook, and Instagram. Key features Automated Brand Strategy:** Uses an n8n Form Trigger to capture business details and generates a 16-section master Markdown strategy document saved to Google Drive. Data-Driven Content Planning:** Integrates Google Analytics 4 (GA4) and localized Google Trends to identify content gaps (high-bounce pages) and rising topics to inform the content plan. High-Volume AI Generation:** Leverages native n8n Google Gemini nodes to write 34 distinct assets per run: 6 SEO blogs, 12 LinkedIn posts, 8 educational social posts, 4 newsletters, and 4 long-form guides. Native Document Assembly:** Bypasses basic text outputs by dynamically assembling the generated content into a professionally styled, downloadable Microsoft Word (.docx) package with a generated table of contents. AI Image Generation:** Uses Google Gemini 2.5 Flash Image to generate custom, photorealistic featured images and social media graphics for every post natively within the flow. Omnichannel Publishing:** Parses the finalized .docx file, extracts the targeted content, and schedules it automatically to WordPress, LinkedIn, Facebook Pages, and Instagram Business with clamped timestamp validation. Automated Error Logging & Alerts:** Built-in error trapping that sends a detailed summary to your Gmail if any API fails, or if prerequisite files are missing before publishing begins. How it works This template is divided into three distinct pipelines that run sequentially: 1. Pipeline A: Strategy Generation Trigger:** An n8n Form Trigger collects the company name, mission, audience, and core services. Process:** The native Google Gemini node generates a strict JSON strategy object, which a Code node formats into a comprehensive Markdown document. Storage:** The Google Drive node saves this context document directly to the root of your Google Drive. 2. Pipeline B: Content Generation & Assembly Trigger:** Triggered manually via the Pipeline B trigger, or swap in a Schedule Trigger to run monthly. Context Gathering:** Fetches the Markdown strategy from Drive, pulls the last 30 days of GA4 data, and fetches current Google Trends via RSS. Generation:** Google Gemini is prompted in stages: first to build a Content Plan JSON, then to write the batches of blogs, social posts, and guides. Assembly:** A robust Code node compiles the raw text into a valid, styled .zip/.docx file and uploads it to the root of your Google Drive. Notification:** A Gmail node sends the team an email notification with a direct link to the finalized .docx package. 3. Pipeline C: Multi-Platform Publishing Trigger:** Schedule Trigger set to run on the 1st of each month — adjust the time to run after Pipeline B completes. Extraction:** Searches Google Drive for the latest .docx package, unzips it, and extracts the raw XML text. (If missing, it safely aborts and alerts you). Processing:** Code nodes split the text into individual arrays for Blogs, LinkedIn, and Social posts, safely clamping publish dates to prevent API scheduling errors. Media & Publishing:** * Generates an image for each asset using Gemini 2.5 Flash Image. Uploads blog images to WordPress Media and creates a future-dated WordPress post. Publishes text and images natively to LinkedIn, Facebook, and Instagram (via AWS S3 temporary hosting). Nodes used n8n Form Trigger Schedule Trigger Code (Heavy JavaScript for data merging, XML parsing, and DOCX assembly) Google Gemini (Langchain Native Nodes for Text and Image) Google Drive Google Analytics Gmail LinkedIn Facebook Graph API AWS S3 (Temporary public storage for Instagram image ingestion) Compression, Set, If, Merge, HTTP Request (WordPress API) Setup instructions Credentials Setup: You will need active credentials for Google Drive, Google Analytics (OAuth2), Gmail, LinkedIn, Facebook Graph API, AWS S3, and a Google Gemini API key. Your LinkedIn credential must have the openid scope enabled to fetch the user URN dynamically. Run Pipeline A: Run the n8n Form Trigger manually, fill out your company details, and let it generate your initial Markdown strategy file in the root of your Google Drive. Configure Pipeline B: Open the Config: Pipeline B node and enter your GA4 Property ID, notification email address, the direct Drive link to the generated Markdown file, and your preferred Google Trends geographic/language codes. Configure Pipeline C: Open the Config: Pipeline C node and enter your WordPress domain, Facebook Page ID, Instagram Business ID, your S3 bucket details (used to temporarily host images for Instagram), and a notification email address. WordPress Auth: Ensure your WordPress site has Application Passwords enabled to use Basic Auth for the Upload to WP Media node. Activate: Turn the workflow on. Pipeline B and C will run automatically on their schedules. Requirements n8n version 1.60+** (Required for the node types and versions used in this template). AWS S3 bucket with public-read access** (Required to host image URLs temporarily so Instagram's Graph API can fetch them). Google Gemini API credentials** (Budget for ~100k-150k output tokens per monthly run). Google Workspace (Analytics, Drive, Gmail). WordPress site with Basic Auth enabled. LinkedIn account, Facebook Page, and Instagram Business account. Customization ideas Adjust Output Volume:** Modify the JSON prompt in the Build Content Plan Prompt node to generate weekly content (e.g., 2 blogs, 4 social posts) instead of massive monthly batches. Change the Tone:** Update the "Brand Voice" restrictions in the n8n Form Trigger or tweak the system prompts in the Code nodes to match a specific industry style (e.g., highly technical vs. casual). Add Human-in-the-Loop:** Replace the direct link between Pipeline B and C with a Wait node that pauses publishing until a manager clicks an approval webhook link sent via email. Use cases Marketing Agencies:** Scaling monthly content deliverables for multiple clients while ensuring the AI strictly adheres to different brand guidelines. SEO Consultants:** Automating high-volume, keyword-targeted blog clusters backed by Google Analytics gap data. Lean Startups:** Maintaining a massive omnichannel social media and blog presence without hiring a dedicated content team.
by Diego Alejandro Parrás
AI job application tracker and interview prep assistant Categories: AI, Productivity, Career Transform your job search from chaos to clarity. This workflow automatically tracks every application, researches companies, and prepares you for interviews with AI-generated materials — all saved to a visual Notion pipeline. Benefits Never lose track of applications** — Every job gets logged automatically with status tracking Walk into interviews prepared** — AI generates likely questions, talking points, and company insights Save 2-3 hours per application** — Research and prep that took hours now happens in seconds Automated follow-up reminders** — Get notified when it's time to send that follow-up email How It Works Submit application via form (paste job URL) or forward your confirmation email AI extracts job details — company, role, requirements, salary, location Interview prep generates — likely questions, suggested talking points, questions to ask Everything saves to Notion — visual pipeline with follow-up dates Daily reminders — Slack notification for applications needing follow-up Required Setup Notion Database Structure Create a Notion database with these properties: | Property Name | Type | Purpose | |---------------|------|---------| | Company | Title | Company name | | Role | Text | Job title | | Status | Select | Applied, Interviewing, Offer, Rejected, Ghosted | | Applied Date | Date | When you applied | | Salary Range | Text | Compensation info | | Job URL | URL | Link to posting | | Location | Text | City/Remote | | Interview Prep | Text | AI-generated prep materials | | Follow Up Date | Date | When to follow up | | Requirements | Text | Key job requirements | | Notes | Text | Your personal notes | Credentials Needed OpenAI API** — For job extraction and interview prep generation Notion** — Connected to your job tracker database Gmail** (optional) — For email forwarding and confirmations Slack** (optional) — For follow-up reminders Use Cases Active job seekers** — Track 20+ applications without spreadsheet chaos Career changers** — Get AI help understanding new industry requirements Recent graduates** — Build interview confidence with generated prep materials Passive searchers** — Keep a running list with minimal effort Set Up Steps Import the workflow into your n8n instance Create Notion database with the structure above (or duplicate template) Connect OpenAI credentials — API key with GPT-5 access recommended Connect Notion credentials — Select your job tracker database Configure Gmail trigger (optional) — Set filter for forwarded job emails Set up Slack webhook (optional) — Choose channel for reminders Test with a sample job posting — Paste a LinkedIn or company careers page URL Customization Tips Edit the interview prep prompt to mention your background/experience Adjust the follow-up reminder interval (default: 7 days) Add additional research sources (LinkedIn, Crunchbase) for richer company data Connect to calendar to block interview prep time automatically Technical Notes Uses Jina AI Reader for web scraping (free tier available) GPT-5-mini recommended for cost efficiency Notion text fields limited to 2000 characters (full prep saved) Daily check runs at 9 AM (configurable) Difficulty Level: Intermediate Estimated Setup Time: 30-45 minutes Monthly Operating Cost: ~$2-5 (based on 50 applications/month with GPT-5-mini)
by Nguyen Thieu Toan
Smart email forwarder Zoho mail to Gmail with attachment, analysis by AI agent This n8n template automatically monitors a Zoho Mail inbox, analyzes every incoming email with Google Gemini AI, then forwards it — including all attachments — to a designated recipient via Gmail. The admin receives an instant smart digest on Telegram with priority level, deadline, and required action extracted by AI. If you manage a shared inbox and waste time triaging emails before forwarding them, this workflow does it for you — automatically. How it works Zoho Mail Trigger:** Detects new incoming emails matching a configured list of sender addresses. AI Analysis:* *Google Gemini reads the email subject and summary, then classifies the email type, assigns a priority level (High / Medium / Low), extracts deadlines, key numbers, and required actions — all returned as structured JSON. HTML Builder:* Assembles the forwarded email body with an *AI analysis panel** embedded at the top, shared across both sending paths. Attachment handling:* If the email has attachments, the workflow fetches each file via the *Zoho Mail API, renames binary keys to prevent collision, aggregates all files, then attaches them to the outgoing Gmail. Gmail:** Forwards the formatted email — with or without attachments — to the configured recipient. Telegram:** Sends the admin a structured, emoji-rich notification with all AI-extracted data, so decisions can be made without opening the email. How to use Connect credentials: Link your Zoho Mail, Gmail, Google Gemini (googlePalmApi), and Telegram Bot credentials in n8n. Configure in one place: Open the Set Context node and fill in all 6 fields — recipient email, subject prefix, Telegram chat ID, footer text, AI role description, and email category options. Set sender filter: Edit the Zoho Mail Trigger node and update the from field with the sender addresses you want to monitor. Activate the workflow — it runs automatically on every new matching email. Requirements n8n Version:* Built and tested on *n8n 2.9.4+*. *(It is recommended to use the latest n8n version for best compatibility.) Zoho Mail** account with OAuth2 credentials and API access enabled. Gmail** account connected via OAuth2. Google Gemini** API key (via googlePalmApi credential). Telegram Bot** token and a target chat ID. Customizing this workflow Different inbox:* Swap the *Zoho Mail Trigger for a Gmail Trigger, IMAP, or any other email node — the rest of the workflow remains unchanged. Different AI behavior:* Change ai_context and ai_type_options in *Set Context** to adapt the AI to any domain (legal, finance, HR, support) — no prompt editing needed elsewhere. Different notification channel:* Replace the *Telegram node with Slack, Discord, or Microsoft Teams. Persistent storage:* Add a *Google Sheets* or *Airtable** node after Telegram to log every forwarded email with its AI analysis for audit purposes. About the Author Created by: Nguyễn Thiệu Toàn (Jay Nguyen) Email: me@nguyenthieutoan.com Website: nguyenthieutoan.com Company: GenStaff (genstaff.net) Socials (Facebook / X / LinkedIn): @nguyenthieutoan More templates: n8n.io/creators/nguyenthieutoan
by Cheng Siong Chin
How It Works This workflow automates regulatory compliance monitoring and policy violation detection for enterprises managing complex governance requirements. Designed for compliance officers, legal teams, and risk management departments, it addresses the challenge of continuous policy adherence across organizational activities while reducing manual audit overhead.The system initiates on schedule, triggering compliance checks across operational data. Solar compliance data generation simulates policy document collection from various business units. Claude AI performs comprehensive policy validation against regulatory frameworks, while parallel NVIDIA governance models analyze specific compliance dimensions through structured outputs. The workflow routes findings by compliance status: violations trigger immediate escalation emails to compliance teams with detailed Slack notifications, warnings generate supervisor alerts with tracking mechanisms, and compliant activities proceed to standard documentation. All execution paths merge for consolidated audit trail creation, logging enforcement actions and generating governance reports for regulatory submissions. Setup Steps Configure Schedule Compliance Check node with monitoring frequency Add Claude AI credentials in Workflow Configuration and Policy Validation nodes Set up NVIDIA API keys for governance output parser and agent modules in respective nodes Connect Gmail authentication for compliance team alerts and configure recipient distribution lists Integrate Slack workspace credentials and specify compliance channel webhooks Prerequisites Claude API access, NVIDIA API credentials, Gmail/Google Workspace account Use Cases Financial services regulatory compliance (SOX, GDPR), healthcare HIPAA monitoring Customization Add industry-specific regulatory frameworks, integrate document management systems Benefits Reduces compliance audit time by 70%, ensures consistent policy application across departments