min read

How to automate data extraction from CVs using AI

How to automate the extraction of data from the CV with AI

If you're tired of manually extracting data from resumes and want to automate the process, you've found the right place! In this article, we'll guide you step by step on how to extract data from resumes with the help of artificial intelligence.

Curriculum analysis through a Make Workflow using Google Drive, OpenAI and Gmail connectors

Here's a workflow that automatically extracts data from resumes saved as PDF files. This process saves time and is crucial in sectors such as:

  • HR
  • Hiring Manager
  • Recruiter

Such a workflow helps you save time and reduce manual tasks such as:

  • Extracting data from a resume.
  • Comparison between a resume and job descriptions.
  • Sharing candidate information in a message.

Free yourself from the burden of manually extracting data and learn how to automate the process with our guide.

Step 1: Prerequisites

Before you begin, make sure you have the following prerequisites:

  • An account on Make
  • A connection to Google Drive
  • An OpenAI subscription with access to the GPT-4 model
  • A Gmail connection

Step 2: Configuring the Workflow

We'll use Make to orchestrate our workflow, which includes 1 Trigger, 9 actions, and 1 Flow Control. Start by setting up the following workflow:

1. Google Drive- Watch New Files

Use a trigger to monitor the addition of new files in the Google Drive folder containing the resumes. Remember that this form is only activated if the file is new, so, for example, if it's used for testing purposes, it's a good practice to move the file out of the folder and then back inside!

2. Google Drive- Download Files

The first stock consists of downloading the CV file to make it accessible for subsequent steps.

3. PDF.co- Convert to Text

Use the action PDF.co to convert PDF files to text for deeper analysis.

For simplicity, let's set the Execution Mode to asynchronous and the export type to JSON.

4.1 OPEN AI- Create a Completion_CV Analysis

Select an OpenAI template to analyze the content of resumes and extract relevant information.

This is also the phase where the art of prompt engineering comes into play. In this scenario we have 2 roles:

  • System: Context and General Background
  • User: Specific Indications and Guidelines

And 2 correspondents contents of the message:

  • System: Act as an 'X' role
  • User: Analyze 'A', provide 'B' with 'C' format

This will allow you to optimize your notes based on your preferences and specifications.

Curious to further explore the differences between roles? Feel free to consult the documentation of the Chat Completions API.

As shown in the previous screenshots, we have:

  • Role of the System → acts like attendant in the process of recruitment
  • User Role → set hierarchies And the nested structure ofthe JSON (the more specific and precise you are at this stage, the easier it is for OpenAI to analyze your CV and obtain the desired information)

4.2 IGNORE

This is a temporary solution for managing wrongs in Make.

OpenAI usually runs into a lot of runtime errors that we can't control as a third-party service, and if you don't have an error handler, your scenario stops.

This is crucial for skipping the following steps when OpenAI's previous chat completion action generates an error. However, if that doesn't happen, you can proceed with the next steps without a problem.

5. Google Drive- Move to File/Folder

Organize the analyzed resumes by moving them to a separate folder on Google Drive.

6. JSON

Create a JSON data structure and use the information collected in the previous step:

4.1 OPEN AI- Create a Completion_CV Analysis

7. Google Sheet- Add a Row

Create a Google sheet and Add one line for each CV analyzed.

Create a column for each field you analyzed:

  • Name
  • Comment
  • Last educational qualification obtained
  • School
  • Years of experience
  • ...

This depends on the fields specified when using OpenAI actions with a custom prompt as described in the section 4. Create a Completion - CV Analysis

In your data structure, you have a section dedicated to work history, which contains information such as the Job title, company and duration. Here's an example:

To get the role and company from each work history record, you can use a combination of the built-in flatten and map functions. This will allow you to easily extract the desired information from your data structure:

8. OPEN AI- Create a Completion_Email Draft

Have an OpenAI template write a draft email with a summary of the candidate and the attached resume. Two roles are involved:

  • System → Act as a business manager by introducing a consultant for a project proposal
  • User → Specify the piece of information needed to draft the proposal. In this case, the CV data analyzed and saved in a Google sheet with custom fields

9. MARKDOWN- Generate Markdown

Use the content from the passage 7. Create a Completion - Email Draft to create a Markdown format optimized for displaying information.

10. GMAIL- Create a Mail Draft

Create a draft email using the candidate's summary and attached resume.

Step 3: Final Result

Et voilà

Here's what your draft email looks like 👇🏽

Congratulations! 🚀

Now you can save valuable time and make more informed hiring decisions. Don't forget to review the content before sending emails to candidates. 👀

Do you want to know more about how to optimize your personnel selection processes? Watch the our video tutorial on YouTube for an interactive step-by-step guide.

Don't forget to subscribe to Soraia Channel to stay updated on other use cases and automations 🤖

Good automation!

Tools Used

Get your free eBook

Learn how to prevent misunderstandings, delays, and budget overruns.

Have you already struggled changing software?
Discover real-world case studies and proven strategies to build a smooth, hassle-free collaboration with your vendor.
Get it for free
Success! Please check your email.
🎁 We've just sent you a link to access your eBook.
Oops! Something went wrong while submitting the form.
Latest articles

You might also be interested in

Don’t just take our word for it

Watch and listen what some of our amazing customers say about us.

Rolf Kosakowski

CEO & Founder, KB&B
Family Marketing Experts

Russell Fyfe

Head of Product, Rainplan
Incentives for Stormwater

Gabriella Bruzzone

CMO, Stars Be Original
Recruiting for Tourist Resorts

Guillem Llacuna

Co-Founder, Talent Match
HR and Recruitment Consulting

Gianluca Di Donato

CEO & Founder, Utravel
Travels for Young Generations

Frequently asked questions

Everything you need to know before starting a project with us.
How do you ensure successful software adoption by my team?

We prioritize user-friendly design and build tools that match your real-world workflows. By involving stakeholders early, iterating quickly with visual development, and offering multilingual support and smooth onboarding, we make sure your team actually uses and loves the tools we build—no massive training required.

Why choose no-code/low-code development over traditional coding?

No-code and low-code platforms allow us to build scalable, secure, and cost-effective applications faster than traditional development. This means shorter launch cycles, easier updates, and intuitive interfaces that require less training—without compromising performance or customization.

What industries do you work with for software development and automation?

We’ve successfully delivered software and automation solutions for startups, marketing agencies, tourism companies, logistics, and financial services across more than 10 countries. If your team is drowning in Excel files or switching between outdated tools, we can help modernize your tech stack and align it with your business goals.

How can automation and AI improve productivity in my company?

By automating time-consuming tasks like data entry, email responses, document processing, and reporting, we free your team to focus on high-value work. Our AI integrations help uncover actionable insights, personalize user experiences, and reduce human error—leading to significant time savings and improved operational efficiency.

What types of AI-powered software can you build for my business?

We specialize in building custom AI-powered software tailored to your specific workflows. From automating repetitive tasks to creating AI chatbots, predictive analytics, and CRM tools, our solutions are built to reduce manual work, improve team efficiency, and deliver data-driven insights. Whether you need internal tools or customer-facing applications, we ensure your team will love using them.

How do you protect clients from vendor lock-in with your software solutions?

We build custom applications using open standards, modular architecture, and well-documented APIs—ensuring you can evolve or migrate your system without being tied to one platform, developer, or tool. You maintain full ownership and control of your code, infrastructure, and data.

How do you ensure your software is scalable as our business grows?

Our solutions are designed on modern, cloud-based architecture using scalable databases and flexible backend systems. We future-proof your product by anticipating growth, integrating performance monitoring, and enabling smooth upgrades as your team and customer base expand.

What is your development process, and how will I stay updated?

We follow an agile, iterative development process with weekly check-ins, demo sessions, and transparent project management tools. From kickoff to launch, you'll have visibility over progress, direct contact with our team, and shared access to documentation and prototypes.

How long does it take to build a custom web or mobile application?

Timelines vary based on complexity, but most projects take between 4 to 12 months. We prioritize speed without sacrificing quality by using no-code/low-code tools and streamlined collaboration—delivering fast results and early value.

What’s the difference between a website and a web application?

A website displays content and is often static, while a web application is interactive and dynamic—built to perform specific functions like processing data, handling user input, and connecting with databases. Think of your banking dashboard or CRM system: that’s a web app.

Still have questions?
Can’t find the answer you’re looking for? Please chat to our friendly team.