by Avkash Kakdiya
How it works The workflow detects incoming job-application emails, extracts resumes, and parses them for AI analysis. It evaluates each candidate against three open roles and assigns a fit score with structured reasoning. Low-scoring applicants are stored for review, while strong candidates move into an automated scheduling flow. The system checks availability on the next business day, books the slot, sends a confirmation email, and records all details in Airtable. Step-by-step Detect and collect job-application data Gmail Trigger** – Monitors inbox for all new emails. Message a model** – Classifies whether the email is a job application. If** – Continues only when the AI result is YES. Get a message** – Fetches the full message and attachments. Upload file** – Uploads the resume to Google Drive. Extract from File** – Converts the PDF resume into text. Analyze the resume and evaluate fit Available Positions** – Defines the three open roles. Message a model1** – Produces recommended role, fit score, strengths, gaps, skills, and reasoning. If1** – Routes candidates based on fit_score ≥ 8. Create a record1** – Stores lower-scoring applicants in Airtable. Get Next Business Day** – Calculates the schedule window for qualified candidates. Check availability on the next business day AI Agent** – Orchestrates availability search using calendar nodes. Get Events** – Retrieves events for the target day. Check Availability** – Evaluates free 1-hour slots. OpenAI Chat Model** – Reasoning engine for the agent. Structured Output Parser** – Returns clean JSON with start_time and end_time. OpenAI Chat Model1** – Supports structured parsing. Schedule the interview and notify the candidate Create an event** – Books the interview in Google Calendar. Send a message** – Sends an HTML confirmation email to the candidate. Create a record** – Saves shortlisted candidate and interview data in Airtable. Why use this? Removes manual screening by automating email intake and resume parsing. Ensures consistent AI-based role matching and scoring. Books interviews automatically using real calendar availability. Keeps all applicant and scheduling data organized in Airtable. Provides a fully hands-off, end-to-end hiring pipeline.
by Rahul Joshi
📊 Description Automatically analyze your Instagram posts’ engagement and audience sentiment using GPT-4 to uncover top-performing content and improvement opportunities. 💬📈 This workflow fetches your latest Instagram posts using the Facebook Graph API, evaluates likes, comments, and tone, then generates structured performance insights. The results are logged into Google Sheets, shared via Slack alerts, and emailed through Outlook — empowering your social media team with daily, AI-powered engagement intelligence. 🚀 What This Template Does 1️⃣ Trigger – Runs daily at 10 AM to fetch the latest Instagram posts. ⏰ 2️⃣ Data Fetching – Uses the Facebook Graph API to extract post data, captions, likes, and comments. 📲 3️⃣ Formatting – Cleans and structures post and comment data for analysis. 🧩 4️⃣ AI Evaluation – GPT-4 analyzes engagement metrics and comment sentiment to score post performance. 🤖 5️⃣ Decision Routing – Flags high- and low-performing posts for separate processing. ⚙️ 6️⃣ Notifications – Sends positive performance summaries or negative alerts to Slack. 💬 7️⃣ Logging – Records engagement metrics, sentiment labels, and AI recommendations in Google Sheets. 📊 8️⃣ Reporting – Emails detailed performance summaries to the marketing team via Outlook. 💌 Key Benefits ✅ Automates social performance tracking across Instagram posts ✅ Provides AI-driven sentiment and engagement insights ✅ Flags top or underperforming content for immediate action ✅ Delivers Slack and email reports for team visibility ✅ Centralizes analytics in Google Sheets for trend tracking Features Facebook Graph API integration for Instagram post and comment retrieval GPT-4 sentiment and engagement evaluation Structured JSON insights and recommendations Slack alerts for both positive and negative performance Google Sheets data logging with trend metrics Outlook email reporting for management visibility Customizable scheduling and thresholds Requirements Facebook Graph API credentials connected to your Instagram Business account OpenAI API key for GPT-4 or GPT-4o-mini Slack Bot token with chat:write permissions Google Sheets OAuth2 credentials with edit rights Microsoft Outlook OAuth2 credentials for email delivery Optional environment variables for IDs: SHEET_ID, SLACK_CHANNEL_ID, OUTLOOK_EMAIL Target Audience Marketing and social media teams optimizing engagement 📣 Agencies managing multiple Instagram accounts 🧑💼 Analysts tracking performance metrics and audience tone 📊 Brands automating daily performance reports 📅 Step-by-Step Setup Instructions 1️⃣ Connect your Facebook Graph API to your Instagram Business Account. 2️⃣ Add OpenAI API credentials (use GPT-4 model for best results). 3️⃣ Configure Slack for team notifications and specify the channel ID. 4️⃣ Link Google Sheets and set your sheet ID for data logging. 5️⃣ Connect Microsoft Outlook for daily performance email reports. 6️⃣ Adjust the schedule (default: 10 AM daily) to suit your workflow. 7️⃣ Run a test once, verify data mapping, and enable automation. ✅
by WeblineIndia
Zoho CRM → AI‑Generated Competitive Battle Card This workflow automatically analyzes competitor websites, which inseted in description field and generates a clean, structured AI‑powered Battle Card for every new Zoho CRM deal. It reads the competitor URL from the deal Description, scrapes the site, runs an AI analysis pipeline and updates the deal with pricing, differentiators, pros/cons and a concise sales battle summary — all fully automated. Quick Implementation Steps Add Zoho CRM + Gmail OAuth2 + AI API credentials. Import workflow into n8n. create a new deal in zoho CRM. While creating Deal,Add a competitor URL inside the Zoho deal Description. Activate the workflow. Wait 5 minutes → Deal updates with AI‑generated Battle Card. What It Does This workflow removes the manual effort of researching competitors during a sales cycle. Every time a new deal is created, it checks the Description field for a competitor name and website. After validating both, it automatically fetches the competitor webpage and feeds the content into an AI analysis pipeline powered by LangChain. The AI transforms the messy, unstructured webpage HTML into a readable, structured and ready‑to‑use Battle Card — including pricing overview, differentiating features, advantages, disadvantages and a compact sales battle summary. This data is pushed directly into the Deal Description and emailed to the sales team. No web research, no copy‑pasting, no manual formatting — the AI does everything. Who’s It For Sales teams wanting fast competitor intelligence. SDR/BDR teams prepping before first calls. Pre‑sales engineers making pitch notes. Founders/Product teams monitoring competitor positioning. Agencies building automation for CRM users. Requirements n8n instance Zoho CRM OAuth2 credentials Gmail OAuth2 credentials AI model provider API key (Gemini / OpenAI / Claude — interchangeable) Deals containing a competitor name + competitor URL [Must Have] How It Works & Setup Step 1 — Cron Trigger Runs every 5 minutes → pulls newly created deals and last run time. Step 2 — Fetch Deals Retrieves deals sorted by Created_Time. Step 3 — Identify New Deals Filters deals created after the last workflow run. Step 4 — Validate Deal Description Ensures the Description has: Competitor name Competitor website URL Step 5 — Extract Competitor Info Regex identifies and extracts the name + first valid URL in the Description. Step 6 — Scrape Competitor Website HTTP Request downloads the competitor webpage’s HTML. Step 7 — AI‑Generated Battle Card Creation The AI pipeline (LangChain + your chosen LLM) transforms HTML into a structured JSON output containing: Pricing Summary Key Features Pros Cons Battle Summary Competitor Name Step 8 — Update Zoho Deal The script saves the formatted AI Battle Card directly into the Deal Description. Step 9 — Notify Sales Gmail node sends a summary email to the sales team. How to Customize Nodes Change the AI Output Edit LangChain prompt to: Add SWOT Include pricing tiers Include objections Add competitor positioning Add risk scoring Change Where Battle Card Is Stored Modify the Zoho Update node to store data in: Notes Custom fields Attachments Tags Tasks Email Customization Update subject, body, recipients, etc. Filtering Logic Modify filters to: Only process specific deal stages Only process certain pipelines Ignore internal test deals Add‑Ons (Optional Enhancements) Auto‑generate a PDF Battle Card and attach it to the deal. Send Battle Cards to Slack, Teams, or a WhatsApp bot. Store all Battle Cards in Notion, Airtable, or Google Sheets. Add a competitor scoring system (price, features, risk level). Build a weekly digest of all competitors analyzed. Use Case Examples Instant competitor breakdown when a new lead or deal is created. Rapid sales call preparation with AI summarizing the competition. Automated enrichment of CRM records with meaningful intelligence. Internal competitive intelligence dashboards fed by AI outputs. Pitch deck automation where Battle Cards update slides automatically. There are many more possible use cases depending on your CRM setup and AI strategy. Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|----------| | No Battle Card generated | No URL found in Description | Add valid http/https competitor URL | | Deal skipped | Time filtering excluded it | Adjust lookback window in code | | AI output incomplete | HTML unreadable or blocked | Try different competitor URL | | Zoho update fails | OAuth scope missing | Reconnect Zoho with full CRM access | | Email not sent | Gmail OAuth expired | Reconnect Gmail | | AI output wrong format | Prompt mismatched | Update output schema and prompt | Need Help? If you need help customizing prompts, enhancing automations or building full‑scale AI workflows, then our n8n automation developers at WeblineIndia can support: AI automations LangChain pipelines CRM integrations n8n workflow development Competitive intelligence tooling And so much more.
by Trung Tran
Multi-agent RAG system for smarter BRD (Business Requirement Document) writing Who’s it for This workflow is designed for Business Analysts, Project Managers, and Operations Teams who need to automate the creation, tracking, and delivery of Business Requirements Documents (BRDs) from submitted forms and supporting materials. It’s ideal for organizations handling multiple BRD requests and looking to streamline document generation, archiving, and communication. How it works / What it does Trigger: The process begins when a BRD request form is submitted along with any supporting files. Sample supporting document PDF: Download URL Data Recording: Creates a BRD request record and appends it to a tracking Google Sheet. Handles multiple uploaded files, saving them to Google Drive. Creates supporting document records and updates the supporting documents tracking sheet. Content Extraction & Storage: Extracts text from uploaded PDF files. Inserts extracted content into a vector store for contextual retrieval by AI agents. Document Generation: Uses two specialized AI agents: General BRD Writer Agent for the overall document structure. Business Requirement Writer Agent for detailed business requirement sections. Both agents query the stored data and produce content, which is then merged. Metadata & File Creation: Configures metadata for the document. Creates a final document file (Google Docs). Finalization: Converts the document to PDF Sample output Archives the PDF in Google Drive. Sends a BRD response email to the requester with the completed document. Updates the request status in the Google Sheet as completed. How to set up Prepare Google Sheets: Create a BRD tracking sheet. Create a supporting document tracking sheet. Configure Google Drive: Set up folders for supporting documents and archived PDFs. Ensure the workflow has API access to upload and retrieve files. Form Integration: Connect your BRD request form to trigger the workflow. Vector Store: Configure a vector database or embedding store for extracted document text. AI Agents: Configure the General BRD Writer Agent and Business Requirement Writer Agent with your preferred OpenAI model. Link both agents to the Query Data Tool for retrieving embedded content. Email Setup: Configure email sending credentials to deliver final BRDs to requesters. Requirements Google Sheets API credentials. Google Drive API credentials. An OpenAI API key with access to the desired models. A form submission trigger (e.g., Google Forms, Typeform). Vector store or embedding database for contextual AI queries. Permissions for file uploads, downloads, and updates in Google Drive. How to customize the workflow Custom Templates**: Modify the AI agents’ system prompts to match your organization’s BRD format and tone. Metadata Fields**: Add custom fields (e.g., department, priority level) during metadata configuration. File Storage Paths**: Adjust Google Drive folder structure for project-specific storage. Approval Steps**: Insert an approval workflow between draft document creation and final archiving. Notification Channels**: Add Slack, Microsoft Teams, or other notification integrations in addition to email. AI Model Selection**: Swap the OpenAI model for another LLM or fine-tuned variant to improve BRD quality for your domain.
by Atharva
🧾 AI Proposal Generator Engine An n8n-based automation that generates client proposals from a form, lets you review everything in one place, and sends the proposal only when you approve it. ⚙️ What It Does The AI Proposal Generator Engine creates proposals directly from an n8n Form. All proposal content and a draft email are generated automatically using OpenAI. Google Sheets is used only as a database, where you: Review the generated proposal Review the draft email Control when the proposal is sent by updating the status No proposal is sent until it is manually marked as READY. 💡 Use Cases | Use Case | Description | | --------------------- | ---------------------------------------------------------- | | Sales Calls | Generate proposals immediately after a call using the form | | Freelancers | Create clean, repeatable proposals without manual writing | | Agencies | Standardize proposals while keeping them client-specific | | Approval Flow | Review proposal and email before sending | | Fast Turnaround Deals | Reduce proposal creation time from hours to minutes | | Team Workflows | Use Sheets as a simple approval and tracking layer | 🔧 Setup 1️⃣ Google Credentials Go to Google Cloud Console and create a Web App (OAuth). Enable these APIs: Google Sheets Google Drive Gmail In n8n, select this Google credential inside: Google Sheets nodes Google Drive nodes Gmail nodes Use the same credential everywhere. 2️⃣ Google Drive Structure Create this folder setup in Google Drive. You can use the provided templates or your own. Proposal Generator Engine/ ├── Template 1 (Slides) ├── Template 2 (Slides) ├── Template 3 (Slides) ├── Proposal Generation Tracker (Sheets) └── Generated Proposals/ 3️⃣ Google Sheets Node Open the Proposal Generation Tracker and copy the Sheet ID from the URL. Paste this ID into the Google Sheets node in n8n. This sheet is used only to: Store generated proposal links Store email drafts Control send status 4️⃣ Slides and Drive Nodes Copy the Slides template ID you want to use and paste it into the Copy Template node. Copy the folder ID of Generated Proposals and paste it into the Move File / Folder field. 5️⃣ OpenAI Key Create an OpenAI credential in n8n using your API key. Select this credential in all GPT nodes. You can edit prompts to match your proposal style and tone. 🔁 Workflow Summary Proposal details are collected using an n8n Form OpenAI generates structured proposal content A Google Slides template is copied and filled A proposal email draft is generated Proposal link and email draft are saved in Google Sheets with status WAITING You review the proposal and email Status is changed to READY Proposal is converted to PDF and sent via Gmail Proposal is stored in Google Drive and status is updated to SENT 📞 Support & Contact 📧 Email: atharvapj5@gmail.com 🔗 LinkedIn: https://www.linkedin.com/in/atharva-jaiswal/ 📅 Book a support call: https://calendly.com/atharvapj5/30min
by Jameson Kanakulya
🎨 Template Overview This comprehensive n8n workflow automates the complete process of generating professional interior design moodboards from concept to client delivery. Users submit a design brief through a form, and the system automatically generates 12 AI-powered images, compiles them into a beautifully formatted two-page PDF moodboard, and emails the final deliverable. Key Features: Form-based design brief submission AI-powered image prompt generation (12 detailed prompts per project) Automated image generation via Hugging Face API Nextcloud cloud storage with public URL sharing Professional two-page HTML/PDF moodboard creation Automated email delivery with PDF attachment Technologies Used: Claude Sonnet 4 (OpenRouter), Google Gemini 2.5 Pro, Hugging Face FLUX.1-schnell, Nextcloud, Gotenberg PDF Service, Gmail ⚙️ Self-Hosted Requirements This template requires the following self-hosted or third-party services: Nextcloud Instance** - For cloud file storage and public URL generation Gotenberg PDF Service** - For HTML to PDF conversion (can be self-hosted via Docker) OpenRouter API Access** - For Claude Sonnet 4 AI agent Google Gemini API Access** - For secondary AI processing Hugging Face API Access** - For FLUX.1-schnell image generation Gmail Account** - For email delivery (or any SMTP service) 📋 Setup Instructions Step 1: Configure API Credentials OpenRouter (Claude Sonnet 4) Sign up at openrouter.ai Generate an API key Add credentials to the "OpenRouter Chat Model" node Google Gemini API Visit Google AI Studio Create an API key Add credentials to the "Google Gemini Chat Model1" node Hugging Face API Register at huggingface.co Generate an access token from Settings → Access Tokens Add credentials to the "Image Generator" node using HTTP Header Auth Header name: Authorization, Value: Bearer YOUR_TOKEN Nextcloud Set up a Nextcloud instance or use a hosted provider Generate an app password from Settings → Security Configure credentials in all Nextcloud nodes: "Create a folder" "Upload Image" "Share a file" Gotenberg PDF Service Self-host using Docker: docker run --rm -p 3000:3000 gotenberg/gotenberg:8 Or use a hosted instance Update the URL in the "PDF creator" node Configure HTTP Basic Auth credentials if required Gmail Enable 2-Factor Authentication on your Google account Generate an App Password from Google Account settings Add OAuth2 credentials to the "Send PDF" node Step 2: Customize Workflow Settings Email Extractor Node Review the stripPlus variable (default: true) This removes "+tag" portions from email addresses for folder naming Nextcloud Folder Structure Default path: /moodboard/{username}/ Modify in "Create a folder" node if needed Image Generator Settings Model: FLUX.1-schnell (fast generation, good quality) Adjust model in "Image Generator" node if needed Alternative models: FLUX.1-dev, Stable Diffusion XL PDF Generation Settings Default timeout: 360 seconds Page size: A4 (210mm × 297mm) Adjust in "PDF creator" node headers if needed Step 3: Test the Workflow Activate the Form Open the "Moodboard Form" node Copy the webhook URL Access the form in your browser Submit a Test Request Fill in the form fields: Title: Short, descriptive name (e.g., "Modern Minimalist Bedroom") Description: Detailed design brief with colors, materials, mood, lighting Email: Your test email address Submit and monitor workflow execution Verify Each Stage Check Nextcloud folder creation Monitor image generation progress (12 images) Review HTML moodboard generation Confirm PDF creation Check email delivery Step 4: Configure Form Embedding (Optional) Embed the form on your website: <iframe src="YOUR_N8N_FORM_WEBHOOK_URL" width="100%" height="800" frameborder="0"> </iframe> 🔄 Workflow Structure 1. Form Input & Data Extraction Moodboard Form** - Collects project title, description, and user email Email Extractor** - Extracts username from email for folder organization 2. Storage Setup Create a Folder** - Creates personalized Nextcloud directory using email username 3. AI Concept Generation Conceptualization Agent** (Claude Sonnet 4) - Analyzes design brief and generates 12 detailed image prompts (300-500 words each) Images 1-11: Individual design elements (furniture, materials, details, styling) Image 12: Comprehensive 3D rendered view integrating all elements 4. Image Processing Loop Concept Splitter** - Separates 12 prompts into individual items Loop Over Items** - Processes each prompt sequentially: Image Generator - Sends prompt to Hugging Face FLUX.1-schnell API Upload Image - Stores generated image in Nextcloud folder Share a File - Creates public shareable URL Set Image Title and URL - Formats data for aggregation 5. URL Collection URL Aggregate** - Combines all 12 public image URLs Clean URLs** - Extracts and formats URLs into a structured list 6. Moodboard Compilation Moodboard Generator Agent** (Google Gemini 2.5 Pro) - Creates professional two-page HTML document: Page 1: Visual moodboard with all 12 images (Image #12 prominently featured 2-3x larger) Page 2: Administrative summary with design overview, color palette, materials, and project details 7. PDF Generation & Delivery Binary Converter** - Transforms HTML to base64-encoded binary format PDF Creator** - Converts HTML to print-ready PDF via Gotenberg service Send PDF** - Emails final moodboard PDF to user 🎯 Node Descriptions Moodboard Form Collects moodboard generation requests for any design topic. Users input a title, detailed description (colors, materials, patterns, textures, lighting), and email address for delivery. Email Extractor Extracts the username portion from email addresses, optionally stripping "+tags" for clean folder naming and user identification. Create a Folder Creates a dedicated Nextcloud folder using the extracted email username, organizing moodboard outputs by user. Conceptualization Agent AI agent that analyzes design briefs to generate 12 detailed image prompts (300-500 words each). Performs conceptual analysis of styles, colors, materials, and spatial requirements, outputting structured JSON. Concept Splitter Splits the 12 generated image prompts into individual items for parallel processing through the image generation pipeline. Loop Over Items Processes each prompt sequentially, generating images, uploading to Nextcloud, and creating public URLs. Image Generator Sends detailed prompts to Hugging Face FLUX.1-schnell API for AI-powered image generation, transforming written design concepts into high-quality visuals. Upload Image Uploads each generated moodboard image to the user's Nextcloud folder with appropriate naming conventions. Share a File Creates publicly shareable Nextcloud links for each uploaded image, enabling external viewing without authentication. Set Image Title and URL Formats image metadata (title and URL) for downstream aggregation. URL Aggregate Combines all 12 image URLs into a single consolidated output for moodboard compilation. Clean URLs Extracts and formats URLs from the aggregated data into a clean, structured list with count. Moodboard Generator Agent Transforms design concepts into professional two-page HTML moodboards. Analyzes project details and 12 image URLs, selecting appropriate visual styles. Creates artistic Page 1 with Image #12 as hero element, and comprehensive Page 2 with design documentation. Binary Converter Prepares HTML for PDF conversion by transforming it into binary format with proper encoding and filename ("index.html") for Gotenberg compatibility. PDF Creator Converts HTML moodboard into print-ready PDF with proper A4 dimensions, page breaks, and high-quality image resolution. Send PDF Emails the finalized PDF moodboard to the user's submitted email address with project details and PDF attachment. 🎨 Customization Options Design Styles The Moodboard Generator Agent automatically selects from 10 layout styles: Modern Sectional Grid Material Board Collage Editorial Magazine Clean Minimalist Split-Screen Dramatic Asymmetric Feature Centered Showcase Modular Block System Organic Flow Layered Depth Image Generation Models Replace FLUX.1-schnell with alternatives in the "Image Generator" node: black-forest-labs/FLUX.1-dev - Higher quality, slower stabilityai/stable-diffusion-xl-base-1.0 - Classic SD XL Email Templates Customize the email message in the "Send PDF" node to include: Brand messaging Next steps Support contact information Pricing information 🐛 Troubleshooting Images Not Generating Verify Hugging Face API token is valid Check API rate limits and quotas Increase timeout in "Image Generator" node (default: unlimited) PDF Generation Fails Ensure Gotenberg service is accessible Verify HTML output contains all 12 image URLs Check timeout settings (default: 360s) Review Gotenberg logs for specific errors Nextcloud Upload Errors Confirm folder creation succeeded Verify Nextcloud credentials and permissions Check available storage space Ensure WebDAV is enabled Email Not Received Verify Gmail OAuth2 credentials Check spam/junk folders Confirm email address is valid Review Gmail API quotas 📊 Performance Notes Average execution time**: 5-8 minutes (depends on image generation) Image generation**: ~20-30 seconds per image (12 images = 4-6 minutes) PDF generation**: ~30-60 seconds Total data processed**: ~15-25 MB per workflow execution 🔐 Security Considerations Store all API keys in n8n credentials (never hardcode) Use environment variables for sensitive configuration Implement rate limiting on the form webhook Consider adding CAPTCHA to prevent abuse Regularly rotate API keys and passwords Use HTTPS for all external communications 📝 License & Attribution This template is provided as-is for the n8n community. Feel free to modify and adapt to your needs. AI Models Used: Claude Sonnet 4 (Anthropic via OpenRouter) Google Gemini 2.5 Pro (Google) FLUX.1-schnell (Black Forest Labs via Hugging Face) 🤝 Support & Contributions For questions or improvements, please reach out through the n8n community forum or submit issues/PRs to enhance this template. Created by: Jameson Kanakulya Template Version: 1.0 Last Updated: November 2025
by Incrementors
Description Submit your video topic, target audience, video length, and tone of voice using a simple form and two sequential AI agents do the rest. The first writes a complete structured video script with hook, three content sections, conclusion, and call to action. The second generates the full SEO metadata package: an optimized title, three alternative titles, a full YouTube description with hashtags, 15 tags, and timestamped chapters. Everything arrives in one clean Gmail email ready to record and upload. Built for YouTube creators, video marketers, and SEO agencies who want a complete production-ready video package in minutes instead of hours. What This Workflow Does Writes a full structured video script** — GPT-4o-mini produces a complete spoken script with hook, introduction, three named content sections with examples and tips, conclusion, and call to action Generates an optimized YouTube title** — Produces a main title under 60 characters with the primary keyword, plus three alternative titles at curiosity, number, and question angles Creates a full YouTube description** — Writes a description under 250 words with a keyword-rich hook, learning points, call to action, and relevant hashtags Produces 15 mixed tags** — Generates a balanced mix of short and long keywords all relevant to the topic and channel niche Builds timestamped chapters** — Creates chapters spaced evenly across your video length starting at 0:00, ready to paste directly into YouTube Delivers everything in one Gmail** — Script, title options, tags, chapters, and description all arrive in a single clearly sectioned plain-text email Setup Requirements Tools Needed n8n instance (self-hosted or cloud) OpenAI account with GPT-4o-mini API access Gmail account (the account you want to receive the content package) Credentials Required OpenAI API key (used in 4. OpenAI — Script Model GPT-4o-mini and 7. OpenAI — SEO Model GPT-4o-mini) Gmail OAuth2 > ⚠️ OpenAI API key appears in 2 steps — connect it in both 4. OpenAI — Script Model GPT-4o-mini and 7. OpenAI — SEO Model GPT-4o-mini Estimated Setup Time: 10–15 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import Fill in Config Values — Open node 2. Set — Config Values → replace all three placeholders: | Field | What to enter | |---|---| | PASTE_YOUR_EMAIL_HERE | The email address where the content package should be sent | | PASTE_YOUR_NAME_HERE | Your name for the email greeting and sign-off | | PASTE_YOUR_CHANNEL_NICHE_HERE | Your channel's topic area (e.g. personal injury law, SaaS marketing, medical aesthetics) — GPT uses this to personalize both the script and metadata | Connect OpenAI for the script step — Open node 4. OpenAI — Script Model GPT-4o-mini → click the credential dropdown → add your OpenAI API key → test the connection Connect OpenAI for the SEO step — Open node 7. OpenAI — SEO Model GPT-4o-mini → click the credential dropdown → select the same OpenAI API credential → confirm it is connected Connect Gmail — Open node 10. Gmail — Send Content Package → click the credential dropdown → add Gmail OAuth2 → sign in with the Gmail account where you want to receive packages → authorize access Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — YouTube Content Request → open it in a browser to submit your first video How It Works (Step by Step) Step 1 — Form: YouTube Content Request You open the form URL in a browser and fill in five fields: the video topic, target audience, video length (e.g. "8 minutes"), tone of voice (optional, defaults to "educational and engaging"), and your name. Submitting the form starts the workflow immediately. Step 2 — Set: Config Values Your email, sender name, channel niche, and all five form inputs are stored here. Today's date is auto-generated for the email subject. Tone of voice defaults to "educational and engaging" if left blank on the form. Step 3 — AI Agent: Write Video Script GPT-4o-mini receives the video topic, target audience, video length, tone of voice, and channel niche. It writes a complete spoken video script in plain English with no bullet points or markdown. The structure is fixed: a 30-second hook with 3–4 punchy sentences, a short introduction paragraph, three named content sections each with 2–3 paragraphs, a conclusion summarizing the three key takeaways, and a 2-sentence call to action asking viewers to like, subscribe, and comment. Step 4 — OpenAI: Script Model GPT-4o-mini This is the language model powering the script writing step. It runs at temperature 0.7 for creative, natural-sounding spoken language and is capped at 2,000 tokens to accommodate a full-length video script. Step 5 — Set: Save Script and Config The completed script is saved from the previous step's output. All nine config values — email, name, niche, topic, audience, length, and today's date — are explicitly re-carried forward here so the SEO agent has full context. This bridge step is necessary because n8n agents pass their output to the next step, not the full context from earlier in the workflow. Step 6 — AI Agent: Generate SEO Package GPT-4o-mini receives the video topic, target audience, channel niche, and video length. It returns five structured fields: a main YouTube title under 60 characters, an array of three alternative titles (one curiosity angle, one number angle, one question angle each under 60 characters), a full description under 250 words with keyword hook, learning points, call to action, and hashtags, an array of 15 keyword tags mixing short and long tail terms, and an array of timestamped chapter objects spaced evenly across the video length starting at 0:00. Step 7 — OpenAI: SEO Model GPT-4o-mini This is the language model powering the SEO metadata step. It runs at temperature 0.3 for precise, consistent output — lower than the script step because metadata needs to be accurate and structured, not creative. Step 8 — Parser: Structured SEO Output This step enforces the exact five-field schema GPT-4o-mini must return for the SEO package. It validates that title, alternativeTitles, description, tags, and chapters are all present and correctly typed before the email is assembled. Step 9 — Code: Build Email The SEO output and the saved script are combined into one complete plain-text email. The email is organized into clearly labeled sections: topic summary header, main title and three alternative titles, all 15 tags as a comma-separated list, chapters as timestamp-title pairs, the full description, and the complete video script. The email subject is automatically set to "YouTube Content Package — [main title] — [today's date]". Step 10 — Gmail: Send Content Package The complete email is sent to your configured email address with no attribution footer. One email contains everything needed to record, upload, and optimize the video. Key Features ✅ Two specialized AI agents in sequence — Script writing and SEO metadata are handled by separate GPT instances with different temperatures so each task is optimized independently ✅ Script temperature tuned for creativity — The script agent runs at 0.7 so the language sounds natural and spoken, not robotic or like a list ✅ SEO metadata temperature tuned for precision — The metadata agent runs at 0.3 so titles stay under 60 characters, chapters start at 0:00, and tag arrays are clean ✅ Channel niche personalizes both outputs — Your niche is passed to both agents so the script examples and the SEO keywords stay relevant to your actual audience ✅ Structured output enforced for metadata — A schema parser validates all five SEO fields before the email is built — no broken or incomplete packages ✅ Chapters spaced to your video length — The chapters step reads your submitted video length and distributes timestamps evenly so chapters actually match the content structure ✅ Single email with every deliverable — Script, titles, tags, chapters, and description all arrive in one email with clear section headers — ready to copy-paste into your recording notes and YouTube upload form ✅ Tone defaults to educational if blank — Leaving the Tone of Voice field empty on the form triggers a sensible default instead of failing the workflow Customisation Options Change the script structure — In node 3. AI Agent — Write Video Script, edit the structure instructions to add or remove sections — for example replace "Section 3 — common mistake" with "Section 3 — case study example" to change the content format for your channel style. Add a Google Docs save alongside the Gmail — After node 9. Code — Build Email, add a Google Docs step that creates a new document with the email body — giving you a permanent editable copy in Drive alongside the email delivery. Generate a shorter script for YouTube Shorts — Add a second form field option for "Short format (under 60 seconds)" and branch after step 2 — if the video length is under 60 seconds, route to a shorter prompt in the AI Agent that writes just a hook and one main point. Send the package to a Slack channel — After node 10. Gmail — Send Content Package, add a Slack step that posts the main title, first alternative title, and today's date to a #youtube-content channel so your team sees new packages without checking email. Increase script length for longer videos — In node 4. OpenAI — Script Model GPT-4o-mini, raise maxTokens from 2000 to 3000 to allow GPT to write a more detailed script for 15–20 minute videos — useful for in-depth tutorial formats. Troubleshooting Form submission not starting the workflow: Confirm the workflow is Active — inactive workflows do not receive form submissions Copy the Form URL fresh from node 1. Form — YouTube Content Request after activating — URLs copied before activation will not work Make sure Video Topic, Target Audience, and Video Length are all filled in — these three fields are required Script agent not generating content: Confirm the OpenAI API key is connected in node 4. OpenAI — Script Model GPT-4o-mini and your account has available credits Check the execution log of node 3. AI Agent — Write Video Script for the raw GPT response If maxTokens is too low for your video length, the script may be cut off — increase from 2000 to 2500 in node 4 SEO package missing fields or failing schema validation: Confirm the OpenAI API key is connected in node 7. OpenAI — SEO Model GPT-4o-mini — this is a separate credential connection from node 4 Check the execution log of node 6. AI Agent — Generate SEO Package for the raw GPT response — the schema parser in node 8. Parser — Structured SEO Output will flag which fields are missing or wrong format If chapters are empty, the video length you submitted may be ambiguous — use a clear format like "8 minutes" or "10 minutes" Gmail not sending the package: Confirm the Gmail OAuth2 credential in node 10. Gmail — Send Content Package is connected and authorized Check that PASTE_YOUR_EMAIL_HERE in node 2. Set — Config Values is replaced with your actual email address Check your spam or promotions folder on the first send — automated Gmail OAuth2 emails sometimes land there Email arriving with missing sections or garbled content: Check the execution log of node 9. Code — Build Email — if seoOutput is null the step throws an error Confirm node 5. Set — Save Script and Config successfully carried the videoScript field forward — check its output in the execution log to confirm the script text is present before the SEO agent runs 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 Oneclick AI Squad
This workflow ingests student profiles from a form submission or CRM, loads the active scholarship catalogue, uses Claude AI to score each student's eligibility against every available scholarship, filters strong matches, and automatically notifies eligible candidates with personalised application guidance. How it works Trigger — Form submission webhook or nightly scheduled batch run Load Student Profile — Fetches or normalises the student's academic and personal data Load Scholarship Catalogue — Pulls active scholarships from Airtable / Google Sheets Pair Students × Scholarships — Builds evaluation pairs for AI scoring AI Eligibility Scoring — Claude AI scores fit, flags eligibility, ranks scholarships Parse & Rank Results — Extracts structured scores, sorts by match strength Filter Qualified Matches — Keeps scholarships above configurable match threshold Check Deadline Urgency — Flags scholarships closing within 14 days Personalise Notification — Builds tailored email per student with top matches Send Student Email — Dispatches personalised scholarship digest Notify Advisor on Slack — Alerts academic advisor for high-value matches Update CRM Record — Writes matched scholarships back to Airtable student record Log to Audit Sheet — Appends full match report to Google Sheets Return API Response — Returns structured match results to caller Setup Steps Import workflow into n8n Configure credentials: Anthropic API — Claude AI for eligibility scoring Airtable — Student profiles and scholarship catalogue Google Sheets — Audit and match history log Slack OAuth — Academic advisor notifications SendGrid / SMTP — Student notification emails Set your Airtable base ID and table names for students and scholarships Configure match threshold (default: 70) in filter node Set urgency window (default: 14 days) in deadline check node Add your Slack advisor channel ID Activate the workflow Sample Webhook Payload { "studentId": "STU-2025-4821", "firstName": "Priya", "lastName": "Sharma", "email": "priya.sharma@university.edu", "gpa": 3.8, "major": "Computer Science", "yearOfStudy": 2, "nationality": "Indian", "residencyStatus": "International", "financialNeed": true, "extracurriculars": ["Robotics Club", "Volunteer Tutor"], "achievements": ["Dean's List 2024", "Hackathon Winner"], "intendedCareer": "AI Research", "disabilities": false, "firstGenStudent": true } Scholarship Criteria Evaluated by Claude AI Academic Merit** — GPA, honours, academic awards Field of Study** — Major/discipline alignment Financial Need** — Demonstrated need indicators Demographic Eligibility** — Nationality, residency, gender, Indigenous status Year of Study** — Undergraduate, postgraduate, PhD level Extracurricular Profile** — Leadership, community service, sports Career Alignment** — Intended career path vs scholarship mission Special Circumstances** — First-gen, disability support, regional background Features Batch processing of entire student cohort nightly AI-powered multi-criteria eligibility scoring (0–100) Deadline urgency detection and priority flagging Personalised email with ranked scholarship list and tips Academic advisor Slack digest for high-value matches Full audit trail in Google Sheets Airtable CRM auto-update with matched scholarships Explore More Automation: Contact us to design AI-powered content engagement, and multi-platform reply workflows tailored to your growth strategy.
by Davide
This workflow automates the process of receiving a post-call audio file and transcription from ElevenLabs, processing them, and generating a financial risk report. Key Advantages 1. ✅ End-to-End Automation The workflow fully automates the process from raw input (audio/transcript) to final delivery (email report), eliminating manual intervention. 2. ✅ AI-Powered Decision Making It leverages language models to: Analyze qualitative interview responses Convert them into quantitative scores Produce consistent and objective evaluations 3. ✅ Structured Data Extraction Automatically extracts critical business information, reducing human error and ensuring standardized outputs. 4. ✅ Scalability The webhook-based architecture allows the system to handle large volumes of interviews in parallel without additional effort. 5. ✅ Modular & Extensible Design Each step (audio processing, extraction, scoring, reporting) is modular, making it easy to: Replace models Add new analysis layers Integrate additional services 6. ✅ Professional Output Generation Generates clean, ready-to-send HTML reports compatible with email clients, improving communication with stakeholders. 7. ✅ Data Traceability & Storage Audio files are stored in Google Drive, ensuring: Auditability Easy retrieval of original data 8. ✅ Consistency & Standardization The evaluation logic ensures that all interviews are assessed using the same criteria, reducing subjective bias. How it works Receiving and Routing Data: The workflow starts with a Webhook that listens for incoming data from ElevenLabs. A Switch node then routes the data based on the body.type field. Post Call Audio: If the type is post_call_audio, the workflow processes the audio. Post Call Transcription: If the type is post_call_transcription, the workflow processes the transcription. Audio Processing Path: For an audio file, a Code node extracts the Base64 audio data and the conversation_id from the webhook payload. It converts the Base64 string into a binary audio buffer (MP3). This binary data is then passed to a Google Drive node, which uploads the file to a specified folder (the user's root folder). Transcription Processing Path: For a transcription, a Set node extracts the transcript array from the payload. A subsequent Code node processes this array, combining all messages from the conversation into a single, readable full text string, prefixed by the speaker's role. Data Enrichment and Analysis: The full transcript text is then used by two nodes in parallel: Information Extractor: This LangChain node uses an OpenAI model (gpt-5-mini) to extract structured data from the text, specifically the company_name, the CEO's name, the address, and the vat_number. Calculate Rating: This LangChain node uses another OpenAI model to perform a quantitative evaluation. It follows a provided system prompt to assign a numerical score, a final verdict (POSITIVE/NEUTRAL/NEGATIVE), and a reason based on the interviewee's responses. Its output is parsed by a Structured Output Parser to ensure it is valid JSON. Report Generation and Delivery: The outputs from the Information Extractor and Calculate Rating nodes are merged into a single data object. This object is passed to the Financial Report Generator, a final LangChain node that acts as a professional analyst. Using the merged data (company details, score, verdict, etc.), it generates a polished, formatted HTML email body. Finally, a Gmail node sends this HTML report as an email to the specified recipient. Set up steps Configure Credentials: OpenAI: Set up an OpenAI API credential for the three language model nodes. Ensure it has access to the gpt-5-mini model. Google Drive: Configure OAuth2 credentials for the "Upload audio" node to allow file uploads. Gmail: Set up OAuth2 credentials for the "Send report" node. Configure Webhook: Note the webhook ID and path. This URL must be configured in ElevenLabs to send post-call data to this n8n instance. Update Node Parameters: Google Drive: Modify the "Upload audio" node if the target folder (folderId) is not the root. Information Extractor: The extraction attributes (company, name, address, VAT) are pre-configured. No changes are needed unless the target data fields change. Gmail: Update the Gmail node with the recipient email address (xxx@xxx.com) and verify the email subject line formatting. Activate Workflow: Once all credentials and parameters are set, toggle the workflow from active: false to active: true in the n8n editor to start listening for webhook calls. 👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Incrementors
Every Monday morning, this workflow pulls your top 10 keywords from Google Search Console, passes the data to GPT-4o-mini, and emails a polished 150–200 word SEO digest to your client — automatically. You configure it once with four values, and it runs on its own every week. Built for SEO agencies and freelancers who want to deliver consistent client reporting without spending an hour writing it manually. What This Workflow Does Scheduled weekly trigger — Fires automatically every Monday at 8AM so you never miss a reporting week, with zero manual effort. Live GSC data pull — Fetches the top 10 keywords by clicks from Google Search Console for the past 7 days, directly from the API. Clean keyword formatting — Converts raw API data into a readable list showing keyword, clicks, impressions, CTR, and average position for every query. AI-written email body — GPT-4o-mini reads the keyword data and writes a professional, conversational 150–200 word digest — no templates, no copy-paste. One-config setup — All client details (site URL, client name, recipient email, agency name) live in a single node. Change it once to deploy for any client. Automated Gmail delivery — The final report is sent from your connected Gmail account with a dynamic subject line including the date range and client name. Setup Requirements Tools and accounts needed: n8n instance (self-hosted or cloud) Google account with Google Search Console access (OAuth2 credential) Gmail account for sending reports (OAuth2 credential — can be the same Google account) OpenAI account with GPT-4o-mini API access Estimated Setup Time: 10–15 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON. Paste the workflow JSON and import. Confirm all 9 nodes are connected in a straight line. Connect your Google Search Console credential — In n8n, go to Credentials → New → Google OAuth2 API. Complete the OAuth flow with the Google account that has access to your GSC property. Once connected, open the 3. HTTP — Fetch GSC Top Keywords node and select this credential under the OAuth2 field. > ⚠️ Your GSC property URL must match exactly. If your property is https://www.example.com/, the URL in the config must be identical — including the trailing slash. Connect your Gmail credential — Go to Credentials → New → Gmail OAuth2. Complete the OAuth flow with the Gmail account you want to send reports from. Open the 9. Gmail — Send Weekly Report node and select this credential. Add your OpenAI API key — Go to Credentials → New → OpenAI API. Paste your API key from platform.openai.com. Open the 7. OpenAI — GPT-4o-mini Model node and select this credential. Edit your config values — Open the 2. Set — Config Values node. This is the only node you need to change. Replace all four values: | Field | What to enter | |---|---| | siteUrl | Your exact GSC property URL (e.g. https://www.example.com/) | | clientName | Client business name (appears in the email greeting) | | recipientEmail | The email address to receive the weekly report | | agencyName | Your agency name (appears in the email footer) | Activate the workflow — Toggle the workflow to Active. It will now run automatically every Monday at 8AM. How It Works (Step by Step) Step 1 — Schedule Trigger (Every Monday 8AM) The workflow fires automatically using a cron schedule set to every Monday at 8AM. No manual action is needed once the workflow is active. Step 2 — Set Config Values Four variables are stored here: the site URL, client name, recipient email, and agency name. These are referenced by every subsequent step so you only update them in one place. Step 3 — HTTP Request (Google Search Console API) An authenticated POST request goes to the Google Search Console Search Analytics API. It asks for the top 10 keywords by clicks for the past 7 days, automatically calculating the start and end dates based on today's date. Step 4 — Set (Extract Fields) The raw API response is captured alongside the config values. The keyword data is stored as a JSON string, and the date range (week start and week end) is formatted for display in the email. Step 5 — Code (Format Data for GPT) A short JavaScript block parses the keyword rows and builds a clean, numbered text list. Each keyword line includes the query, clicks, impressions, CTR percentage, and average position. If no data is found, a fallback message tells you to check your GSC URL and credentials. Step 6 — AI Agent (Write SEO Report Email) GPT-4o-mini receives the keyword list and a detailed prompt. It writes the full email body — a warm greeting, highlights of the top 3 keywords by name with stats, one positive observation about the week, and one actionable SEO tip for the following week. The output is plain text only, with no markdown or symbols. Step 7 — OpenAI Model (GPT-4o-mini) This is the language model powering the AI Agent in Step 6. It is set to GPT-4o-mini with a 500-token limit and a temperature of 0.6 for consistent, professional writing. Step 8 — Set (Prepare Final Email) The AI-written email body, subject line, recipient address, and agency name are assembled into one item. The subject line is dynamically built using the date range and client name. Step 9 — Gmail (Send Weekly Report) Gmail sends the final email to the recipient address. The body is the AI-written digest, followed by a footer identifying the agency, data source, and automation stack. Key Features ✅ Zero-maintenance scheduling — Runs every Monday at 8AM without any manual trigger or login required. ✅ Dynamic date ranges — Start and end dates are calculated automatically each week. No hardcoded dates to update. ✅ Single config node — All four client-specific values live in one place. Duplicating this workflow for a new client takes under 2 minutes. ✅ Fallback message on empty data — If the GSC API returns no rows, the workflow still runs and sends an alert message instead of failing silently. ✅ AI-written in plain text — GPT-4o-mini is explicitly instructed to avoid markdown, asterisks, or symbols — producing clean copy-paste-ready email content. ✅ Professional subject line — The email subject auto-includes the exact date range and client name, making reports easy to find in any inbox. ✅ Footer attribution — Every email ends with an auto-generated footer crediting your agency and the data source, reinforcing your brand on every send. Customisation Options Increase the keyword count — In the 3. HTTP — Fetch GSC Top Keywords node, change "rowLimit": 10 to any number up to 25,000 to include more keywords in the AI's analysis. Change the send schedule — In the 1. Schedule — Every Monday 8AM node, edit the cron expression 0 8 * * 1 to any schedule you need. For example, 0 8 * * 5 sends on Fridays, or 0 9 1 * * sends on the 1st of every month. Add a dimension for pages or countries — In the 3. HTTP — Fetch GSC Top Keywords node, add "page" or "country" to the "dimensions" array alongside "query" to include page-level or geographic data in the report. Send a CC copy to yourself — In the 9. Gmail — Send Weekly Report node, expand the options and add your own email address to the CC field to keep a copy of every client send. Adjust the email tone — In the 6. AI Agent — Write SEO Report Email node, edit the writing instructions in the prompt to match your agency's voice — more formal, more casual, longer, or shorter. Deploy for multiple clients — Duplicate the entire workflow in n8n and update the 2. Set — Config Values node for each client. Each copy runs independently on the same schedule. Troubleshooting GSC API returns a 403 or permission error: Confirm your Google OAuth2 credential has access to the correct Search Console property Check that the siteUrl value in 2. Set — Config Values exactly matches the GSC property URL, including the protocol (https://) and trailing slash Re-authenticate the Google credential if it has expired No keyword data in the email (fallback message appears): Verify the site had traffic in the past 7 days in your GSC dashboard Check that the siteUrl is the domain-level property and not a URL-prefix property with a different format Run the workflow manually and inspect the output of 3. HTTP — Fetch GSC Top Keywords to see the raw API response Gmail node fails to send: Confirm your Gmail OAuth2 credential is properly connected and not expired Check that recipientEmail in 2. Set — Config Values is a valid email address Check your Gmail sending limits if you are running this for many clients from one account AI Agent produces an empty or broken email body: Open the 7. OpenAI — GPT-4o-mini Model node and confirm the OpenAI credential is valid and has available API credits Check the n8n execution log for the AI Agent node to see if an OpenAI error message was returned Workflow not triggering on schedule: Confirm the workflow is toggled to Active — saved workflows do not run unless activated Check your n8n instance timezone settings and compare to the cron expression — 8AM runs based on your server timezone 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/contact-us/
by Dean Pike
LinkedIn URL → Scrape → Match → Screen → Decide, all automated This workflow automatically processes candidate LinkedIn profiles shared via Telegram, intelligently matches them to job descriptions, performs AI-powered screening analysis, and sends actionable summaries to your team in Telegram. Good to know Handles LinkedIn profile scraping via Apify API (extracts full profile data including experience, education, skills) Built-in spam prevention: limits users to 3 LinkedIn profile submissions Two-stage JD matching: prioritizes role mentioned in candidate's Telegram message, falls back to LinkedIn profile analysis if needed Uses Google Gemini API for AI screening (generous free tier and rate limits, typically enough to avoid paying for API requests - check latest pricing at Google AI Pricing and rate limits documentation) Automatic polling mechanism checks Apify extraction status up to 10 times (15-second intervals) Complete audit trail logged in Google Sheets with unique submission IDs Who's it for Hiring teams and recruiters who want to streamline first-round screening for candidates who share LinkedIn profiles directly. Perfect for companies accepting applications via messaging platforms (Telegram, WhatsApp, etc.), especially useful fortech-savvy audiences and remote/global hiring. How it works Telegram bot receives message containing LinkedIn profile URL from candidate Validates URL format and checks spam prevention (max 3 submissions per Telegram username) Sends confirmation message to candidate and notifies internal talent team via Telegram group Extracts clean LinkedIn URL and initiates Apify scraping job Polls Apify API up to 10 times (15-second intervals) until profile extraction completes AI agent matches candidate to best-fit job description by analyzing Telegram message context first (if candidate mentioned a role), or LinkedIn profile content as fallback (selects up to 3 potential JD matches) If multiple JDs matched, second AI agent selects the single best fit based on detailed profile analysis AI recruiter agent analyzes LinkedIn profile against selected JD and generates structured screening report (strengths, weaknesses, risk/reward factors, overall fit score 0-10 with justification) Logs complete analysis to Google Sheets tracker with unique submission ID Sends formatted summary to Telegram group with candidate details, matched JD, and overall fit score Requirements Telegram Bot Token (Create bot via @BotFather) Apify account with API token (Sign up for free tier) Google Drive account (OAuth2) Google Sheets account (OAuth2) Google Gemini API key (Get free key here) Google Drive folder for Job Descriptions (as PDFs or Google Docs) Telegram group for internal talent team notifications How to set up Create Telegram bot and internal Telegram chat group with new bot: Message @BotFather on Telegram Send /newbot and follow instructions to create your bot Save the API token provided Create Telegram group chat and invite your new bot + invite the @GetIDs bot Note down the group chat ID (How to get group chat ID) Setup Apify: Sign up at Apify Get your API token from Settings Note: Free tier includes sufficient scraping credits for testing and production ($0.01 per successful LinkedIn profile enriched, a free monthly limit of $5.00) - LinkedIn profile scraper "actor" details Create Google Sheet: Create new sheet named "LinkedIn Profile AI Candidate Screening" Add columns: Submission ID, Date, LinkedIn Profile URL, First Name, Last Name, Email (if known), Telegram Username, Strengths, Weaknesses, Risk Factor, Reward Factor, JD Match, Overall Fit, Justification Copy the spreadsheet ID from URL Setup Google Drive folder: Create folder named "Job Descriptions" Upload your JD files (PDFs or Google Docs) with clear, descriptive filenames Copy the folder ID from URL Configure workflow nodes: In "Receive Telegram Msg to Recruiter Bot" node: Add Telegram API credentials In "Extract LinkedIn Profile Information" node: Replace YOUR_APIFY_API_TOKEN with your Apify token In "Check LinkedIn Profile Extraction Status" node: Replace YOUR_APIFY_API_TOKEN with your Apify token In "Get Fully Extracted LinkedIn Profile Data" node: Replace YOUR_APIFY_API_TOKEN with your Apify token In "Access JD Files" node: Update folder ID to your "Job Descriptions" folder In "Get All Rows Matching Telegram Username" node: Select your Google Sheet In "Add Candidate Analysis in GSheet" node: Select your Google Sheet and verify column mappings In "Send Msg to Internal Talent Group" node: Update chat ID to your Telegram group chat ID In "Send Review Completed Msg to Talent Group" node: Update chat ID and Google Sheet URL Add your company description: In "JD Matching Agent" system message: Replace company description with your details In "Detailed JD Matching Agent" system message: Replace company description with your details In "Recruiter Scoring Agent" system message: Update company description Test the workflow: Send a LinkedIn profile URL to your bot from Telegram Monitor execution to ensure all nodes run successfully Check Google Sheets for logged results Activate workflow Customizing this workflow Change spam limits: Edit "Spam Check: Sent <4 LinkedIn Profiles?" node to adjust maximum submissions (currently 3) Adjust polling attempts: Edit "Checked 10x for LinkedIn Profile Data?" node to change maximum polling attempts (currently 10) or modify wait time in "Wait for LinkedIn Profile" node (currently 15 seconds) Change JD matching logic: Edit "JD Matching Agent" node prompt to adjust how LinkedIn profiles are matched to roles (e.g., weight current role vs. overall experience) Modify screening criteria: Edit "Recruiter Scoring Agent" node system message to focus on specific qualities (culture fit, leadership potential, technical depth, industry experience, etc.) Add more messaging platforms: Add nodes to support WhatsApp, Discord, or other messaging platforms using similar URL-based triggers Customize Telegram messages: Edit notification nodes to change formatting, add emojis, or include additional candidate data Auto-proceed logic: Add IF node after screening to auto-proceed candidates with fit score above threshold (e.g., 8+/10) and trigger different notification paths Add candidate responses: Connect nodes to automatically message candidates back via Telegram (confirmation, rejection, interview invite) Add interview scheduling: For approved candidates, send Telegram message with Cal.com or Calendly link so they can book their interview Enrich with additional data: Add nodes to cross-reference candidate data with other sources (GitHub, Twitter/X, company websites) Multi-language support: Add translation nodes to support candidates submitting profiles in different languages Add human approval step: Create buttons in Telegram group messages for instant Approve/Reject decisions that update Google Sheets Pro tip: Add your Telegram bot to your company's careers page with instructions like: "Want fast-track screening? Share your LinkedIn profile with our AI recruiter: @YourBotName" Troubleshooting Telegram bot not responding: Ensure bot token is correct in "Receive Telegram Msg to Recruiter Bot" node, and users have sent /start to your bot at least once "LinkedIn profile URL invalid" error: Check that candidates are sending full URLs in format https://www.linkedin.com/in/username (not shortened links or text without URL) Apify extraction failing: Verify Apify API token is correctly set in all three HTTP Request nodes ("Extract LinkedIn Profile Information", "Check LinkedIn Profile Extraction Status", "Get Fully Extracted LinkedIn Profile Data") LinkedIn extraction timeout: Increase polling attempts in "Checked 10x for LinkedIn Profile Data?" node (currently 10) or increase wait time in "Wait for LinkedIn Profile" node (currently 15 seconds) Spam check blocking valid users: Check "Get All Rows Matching Telegram Username" node is pointing to correct Google Sheet, and adjust limit in "Spam Check: Sent <4 LinkedIn Profiles?" node if needed JD matching returns no results: Check "Access JD Files" node folder ID points to your Job Descriptions folder, and JD files are named clearly (e.g., "Marketing Director JD.pdf") JD matching is not relevant for my company: Update the "Company Description" in the System Messages in all three AI agent nodes ("JD Matching Agent", "Detailed JD Matching Agent", "Recruiter Scoring Agent") "Can't find matching JD": Ensure candidate's Telegram message mentions role name OR their LinkedIn profile clearly indicates relevant experience for available JDs Google Sheets errors: Verify sheet name is "LinkedIn Profile AI Candidate Screening" and column headers exactly match workflow expectations (Submission ID, Date, LinkedIn Profile URL, First Name, Last Name, etc.) Telegram group notifications not appearing: Verify chat ID is correct in "Send Msg to Internal Talent Group" and "Send Review Completed Msg to Talent Group" nodes (use negative number for group chats, e.g., -4954246611) Missing candidate data in Google Sheets: LinkedIn profile may be incomplete - verify Apify successfully extracted data by checking "Get Fully Extracted LinkedIn Profile Data" node output Loop counter not working: Check "Restore Loop Counter" code node references correct node names ("Checked 10x for LinkedIn Profile Data?" and "Initialize Loop Counter to Poll for Completion") 401/403 API errors: Re-authorize all OAuth2 credentials (Google Drive, Google Sheets) and verify Apify and Telegram API tokens are valid AI analysis quality issues: Edit system prompts in "JD Matching Agent", "Detailed JD Matching Agent", and "Recruiter Scoring Agent" nodes to refine screening criteria and provide more context about your hiring needs Gemini API rate limit errors: Check your usage at Google AI Studio and consider upgrading to paid tier if exceeding free tier limits (see rate limits documentation) Sample Outputs Google Sheets - LinkedIn AI Candidate Screening - sample Telegram messages between AI recruiter bot and job applicant Telegram messages from AI recruiter bot in internal group chat
by Avkash Kakdiya
How it works The workflow detects incoming job-application emails, extracts resumes, and parses them for AI analysis. It evaluates each candidate against three open roles and assigns a fit score with structured reasoning. Low-scoring applicants are stored for review, while strong candidates move into an automated scheduling flow. The system checks availability on the next business day, books the slot, sends a confirmation email, and records all details in Airtable. Step-by-step Detect and collect job-application data Gmail Trigger1** – Monitors inbox for all new emails. Message a model2** – Classifies whether the email is a job application. If2** – Continues only when the AI result is YES. Get a message1** – Fetches the full message and attachments. Upload file1** – Uploads the resume to Google Drive. Extract from File1** – Converts the PDF resume into text. Analyze the resume and evaluate fit Available Positions1** – Defines the three open roles. Message a model3** – Produces recommended role, fit score, strengths, gaps, skills, and reasoning. If3** – Routes candidates based on fit_score ≥ 8. Create a record3** – Stores lower-scoring applicants in Airtable. Get Next Business Day1** – Calculates the schedule window for qualified candidates. Check availability on the next business day AI Agent1** – Orchestrates availability search using calendar nodes. Get Events1** – Retrieves events for the target day. Check Availability1** – Evaluates free 1-hour slots. OpenAI Chat Model2** – Reasoning engine for the agent. Structured Output Parser1** – Returns clean JSON with start_time and end_time. OpenAI Chat Model3** – Supports structured parsing. Schedule the interview and notify the candidate Create an event1** – Books the interview in Google Calendar. Send a message1** – Sends an HTML confirmation email to the candidate. Create a record2** – Saves shortlisted candidate and interview data in Airtable. Why use this? Removes manual screening by automating email intake and resume parsing. Ensures consistent AI-based role matching and scoring. Books interviews automatically using real calendar availability. Keeps all applicant and scheduling data organized in Airtable. Provides a fully hands-off, end-to-end hiring pipeline.