by Angel Menendez
Who is this for? This workflow is perfect for HR teams, recruiters, and hiring platforms that need to automate the extraction of key candidate details—like name, email, skills, and education—from resume files submitted in various formats. What problem does this solve? Manually reviewing and extracting structured data from resumes is time-consuming and error-prone. This automation eliminates that bottleneck, standardizing candidate data for seamless integration into CRMs, applicant tracking systems, or Google Sheets. What this workflow does This n8n template listens for uploaded resume files, detects their format (PDF, DOC, TXT, CSV, etc.), and automatically extracts the raw text using n8n’s built-in file extraction tools. The extracted text is then parsed using an OpenAI-powered agent that returns structured fields such as: Full Name Email Address Skill Keywords Education Details Optionally, you can push the structured output to Google Sheets (node included, currently disabled). Setup Clone this workflow into your n8n instance. Enable the When chat message received trigger if using n8n chat. Provide your OpenAI credentials and enable the LangChain Agent node. (Optional) Connect Google Sheets by authenticating with your Google account and filling in your target document and sheet. Watch the setup and demo video here: 🎥 https://youtu.be/2SUPiNmLWdA How to customize Modify the OpenAI system message to extract different fields (e.g., phone number, LinkedIn). Replace the Google Sheets node with a webhook to push results to your ATS. Add filters to limit accepted file types or max file size. > ⚠️ This template is designed to be secure. It uses credentials stored in the n8n credential manager—no hardcoded secrets required.
by go-surfe
This template enables fully automated lead enrichment using Surfe’s bulk API. Simply drop a Google Spreadsheet into your Google Drive, and n8n will handle everything — from reading the leads, enriching them in batches, filtering valid data, and pushing results to HubSpot. 1. ❓ What Problem Does This Solve? Manually enriching contact lists is tedious, error-prone, and doesn’t scale. Whether you’re importing leads from events, marketing forms, or partners, this workflow ensures each record is enriched and synced to your CRM — hands-free. 2. 🧰 Prerequisites To use this template, you’ll need: A self-hosted or cloud instance of n8n A Surfe API Key A Google Drive and Sheets account (with OAuth or service account) A HubSpot account with access to create/update contacts (via OAuth or Private App Token) The workflow JSON file (included with this tutorial) 3. 📌 Input File Format To run the automation, you must upload a Google Spreadsheet to a specific folder in your Drive. The spreadsheet must contain the following columns: first name (required) last name (required) Either company name or company domain (at least one is required) linkedin url (optional) 🛑 Important: Any row missing first name, last name, and both company name and company domain will be ignored automatically by the workflow. Each row represents a person to enrich. We recommend including the linkedin url if available, but it's not mandatory. 4. ⚙️ Setup Instructions 4.1 🔐 Create Your Credentials in n8n 4.1.1 📁 Google Drive To connect Google Drive and Google Sheets in your workflow, you need to authorize n8n via Google OAuth 2.0 using a Client ID and Client Secret from the Google Cloud Console. 📋 Step 1: Create a Google Cloud Project Visit Google Cloud Console Create a new project or select an existing one Navigate to APIs & Services → OAuth consent screen ⚙️ Step 2: Configure the OAuth Consent Screen Enter the following: App name (e.g. n8n Integration) User support email Choose Audience Type: Internal if you’re using a Google Workspace account External if using a personal Gmail account Under Contact information email address Click Save and Continue 🔑 Step 3: Create OAuth Client Credentials Go to APIs & Services → Credentials Click + Create Credentials → OAuth Client ID Select Web application as the application type Name it (e.g. n8n Google Drive Access) In Authorized redirect URIs, paste this: https://oauth.n8n.cloud/oauth2/callback (Or your self-hosted n8n redirect URI) Click Create Copy the Client ID and Client Secret ✅ Step 4: Finish Setup in n8n In n8n, go to Credentials → Create New → Google Drive / Google Sheets Choose OAuth2 Paste your: Client ID Client Secret Redirect URL (should match Google Console) Click Sign in with Google Authorize access and save the credential ✅ Your Google Drive is now ready to use in workflows. 4.1.2 📊 Google Sheets OAuth2 API Go to n8n → Credentials Create new credentials: Type: Google Sheets OAuth2 API Here a pop-up will open where you can login to your Google account from where you will read the Google Sheets When it’s done you should see this on n8n 4.1.3 📧 Gmail OAuth2 API Go to n8n → Credentials Create new credentials: Type: Gmail OAuth2 API A pop-up window will appear where you can log in with your Google account that is linked to Gmail Make sure you grant email send permissions when prompted 4.1.4 🚀 Surfe API In your Surfe dashboard → Use Surfe Api → copy your API key Go to n8n → Credentials → Create Credential Choose Credential Type: Bearer Auth Name it something like SURFE API Key Paste your API key into the Bearer Token Save 4.1.5 🎯 HubSpot 🔓 Private App Token Go to HubSpot → Settings → Integrations → Private Apps Create an app with scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read Save the App token Go to n8n → Credentials → Create Credential → HubSpot App Token Paste your App Token ✅ You are now all set for the credentials 4.2 📥 Import and Configure the N8N Workflow Import the provided JSON workflow into N8N Create a New Blank Workflow click the … on the top left Import from File 4.2.1 🔗 Link Nodes to Your Credentials In the workflow, link your newly created credentials to each node of this list : Google Drive Node -> Credentials to connect with → Google Drive Account Google Sheets -> Credentials to connect with → Google Sheets Account Gmail Node Credentials to connect with → Gmail account Hubspot Node →Credentials to connect with → Gmail account Surfe HTTP nodes: Authentication → Generic Credential Type Generic Auth Type → Bearer Auth Bearer Auth → Select the credentials you created before Surfe HTTP nodes Surfe HTTP nodes HubSpot node → Credentials to connect with → select your HubSpot credentials in the list 4.2.2 🔧 Additional Setup for the Google Drive Trigger Node 5. 🔄 How This N8N Workflow Works A new Google Sheet containing a linkedin_url column is added to a specific folder in Google Drive n8n detects the new file automatically via the Google Drive Trigger All rows are read and batched in groups of 500 to comply with Surfe’s API limits Each batch is sent to Surfe’s Bulk Enrichment API n8n polls Surfe until the enrichment job is complete It extracts the enriched contact data from Surfe’s response Only contacts with both email and phone number are kept These validated leads are pushed to HubSpot Finally, a Gmail notification is sent to confirm the job is complete 6. 🧩 Use Cases Post-event contact enrichment** – After a trade show, upload a list of LinkedIn profile URLs from badge scans or lead capture forms Outbound LinkedIn campaign follow-ups** – Gather LinkedIn URLs from manual outreach and enrich them into usable CRM leads CRM data enhancement** – Use LinkedIn URLs to fill in missing contact info for existing or imported contacts List building from LinkedIn exports** – Upload a list of LinkedIn profiles (e.g. from Sales Navigator) and turn them into fully enriched contacts in HubSpot 7. 🛠 Customization Ideas 🔁 Add retry logic for failed Surfe enrichment jobs 📤 Log enriched contacts into a Google Sheet or Airtable 🔍 Add pre-check logic to avoid creating duplicates in HubSpot 📊 Extend the flow to generate a basic summary report of enriched vs rejected contacts 8. ✅ Summary This workflow turns a basic Google Sheet of LinkedIn URLs into fully enriched, CRM-ready contacts — automatically synced with HubSpot. Just upload your file. Let Surfe do the rest.
by AppStoneLab Technologies LLP
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🤖 AI Image Generator Telegram Bot Transform simple text descriptions into stunning AI-generated images through a Telegram bot powered by Google's Gemini 2.0 Flash image. This workflow automatically enhances user prompts with professional prompt engineering techniques and delivers high-quality images directly to your Telegram chat. 🎯 What This Workflow Does This automation creates an intelligent Telegram bot that: Receives text messages** from users describing what image they want Enhances prompts** using AI-powered prompt engineering to add artistic details, lighting, composition, and style specifications Generates images** using Google's Gemini 2.0 Flash image generation model Delivers results** instantly back to the user's Telegram chat ⚡️ Key Features Smart Prompt Enhancement**: Automatically transforms basic requests like "a cat on a windowsill" into detailed, professional prompts with lighting, composition, and style details Professional Image Quality**: Leverages Google's latest Gemini 2.0 Flash model for high-quality image generation Instant Delivery**: Images are generated and sent back to users within seconds User-Friendly**: Simple text-to-image conversion through familiar Telegram interface Structured Output**: Uses JSON schema to ensure consistent prompt formatting 🛠️ How It Works Telegram Trigger: Listens for incoming messages from users AI Prompt Enhancement: Uses Gemini 2.5 Flash Lite to analyze and expand user requests into detailed prompts Structured Processing: Formats the enhanced prompt using JSON schema for consistency Image Generation: Sends the enhanced prompt to Gemini 2.0 Flash image generation API File Conversion: Converts the generated image data to a file format Delivery: Sends the generated image back to the user via Telegram 🎭 Use Cases Creative Content Creation**: Generate artwork, illustrations, and visual concepts Social Media Content**: Create unique images for posts and stories Concept Visualization**: Turn ideas into visual representations Educational Materials**: Generate images for presentations and learning materials Personal Projects**: Create custom artwork for personal use 📋 Prerequisites Before setting up this workflow, you'll need: Required Accounts & APIs: Telegram Bot Token**: Create a bot via @BotFather Google AI Studio Account**: Access to Gemini API services Required Credentials: Telegram Bot API credentials Google Gemini API key with access to: Gemini 2.5 Pro (for prompt enhancement) Gemini 2.0 Flash Preview (for image generation) 🚀 Setup Instructions Import the Workflow: Copy the workflow JSON into your n8n instance Configure Telegram Bot: Create a new bot using @BotFather Add your bot token to the Telegram credentials in n8n Set Up Google Gemini API: Create API key from Google AI Studio and add to n8n credentials Activate the Workflow: Enable the workflow to start receiving messages 💡 Customization Options Prompt Templates**: Modify the prompt enhancement instructions for different artistic styles Image Parameters**: Adjust generation settings for different image formats and qualities Response Formats**: Customize how images are delivered (with captions, multiple formats, etc.) 📊 Example Interaction User Input: "Generate a beautiful image of a dragon from game of thrones" Enhanced Prompt: "A majestic, formidable dragon, reminiscent of those from Game of Thrones, perched atop a jagged, snow-capped mountain peak. The dragon is depicted with immense, leathery wings unfurled, scales glinting with iridescent blues and deep charcoals under the harsh, cold light. Its eyes glow with an inner, fiery amber. The scene is captured with a dramatic, low-angle wide shot, emphasizing the dragon's sheer scale against a turbulent, stormy sky filled with dark, bruised clouds and streaks of lightning. The atmosphere is oppressive and foreboding, with biting wind and swirling snow creating a sense of raw power and danger. The color palette is dominated by icy blues, stark greys, deep blacks, and the contrasting fiery glow of the dragon's eyes and perhaps a hint of internal fire. Rendered in a hyperrealistic, cinematic digital art style, with exceptional attention to detail on the scales, musculature, and the texture of the rocky environment. Lighting is dramatic and high-contrast, with sharp highlights on the dragon's form and deep, impenetrable shadows. Quality specifications include ultra-high detail, 8K resolution, photorealistic rendering, and an epic, awe-inspiring mood, evoking the grandeur and terror of powerful fantasy creatures." Result: 🔧 Technical Details AI Models**: Google Gemini 2.5 Pro (prompt enhancement) + Gemini 2.0 Flash Preview (image generation) Messaging**: Telegram Bot API Output Format**: High-quality images in standard formats Processing Time**: Typically 10-15 seconds per image for Gemini 2.5 Flash and 25-30 seconds Gemini for 2.5 Pro
by Not Another Marketer
Your Landing Page is Leaking Sales—Here’s How to Fix It in Seconds Visitors land on your page. But instead of converting, they bounce. Why? Something’s broken. Something’s missing. But what? ❌ Is your CTA too weak? ❌ Is your messaging unclear? ❌ Is your design creating friction? You know something is off, but don’t know what. What if you could get an instant, expert-level report on exactly what to fix? This workflow will do an AI Analysis of your landing page, provide a CRO Audit, so you can optimize your landing page. Who is This For? SaaS Founders & Startups**: Stop leaving money on the table. Make every visitor count. Marketers & Growth Experts**: Turn landing pages into high-converting assets. E-commerce & Lead Gen Businesses**: More conversions = more revenue. How It Works Paste your URL Get an instant roast + fix list Implement changes & watch conversions jump The workflow scrapes the url you input, gets the htlm source code of the landing page, and sends it to OpenAI AI Agent. The Agent makes a deep analysis, roasts the landing page, and provides 10 Conversion Rate Optimization Tips to improve your landing page. Setup Guide You will need OpenAI Credentials with an API Key to run the workflow. The workflow is using the OpenAI-o1 model to deliver the best results. It costs between $0.20/0.30 per run. You can adjust the prompt to your wish in the AI Agent parameters. Once the workflow has been completed, select Logs to get a readable version. Below is an example.
by Yaron Been
This cutting-edge n8n automation is a sophisticated video intelligence tool designed to transform raw video content into actionable insights. By intelligently connecting Google Drive, AI analysis, and automated processing, this workflow: Discovers Video Content: Automatically retrieves videos from Google Drive Supports scheduled or on-demand analysis Eliminates manual content searching Advanced AI Analysis: Leverages Google Gemini AI Provides comprehensive video insights Extracts meaningful content summaries Intelligent Processing: Validates file status Prepares content for AI analysis Ensures high-quality insight generation Seamless Workflow Integration: Automated scheduling Cross-platform content processing Reduces manual intervention Key Benefits 🤖 Full Automation: Zero-touch video intelligence 💡 AI-Powered Insights: Advanced content analysis 📊 Comprehensive Processing: Detailed video understanding 🌐 Multi-Platform Synchronization: Seamless content flow Workflow Architecture 🔹 Stage 1: Content Discovery Scheduled Trigger**: Automated workflow initiation Google Drive Integration**: Video file retrieval Intelligent File Selection**: Identifies target videos Prepares for AI analysis 🔹 Stage 2: Content Preparation File Download** LLM Chain Processing** AI-Ready Content Formatting** 🔹 Stage 3: AI Analysis Gemini API Integration** Comprehensive Content Examination** Intelligent Insight Generation** 🔹 Stage 4: Result Structuring Analysis Result Formatting** Structured Insight Preparation** Ready-to-Use Intelligence** Potential Use Cases Content Creators**: Video content analysis Marketing Teams**: Content insight generation Educational Institutions**: Lecture and presentation review Research Organizations**: Automated video intelligence Media Companies**: Rapid content assessment Setup Requirements Google Drive Connected Google account Configured video folder Appropriate sharing settings Google Gemini API API credentials Configured analysis parameters Access to Gemini Pro model n8n Installation Cloud or self-hosted instance Workflow configuration API credential management Future Enhancement Suggestions 🤖 Multi-model AI analysis 📊 Detailed insight scoring 🔔 Automated reporting 🌐 Cross-platform insight sharing 🧠 Advanced content categorization Technical Considerations Implement robust error handling Use secure API authentication Maintain flexible content processing Ensure compliance with AI usage guidelines Ethical Guidelines Respect content privacy Maintain transparent analysis practices Ensure appropriate content usage Protect intellectual property rights Hashtag Performance Boost 🚀 #AIVideoAnalysis #ContentIntelligence #GeminiAI #VideoInsights #AutomatedLearning #AIWorkflow #MachineLearning #ContentAnalytics #TechInnovation #AIAutomation Workflow Visualization [Schedule Trigger] ⬇️ [Download from Drive] ⬇️ [LLM Chain Processing] ⬇️ [Check File Status] ⬇️ [Analyze Video] ⬇️ [Format Analysis Result] Connect With Me Ready to revolutionize your video intelligence? 📧 Email: Yaron@nofluff.online 🎥 YouTube: @YaronBeen 💼 LinkedIn: Yaron Been Transform your video content analysis with intelligent, automated solutions!
by Agentick AI
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. **This n8n template automates candidate outreach, call transcription, and structured feedback capture for HR teams and recruiters. It triggers on a new candidate row added in a Google Sheet, initiates a call using Vapi.ai, processes the transcript using Google Gemini, extracts key information like CTC, experience, and notice period, and then updates the same Google Sheet with parsed insights. This is ideal for recruiters or HR teams conducting high-volume candidate outreach and wanting to scale initial data collection using automated voice bots and AI transcription analysis.** How it works Trigger: Listens for new rows added to a Google Sheet (e.g., a new candidate lead). Call Initiation: Uses Vapi.ai to make a phone call to the candidate using an assistant bot. Transcript Retrieval: After the call, fetches the conversation transcript from the Vapi API. AI Transcript Analysis: Google Gemini parses the transcript and extracts structured fields like: Work experience Current & expected CTC Notice period & negotiability Work preferences and location Data Mapping: Extracted insights are mapped to structured JSON fields. Google Sheet Update: The same row in the source Sheet is updated with the collected information. Use Cases Pre-screening calls for job applicants Collecting missing candidate information asynchronously Replacing manual HR data entry with AI-powered automation Smart CRM updates from voice interactions Requirements Before you run this workflow, ensure the following: ✅ Google account with access to Google Sheets API ✅ Vapi.ai account with: Assistant ID Phone number ID Active API key ✅ Google Gemini API (via PaLM) enabled ✅ n8n version 1.40.0 or later with relevant credentials configured How to use Import the workflow into n8n. Set up your credentials for: Google Sheets Trigger Google Sheets Vapi.ai (add Bearer token) Google Gemini Replace the placeholder values in: Assistant ID Phone number ID Google Sheet ID and tab Start the workflow and add a row to the Google Sheet. Wait for the automated call and let the AI extract and populate the data. Customising this workflow Replace Google Gemini with OpenAI or Claude if preferred. Add sentiment analysis on the transcript using an LLM. Modify the Sheet column structure to add additional fields. Add a filter node to skip candidates with incomplete phone numbers. Use a Webhook trigger instead of Google Sheets to integrate with job portals or ATS.
by Adam Janes
This workflow demonstrates a simple way to run evals on a set of test cases stored in a Google Sheet. The example we are using comes from an info extraction task dataset, where we tested 6 different LLMs on 18 different test cases. You can see our sample data in this spreadsheet here to get started. Once you have this working for our dataset, you can plug in your own test cases matching different LLMs to see how it works with your own data. How it works: It loads test cases from Google Sheets. For each row in our Google Sheet, it grabs the source document, converting it to text. Our "LLM judge" passes the input/output of each LLM to GPT-4.1 to evaluate each test case (Pass/Fail + Reason). It logs the outcome to a Google Sheet. A 0.5s pause between each request gets around OpenAI's API rate limits. Set up steps: Add your credentials for Google Sheets, Google Drive, and OpenRouter. Make a copy of the original data spreadsheet so that you can edit it yourself. You will need to plug your version in the Update Results node to see the spreadsheet update on each run of the loop.
by Olek
How it works This workflow will activate and deactivate a selected other workflow on schedule. > ⚠️ Warning! > This approach won't work for trial users as it requires n8n API that is not available to trial users. > See https://docs.n8n.io/api/ for details. Set up steps Adjust activation/deactivation schedule per your needs. Custom (cron) interval is a recommended approach. Set targeted Workflow ID. You will find it in the URL of the workflow you want to manage. Set n8n API credentials: Create an API key: how to Create n8n credentials using the API key: how to This workflow uses n8n node. #DevOps #workflow-management Other useful stuff Need a universal Error workflow to catch both execution and trigger errors? Here you go: Error handling: Send email via Gmail on execution or trigger-level errors More stuff by Olek and do not forget to backup your workflows often by automating.
by Richard Uren
This template extracts all customers from shopify using GraphQL and the shopify admin API and sync them into a Baserow table. Setup Notes Update the Endpoint in GraphQL node to reflect your Shopify store. In Baserow create a shopify database with a customer table in Baserow. Create columns in the Baserow customer table for first_name, last_name, and email. It takes about 1 second per row to insert.
by Stefan
Automate LinkedIn engagement without sounding like a bot. This workflow: 🌍 Detects language & tone (German / English) 👍 Chooses the right reaction (like / celebrate / support …) 🗣 Generates a personalised comment in your voice and mentions the author 📲 Optional Telegram review – approve ✅ or regenerate ❌ before posting 💸 Runs on cost-efficient GPT-4o mini or Claude 3.5 Haiku ☁️ Publishes comment + reaction via the Unipile API Setup (≈ 15-30 min) Unipile – connect LinkedIn → copy account_id, dsn, then create an Access-Token (X-API-KEY). Telegram (optional) – create a bot, add a credential named YOUR TELEGRAM ACCOUNT. OpenAI / Anthropic – add your API key and keep one LLM node (delete the other). Open the “Defining guardrails” node and replace the credential placeholders. (Optional) Tweak role, comment_length and openers_example_1-3 for your brand voice. Security: no live keys included – all secrets are placeholders. Best for: solopreneurs, marketing teams, personal-branding consultants.
by David Roberts
AI evaluation in n8n This is a template for n8n's evaluation feature. Evaluation is a technique for getting confidence that your AI workflow performs reliably, by running a test dataset containing different inputs through the workflow. By calculating a metric (score) for each input, you can see where the workflow is performing well and where it isn't. How it works This template shows how to calculate a workflow evaluation metric: whether a specific tool was called by an agent. We use an evaluation trigger to read in our dataset It is wired up in parallel with the regular trigger so that the workflow can be started from either one. More info We make sure that the agent outputs the list of tools that it used We then check whether the expected tool (from the dataset) is in that list Finally we pass this information back to n8n as a metric
by Zakaria Ben
This workflow template is designed for dental assistants and anyone looking to automate appointment scheduling. It integrates Google Calendar for booking appointments and Google Sheets as a database to store patient information. How It Works The user interacts with the chatbot to schedule an appointment. The chatbot collects necessary details and checks availability via Google Calendar. If the requested time is available, the AI books the appointment. If unavailable, the AI suggests alternative time slots. Once booked, the AI logs the appointment details into Google Sheets for record-keeping. Setup Instructions 📌 Watch this 🎥 Setup Video for detailed instructions on running and customizing this workflow. Step 1: Set Up Credentials OpenAI API Key (for chatbot functionality). Google Account (for Google Sheets & Google Calendar integration). Step 2: Choose the Right Tools Select the correct Google Calendar in the Google Calendar tool. Choose the appropriate Google Sheets file in the Google Sheets tool. Step 3: Test Run a test to ensure everything works correctly. Once tested. Example Templates Below are sample Google Sheets template to help you get started.