by Dr. Firas
AI-Powered HR Workflow: CV Analysis and Evaluation from Gmail to Sheets Who is this for? This workflow is designed for HR professionals, recruiters, startup founders, and operations teams who receive candidate resumes by email and want to automate the evaluation process using AI. It's ideal for teams that receive high volumes of applications and want to streamline screening without sacrificing quality. What problem is this workflow solving? Manually reviewing every resume is time-consuming, inconsistent, and often inefficient. This workflow automates the initial screening process by: Extracting resume data directly from incoming emails Analyzing resumes using GPT-4 to evaluate candidate fit Saving scores and notes in Google Sheets for easy filtering It helps teams qualify candidates faster while staying organized. What this workflow does Detects when a new email with a CV is received (Gmail) Filters out non-relevant messages using an AI classifier Extracts the resume text (PDF parsing) Uploads the original file to Google Drive Retrieves job offer details from a connected Google Sheet Uses GPT-4 to evaluate the candidate’s fit for the job Parses the AI output to extract the candidate's score Logs the results into a central Google Sheet Sends a confirmation email to the applicant Setup Install n8n self-hosted Add your OpenAI API Key in the AI nodes Enable the following APIs in your Google Cloud Console: Gmail API Google Drive API Google Sheets API Create OAuth credentials and connect them in n8n Configure your Gmail trigger to watch the inbox receiving CVs Create a Google Sheet with columns like: Candidate, Score, Job, Status, etc. How to customize this workflow to your needs Adjust the AI scoring prompt to match your company’s hiring criteria Add new columns to the Google Sheet for additional metadata Include Slack or email notifications for each qualified candidate Add multiple job profiles and route candidates accordingly Add a Telegram or WhatsApp step to notify HR in real time 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube
by Arlin Perez
📨 Categorize and Label Existing Gmail Emails Automatically with GPT-4o mini 👥 Who's it for This workflow is perfect for individuals or teams who want to sort and label existing emails in their Gmail inbox 🗃️ using AI. Ideal for cleaning up unlabeled emails in bulk — no coding required! For sorting incoming emails messages in your gmail inbox, please use this free workflow: Categorize and Label Incoming Gmail Emails Automatically with GPT-4o mini 🤖 What it does It manually processes a selected number of existing Gmail emails, skips those that already have labels, sends the content to an AI Agent powered by GPT-4o mini 🧠, and applies a relevant Gmail label based on the email content. All labels must already exist in Gmail. ⚙️ How it works ▶️ Manual Trigger – The workflow starts manually when you click "Execute Workflow". 📥 Gmail Get Many Messages – Pulls a batch of existing inbox emails (default: 50). 🚫 Filter – Skips emails that already have one or more labels. 🧠 AI Agent (GPT-4o mini) – Analyzes the content and assigns a category. 🧾 Structured Output Parser – Converts the AI output into structured JSON. 🔀 Switch Node – Routes each email to the right label based on the AI result. 🏷️ Gmail Nodes – Apply the correct Gmail label to the email. 📋 Requirements Gmail account connected to n8n Gmail labels must be manually created in your inbox beforehand Labels must exactly match the category names defined in the AI prompt OpenAI credentials with GPT-4o mini access n8n's AI Agent & Structured Output Parser nodes 🛠️ How to set up In your Gmail account, create all the labels you want to use for categorizing emails Open the workflow and adjust the email fetch limit in the Gmail node (e.g., 50, 100) Confirm that the Filter skips emails that already have labels Define your categories in the AI Agent prompt — these must match the Gmail labels exactly In the Switch Node, create a condition for each label/category Ensure each Gmail Label Node applies the correct existing label Save the workflow and run it manually whenever you want to organize your inbox ✅ 🎨 How to customize the workflow Add or remove categories in the AI prompt & Switch Node Adjust the batch size of emails to process more or fewer per run Fine-tune the AI prompt to suit your inbox type (e.g., work, personal, client support)
by Junichiro Tobe
Who is this for? This workflow is perfect for busy professionals, students, or anyone who struggles to keep their Gmail inbox organized and clutter-free. What problem is this workflow solving? It helps you avoid email overload by automating the process of organizing your Gmail inbox. Unnecessary emails are archived, while important emails are categorized into "MustRead" or "NotNeed" for better prioritization. What this workflow does Connects to your Gmail inbox. Automatically archives emails that are unnecessary or irrelevant. Sorts remaining emails into two categories: MustRead: Emails that require immediate attention. NotNeed: Less critical emails for review later. Setup Connect your Gmail account to the workflow. Define the criteria for "MustRead" and "NotNeed" emails by updating the filter rules in the nodes. Activate the workflow to start organizing your inbox. How to customize this workflow to your needs Adjust the filters for archiving emails based on your specific preferences. Modify the sorting rules for "MustRead" and "NotNeed" categories to match your workflow. Add additional actions, such as sending notifications for "MustRead" emails.
by n8n Team
This workflow pushes Stripe charges to HubSpot contacts. It uses the Stripe API to get all charges and the HubSpot API to update the contacts. The workflow will create a new HubSpot property to store the total amount charged. If the property already exists, it will update the property. Prerequisites Stripe credentials. HubSpot credentials. How it works On a schedule, check if the property exists in HubSpot. If it doesn't exist, create it. The default schedule is once a day at midnight. Once property is acertained, the first Stripe node gets all charges. Once the charges are returned, the second Stripe node gets extra customer information. Once the customer information is returned, Merge data node will merge the customer information with the charges so that the next node Aggregate totals can calculate the total amount charged per contact. Once we have the total amount charged per contact, the Create or update customer node will create a new HubSpot contact if it doesn't exist or update the contact if it does exist with the total amount charged.
by Billy Christi
Who is this for? This workflow is ideal for: HR professionals* and *recruiters** who want to automate and enhance the hiring process Organizations** seeking AI-driven, consistent, and data-backed candidate evaluations Hiring managers** using Airtable as their recruitment database What problem is this workflow solving? Screening candidates manually is time-consuming, inconsistent, and difficult to scale. This workflow solves that by: Automating resume intake and AI evaluation** Matching candidates to job postings dynamically** Generating standardized suitability reports** Notifying HR only when candidates meet the criteria** Storing all applications in a structured Airtable database** What this workflow does This workflow builds an end-to-end AI-powered hiring pipeline using Airtable, OpenAI, and Google Drive. Here's how it works: Accept candidate applications via a public web form, including resume upload (PDF only) Extract text from uploaded resumes for processing Store resumes in Google Drive and generate shareable links Match the application to a job posting stored in Airtable Use AI to evaluate candidates (via OpenAI GPT-4) against job descriptions and requirements Generate suitability results including: Match percentage Screening status: Suitable, Not Suitable, Under Review Detailed notes Combine AI output and files into one data object Create a new candidate record in Airtable with all application data Automatically notify HR via Gmail if a candidate is marked “Suitable” Setup View & Copy the Airtable base here: 👉 Candidate Screening – Airtable Base Template Set up Google Drive folder Connect your OpenAI API key for the AI agent model Connect your Gmail account for email notifications Deploy the public-facing form to start receiving applications Test the workflow using a sample job and resume How to customize this workflow to your needs Expand file support**: Allow DOC or DOCX uploads by adding format conversion nodes Add multi-recipient email alerts**: Extend Gmail node for multiple HR recipients Handle “Under Review” differently**: Add additional logic to notify or flag these candidates Send rejection emails automatically**: Extend the IF branch for “Not Suitable” candidates Schedule interviews**: Integrate with Google Calendar or Calendly APIs Add Slack notifications**: Send alerts to team channels for real-time updates
by Oskar
This workflow uses AI to analyze the content of every new message in Gmail and then assigns specific labels, according to the context of the email. Default configuration of the workflow includes 3 labels: „Partnership” - email about sponsored content or cooperation, „Inquiry” - email about products, services, „Notification” - email that doesn't require response. You can add or edit labels and descriptions according to your use case. 🎬 See this workflow in action in my YouTube video about automating Gmail. How it works? Gmail trigger performs polling every minute for new messages (you can change the trigger interval according to your needs). The email content is then downloaded and forwarded to an AI chain. 💡 The prompt in the AI chain node includes instructions for applying labels according to the email content - change label names and instructions to fit your use case. Next, the workflow retrieves all labels from the Gmail account and compares them with the label names returned from the AI chain. Label IDs are aggregated and applied to processed email messages. ⚠️ Label names in the Gmail account and workflow (prompt, JSON schema) must be the same. Set up steps Set credentials for Gmail and OpenAI. Add labels to your Gmail account (e.g. „Partnership”, „Inquiry” and „Notification”). Change prompt in AI chain node (update list of label names and instructions). Change list of available labels in JSON schema in parser node. Optionally: change polling interval in Gmail trigger (by default interval is 1 minute). If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.
by Pauline
This workflow automatically does the following: Scrapes comments and likes from a LinkedIn post. Adds contact data (nominative and verified email address, gender, standardized first name and last name, all legal company information). Adds these contacts to Airtable. Sends an ultra-personalized cold email sequence. Sends a Linkedin invitation after the cold email sending. Pushes all contacts to HubSpot. Prerequisites A Phantombuster account and credentials A Lemlist account and credentials A Dropcontact account and credentials A HubSpot account and credentials How it works Cron node executes the workflow every hour. Phantombuster node (Launch agent) launches the "LinkedIn Post Likers" phantom and the "LinkedIn Post Commenters" phantom. Note that you have to create these phantoms before setting your workflow automation. Phantombuster node (Get Output agent)** gets results from the previous phantoms. Dropcontact node fetches the new contact information and returns the data of the person and the company associated with the email address, job function, and all legal information. Airtable node (List) lists all the records in the Contacts table. IF node routes the workflow based on whether a contact is in Airtable. Set node sets the required data for the following nodes. Airtable node (Update)** updates the record's name. Airtable node (Append)** creates a record if the account doesn't exist yet. Lemlist node adds a contact to an existing campaign. Phantombuster node (Launch agent)** launches the "LinkedIn Network Booster" phantom. Note that you have to create these phantoms before setting your automation. Hubspot node creates or updates the contacts in the HubSpot CRM.
by David
Who might benfit from this workflow? Everyone organizing him/herself by using a notion database for tasks but losing track on some important tasks having a deadline. The weekly reminder helps you to not forget about your notion tasks. How it works: The workflow fetches all your notion tasks from a desired database but the closed ones It generates a html template for each tasks containing a headline and a short list of key data (prio, status deadline, tags) It creates two groups based on the deadline date if a task is already overdue or not It generates a complete html email containing both groups and some sugar around them It sends the email to your desired email It uses Pushover to send you a push notification to your phone It is scheduled by the beginning of each week How to set it up: Fill out the "Set Workflow vars" node with your data Connect your notion account and select the database your tasks are stored at define the status filters to the ones you are using for your tasks Setup your email server to enable the email node to deliver your html email Create a Pushover account and setup the authentication for the Pushover node Adjust the last html node to change email style for your desire How to customize this workflow for your needs? You might adjust the filtering of the notion fetch node to filter for other statuses than provided in the example. You apply your custom design to the html email You could remove the filter which is filtering for tasks having a deadline and just send yourself a reminder for all tasks You need help implementing this or any other n8n workflow? Feel free to contact me via LinkedIn or my business website. You want to start using n8n? Use this link to register for n8n (This is an affiliate link)
by Jimleuk
This n8n template demonstrates how to calculate the evaluation metric "Correctness" which in this scenario, measures the compares and classifies the agent's response against a set of ground truths. The scoring approach is adapted from the open-source evaluations project RAGAS and you can see the source here https://github.com/explodinggradients/ragas/blob/main/ragas/src/ragas/metrics/_answer_correctness.py How it works This evaluation works best where the agent's response is allowed to be more verbose and conversational. For our scoring, we classify the agent's response into 3 buckets: True Positive (in answer and ground truth), False Positive (in answer but not ground truth) and False Negative (not in answer but in ground truth). We also calculate an average similarity score on the agent's response against all ground truths. The classification and the similarity score is then averaged to give the final score. A high score indicates the agent is accurate whereas a low score could indicate the agent has incorrect training data or is not providing a comprehensive enough answer. Requirements n8n version 1.94+ Check out this Google Sheet for a sample data https://docs.google.com/spreadsheets/d/1YOnu2JJjlxd787AuYcg-wKbkjyjyZFgASYVV0jsij5Y/edit?usp=sharing
by hana
How it works Fetch transaction notification emails (including attachments) Clean up data Let AI (Basic LLM Chain node) generate bookkeeping item Send to Google sheet Details The example fetch email from Gmail lables, suggested using filters to automatically orgianize email into the labels Data will send to "raw data" sheet Example google sheet: https://docs.google.com/spreadsheets/d/1_IhdHj8bxtsfH2MRqKuU2LzJuzm4DaeKSw46eFcyYts/edit?gid=1617968863#gid=1617968863
by Kumar Shivam
This workflow automates the restaurant POS (Point of Sale) data management process, facilitating seamless order handling, customer tracking, inventory management, and sales reporting. It retrieves order details, processes payment information, updates inventory, and generates real-time sales reports, all integrated into a centralized system that improves restaurant operations. The workflow integrates various systems, including a POS terminal to gather order data, payment gateways to process transactions, inventory management tools to update stock, and reporting tools like Google Sheets or an internal database for generating sales and performance reports. Who Needs Restaurant POS Automation? This POS automation workflow is ideal for restaurant owners, managers, and staff looking to streamline their operations: Restaurant Owners – Automate order processing, track sales, and monitor inventory to ensure smooth operations. Managers – Access real-time sales data and performance reports to make informed decisions. Staff – Reduce manual work, focusing on providing better customer service while the system handles orders and payments. Inventory Teams – Automatically update inventory levels based on orders and ingredient usage. If you need a reliable and automated POS solution to manage restaurant orders, payments, inventory, and reporting, this workflow minimizes human error, boosts efficiency, and saves valuable time. Why Use This Workflow? End-to-End Automation – Automates everything from order input to inventory updates and sales reporting. Seamless Integration – Connects POS, payment systems, inventory management, and reporting tools for smooth data flow.(if needed) Real-Time Data – Provides up-to-the-minute reports on sales, stock levels, and order statuses. Scalable & Efficient – Supports multiple locations, multiple users, and high order volumes. Step-by-Step: How This Workflow Manages POS Data Collect Orders – Retrieves order details from the POS system, including customer information, ordered items, and payment details. Update Inventory – Decreases inventory levels based on sold items, ensuring stock counts are always accurate. Generate Reports – Compiles sales, revenue, and inventory data into real-time reports and stores them in Google Sheets or an internal database. Track Customer Data – Keeps a log of customer details and order history for better service and marketing insights. Customization: Tailor to Your Needs Multiple POS Systems – Adapt the workflow to work with different POS systems or terminals based on your restaurant setup. Custom Reporting – Modify the reporting format or include specific sales metrics (e.g., daily totals, best-selling items, employee performance). Inventory Management – Adjust inventory updates to include alerts when stock reaches critical levels or needs reordering. Integration with Accounting Software – Connect with platforms like QuickBooks for automated financial tracking. 🔑 Prerequisites POS System Integration – Ensure the POS system can export order data in a compatible format. Payment Gateway API – Set up the necessary API keys for payment processing (e.g., Stripe, PayPal). Inventory Management Tools – Use inventory software or databases that can automatically update stock levels. Reporting Tools – Use Google Sheets or an internal database to store and generate sales and inventory reports. 🚀 Installation & Setup Configure Credentials Set up API credentials for payment gateways and inventory management tools. Import Workflow Import the workflow into your automation platform (e.g., n8n, Zapier). Link POS system, payment gateway, and inventory management systems. Test & Run Process a test order to ensure that data flows correctly through each step. Verify that inventory updates and reports are generated as expected. ⚠ Important Data Privacy – Ensure compliance with data protection regulations (e.g., GDPR, PCI DSS) when handling customer payment and order data. System Downtime – Monitor system performance to ensure that the workflow runs without disruptions during peak hours. Summary This restaurant POS automation workflow integrates order management, payment processing, inventory updates, and real-time reporting, enabling efficient restaurant operations. Whether you are running a single location or a chain of restaurants, this solution streamlines daily tasks, reduces errors, and provides valuable insights, saving time and improving customer satisfaction. 🚀
by Eric Mooney
Usecase: When a new service ticket is created in Taiga, it's often unclear whether it contains sufficient details to begin work. This workflow automates the triage process by: Using an AI model to extract key information from the ticket description. Automatically assigning values for: Type (Bug, Enhancement, Onboarding, Question) Severity (Wishlist, Minor, Normal, Important, Critical) Priority (Low, Normal, High) Status (New, Needs More Info, etc.) Detecting missing critical data and blocking the ticket if incomplete. Setup instructions here: https://github.com/emooney/Service_Ticket_Triage_Helper