> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hellorecruiter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Adding Candidates and Uploading Resumes

> Add candidates to a job by uploading resumes, one at a time, several at once, or in a ZIP. Track each upload in the Processing Queue and fix anything that fails.

> [!NOTE]
>
> **Who is this for?** Users with the **Organisation Administrator** and **Recruiter** roles.

Most candidates find your job and apply on their own. You can also add people yourself: upload a resume, a handful of resumes, or a ZIP full of them. Each resume becomes a candidate on the job, and Hello Recruiter reads it to fill in their profile and screen them, just like an application.

Reading takes a little while, and sometimes a file can't be read. The **Processing Queue** shows you what is still being read, what failed, and what to do about it.

## Adding Candidates to a Job

**1. Open the job's Candidates page**

Go to **Jobs** and click the job on the [job board](https://docs.hellorecruiter.ai/companies/jobs/job-board.md). Its **Candidates** page opens.

**2. Click Add Candidate**

The button sits at the top right, next to the stage tabs. The **Add Candidates** window opens.

**3. Drop in your files**

Drag files into the box, or click it to browse. You can add files more than once. Remove any you don't want with the small remove button on each file.

**4. Upload**

Click **Upload**. When it finishes, you'll see a message pointing you to the **Processing Queue**. The window closes and the candidates appear as their resumes are read.

![Add Candidates window with the drop box and the upload limits](https://mintcdn.com/hellorecruiter/ZcMESe4jDWnk7Xj8/images/screenshots/add-candidates-dialog.webp?fit=max\&auto=format\&n=ZcMESe4jDWnk7Xj8\&q=85\&s=f395530e8a41bf8089a38b3a2876bcc7)

The Add Candidates window, with its limits under the drop box

### What You Can Upload

| You upload | What happens |
| - | - |
| **One resume** | One candidate is added |
| **Several resumes** | One candidate is added for each resume |
| **A ZIP of resumes** | Hello Recruiter opens the ZIP and adds one candidate for each resume inside |

Resumes can be **.pdf**, **.doc**, or **.docx** files. You can also add a **.zip**.

| Limit | Amount |
| - | - |
| Files in one upload | Up to **10** |
| ZIP files in one upload | **1** |
| Size of one resume | Up to **10 MB** |
| Size of the whole upload | Up to **100 MB** |
| Resumes inside a ZIP | Up to **300** |

If you go over a limit, the window tells you straight away and nothing is uploaded. For example: **Only one ZIP file is allowed**, or that a named file is larger than 10 MB.

> [!NOTE]
>
> **You can only add candidates while your plan has room.** If your plan's candidate limit is reached, the **Add Candidate** button is locked and shows a lock icon. Hover over it to see why. If you pick more single resumes than you have room for, you'll be told how many more you can add. A ZIP isn't counted until it's opened, so its size can't be checked in advance.

## ZIP Files

A ZIP is the quickest way to add a whole batch, such as resumes you collected at an event or exported from another system.

* **Folders are fine.** Resumes can sit in folders inside the ZIP. Each file keeps its own name, and its folder path is shown if it fails.
* **A ZIP can hold other ZIPs**, up to **3 levels** deep. A ZIP inside a ZIP can be as large as an upload (100 MB).
* **Everything inside must fit these limits:**

| ZIP limit | Amount |
| - | - |
| Files in the ZIP, including those in inner ZIPs | Up to **300** |
| Size of each resume | Up to **10 MB** |
| Size of the whole ZIP once unpacked | Up to **1 GB** |
| ZIPs inside ZIPs | Up to **3 levels** |

* **System files are ignored.** The hidden files that Mac and Windows add when they make a ZIP (such as `__MACOSX`, `.DS_Store`, and `Thumbs.db`) are skipped and never shown as failures.
* **Other file types are listed, not lost.** A file in the ZIP that isn't a PDF, Word file, or ZIP, such as a text file, a picture, or a file with no ending, is not added as a candidate. It shows up in the **Failed** tab with its full path inside the ZIP, so you can see exactly which files were left out.

> [!WARNING]
>
> **A ZIP that breaks a whole-ZIP limit adds nothing.** If it's damaged, holds too many files, is too large once unpacked, is nested too deeply, or looks unsafe, the whole ZIP is refused before any resume is added. This means you can fix it and upload it again without creating duplicates. The refusal shows in the **Failed** tab, with advice on how to fix it.

> [!TIP]
>
> If a ZIP is refused for being too big or holding too many files, split the resumes into several smaller ZIPs and upload each one.

## The Processing Queue

Open the **three-dot menu** at the top right of the job page and click **Processing queue**. The menu line summarizes what's happening, for example "3 pending" or "2 failed". It says "Unpacking zip" while a ZIP is being opened, and "Nothing waiting" when everything is done.

![Job menu with Share, Duplicate, Processing queue reading Nothing waiting, Follow, and Delete](https://mintcdn.com/hellorecruiter/ZcMESe4jDWnk7Xj8/images/screenshots/job-menu-processing-queue.webp?fit=max\&auto=format\&n=ZcMESe4jDWnk7Xj8\&q=85\&s=c6953610deeb5b32a36b2f0a69cfae1c)

The job's three-dot menu, with the Processing queue line

### The Activity Dot

A small dot on the three-dot button tells you there's something to look at, so you don't have to open the menu to check.

| Dot | Meaning |
| - | - |
| **Red** | There are new failures you haven't looked at |
| **Purple** | Resumes are being read now |
| **Grey** | Resumes are still being read, and you've already seen it |
| No dot | Nothing is waiting |

The dot clears when you open the three-dot menu. It is remembered for you in this browser, per job.

### Pending

**Pending** lists resumes that are being read right now. Each row shows the candidate, or the file name if there's no name yet, and how long it has been waiting. The list refreshes by itself while work is going on, so you can leave it open. When a resume is done, the candidate leaves the queue and appears in the pipeline.

While a ZIP is being opened, the tab says **Unpacking your zip**. Its resumes appear one by one as they are read.

A resume that takes more than 30 minutes is treated as stuck. It moves to the **Failed** tab with a **Retry** button.

### Failed

**Failed** lists everything that couldn't be added. Each row shows:

* **Candidate**: the candidate's name and email when known (click the email to write to them), or the file name and folder path when not
* **What happened**: the reason, in plain words
* **What to do**: the next step, with the action buttons

The tab count shows how many rows there are. If a very long list builds up, the window shows the newest 500 and says so.

### What the Messages Mean

| What happened | What it tells you to do |
| - | - |
| This file is damaged and could not be opened. | If the candidate applied themselves: ask them to send their resume again. If you uploaded it: open the original file to check it, then upload a working copy. |
| This file type is not supported. | Upload the resume as a PDF or Word file. |
| This file is too large to process. | If the candidate applied themselves: ask for a smaller copy. If you uploaded it: save a smaller copy, such as a PDF export, and upload that. |
| This file did not pass a security check. | If the candidate applied themselves: ask them to send their resume again. If you uploaded it: don't open the file. Get a clean copy from wherever it came from. |
| Something went wrong while reading this file. | The file looks fine, so this is worth retrying. |
| This resume is taking far longer than expected to read. | Retry it, or upload the file again if retrying doesn't help. |
| Screening for this application never finished. | Retry it to screen it now. |
| This zip is damaged and could not be opened, so none of its resumes were added. | Zip the original resumes again and upload the new file. |
| This zip holds more files than one upload allows, so none of its resumes were added. | Split the resumes into smaller zips and upload each one. |
| This zip is too large once unpacked, so none of its resumes were added. | Split the resumes into smaller zips and upload each one. |
| This zip has zips inside zips nested too deeply, so none of its resumes were added. | Unzip the inner zips and upload the resumes directly. |
| This zip did not pass a security check, so none of its resumes were added. | Zip the original resumes again and upload the new file. |
| This zip stopped partway through. | Some of its resumes may already be here, so check the candidate list before uploading it again. |

### Retry, Remove, and Dismiss

Each failed row has small buttons on the right. Hover over a button to see its name.

| Button | Where it appears | What it does |
| - | - | - |
| **Retry** | On a failed application, only when trying again could help (a stuck resume, an unfinished screening, or a general reading error) | Starts reading the same resume again. The row moves back to **Pending** |
| **Remove application** | On every failed application, with or without **Retry** | Asks **Remove this application?**, and on **Remove** takes the person off this job. This can't be undone, and the candidate isn't told |
| **Dismiss** | On a file that was refused before it became a candidate, such as a refused ZIP or an unsupported file inside a ZIP | Clears the row from the list. There's nothing to retry, so fix the file and upload it again |

> [!NOTE]
>
> **Retry won't help a file that is damaged, too large, or the wrong type.** Those rows have no **Retry** button, because reading the same file again would give the same result. Replace the file instead, then **Remove** the old failed application so the list stays tidy.

If a row has already changed by the time you click, for example someone else on your team retried it, you'll see **Already changed** and the list refreshes.

## Related Guides

> [card] [Viewing Candidates](https://docs.hellorecruiter.ai/companies/candidates/viewing-candidates.md)

> [card] [Application Forms](https://docs.hellorecruiter.ai/companies/jobs/application-forms.md)

> [card] [Application Flow](https://docs.hellorecruiter.ai/companies/candidates/candidate-application-flow.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.