Skip to content

Google Sheets integration · Apps Script

Parse a folder of CVs into Google Sheets

Paste one Apps Script into your sheet and get a HireLayer menu: pick a Google Drive folder and every CV becomes a row with name, email, phone, job title, city, skills and languages. Two formulas score candidates against a job and normalize skills.

Install
Extensions → Apps Script, paste, save
Menu
Parse CVs from a Drive folder
Formulas
=HIRELAYER_SCORE(), =HIRELAYER_SKILLS()
Cost
1 credit per CV; formula results cached 6 hours
Google Sheets + HireLayer
  1. 1A Drive folder of CVsGoogle SheetsPDF, Word, OpenDocument, text and image files, for example the folder where your careers form stores uploads.
  2. 2Parse each CVHireLayerThe script sends every file not yet in the sheet to HireLayer and reads back the candidate data.
  3. 3One row per candidateGoogle SheetsA Candidates tab gets name, email, phone, job title, city, country, LinkedIn, experience level, skills and languages.
  4. 4Score in a formulaHireLayer=HIRELAYER_SCORE(job, resume) returns a match score from 0 to 1 that you can sort and filter.

Use cases

What the script does for small recruiting teams

  • A candidate database without an ATS

    Collect CVs in one Drive folder and run the menu after each batch: the sheet becomes a searchable list you can filter by city, skill or langage.

  • Screen a pile of applications

    Paste the job description in a cell, then fill a column with =HIRELAYER_SCORE($B$1, text) to sort applicants from the strongest match to the weekest.

  • Clean skill lists

    =HIRELAYER_SKILLS(A2) turns “react.js, anglais courant, pack office” into standard skill names you can count with COUNTIF.

  • Hand-off to Excel

    Download the sheet as .xlsx or CSV to import the candidates in another tool. Every column is plain text, no add-on needed to open it.

Setup

Install the script

It takes about two minutes. The script runs under your Google account; HireLayer only receives the files you parse.

  1. 1

    Paste the script

    In your Google Sheet, open Extensions → Apps Script, replace the content of Code.gs with the downloaded script, and save.

  2. 2

    Set your API key

    Reload the sheet. In the new HireLayer menu choose Set API key and paste a key from your HireLayer dashboard. Google asks you to authorize the script the first time.

  3. 3

    Parse a folder

    Choose HireLayer → Parse CVs from a Drive folder and paste the folder URL. A Candidates tab is created and filled. Files already in the tab are skipped, so you can run it again after adding CVs.

  4. 4

    Use the formulas

    Score or normalize from any cell (sheets set to a European locale use ; instead of , between arguments). Results are cached for six hours, so recalculating the sheet does not spend credits again.

    Formulastext
    B1   Senior React Developer, Paris…  (the job description)
    E2   =HIRELAYER_SCORE($B$1, D2)      → 0.87
    F2   =HIRELAYER_SKILLS(K2)           → React, TypeScript, Leadership
    G2   =HIRELAYER_SKILLS(K2, "fr")     → names in French

Field mapping

Columns of the Candidates tab

HireLayer fieldSheet columnNote
info_candidate.full_nameFull name
info_candidate.emailEmail
info_candidate.phone_numberPhone
info_candidate.job_titleJob title
info_candidate.location.city / .countryCity, Country
skills[].skill_titleSkillsComma-separated
languages[].language + levelLanguagese.g. English (C2)

Example

Read the script before you paste it

The script is short and commented. It calls three HireLayer endpoints and nothing else, keeps your key in the script properties, and writes only to the Candidates tab.

Download the Apps Script
Excerpt: one parsejavascript
var result = hirelayerRequest_('post', '/api/v3/parser', {
  form: { file: current.getBlob(), application_id: current.getId() },
  timeoutSeconds: 150,
});
sheet.appendRow(hirelayerRow_(current, result));

Limits

Good to know

  • About 6 CVs per run

    Apps Script stops a run after 6 minutes and a parse takes about 35 seconds. The script stops starting new files after 4 minutes and tells you how many are left: run the menu again to continue.

  • Parsing is not a formula

    Google limits formulas to 30 seconds, less than a parse takes, so parsing runs from the menu. Scoring and skills are fast enough for formulas.

  • Who can see the key

    The API key is stored in the script properties, readable by anyone who can edit the script. Use a dedicated key and revoke it from your dashboard if the sheet changes hands.

  • Google quotas

    Personal Google accounts can make 20,000 external calls a day and Workspace accounts 100,000, far above what the 6-minute runs alow.

FAQ

HireLayer and Google Sheets: questions

How do I extract resume data into Google Sheets?

Install the HireLayer Apps Script in your sheet, set your API key, then run HireLayer → Parse CVs from a Drive folder. Each CV in the folder becomes a row with contact details, job title, location, skills and languages.

Can I get the data in Excel?

Yes. Download the Google Sheet as .xlsx with File → Download → Microsoft Excel. To parse directly from Excel, use the Power Automate connector instead.

Why is there no =PARSE_RESUME() formula?

Google stops formulas after 30 seconds and parsing a CV takes about 35. Parsing runs from the menu instead, which can work for up to 6 minutes per run.

How much does it cost?

Each parsed CV uses 1 HireLayer credit, a score uses 1 (plus 1 the first time a job is used) and a skills formula uses 1. The Free plan includes 50 credits a month.

Is it an official Google add-on?

No. It is an open script you paste into your own sheet, not a Google Workspace Marketplace add-on, so you can read every line before you run it.

Connect Google Sheets to HireLayer today

The Free plan includes 50 credits a month, no card required. One successful call is one credit, on every API.