What this covers
If you came here to import candidates CSV into ATS data, or bulk upload candidates to ATS from an old system, start with the format ATS Mako parses on import: PDF and Word resumes. ATS Mako reads each resume, pulls the text and key fields into a structured candidate record, and scores every applicant against your rating keywords at the moment of bulk import. Candidates land already rated, not waiting in an untouched queue.
Why an import can go wrong
When imported candidates look incomplete, unsorted or doubled up, the cause is usually in the preparation, not the import. Common causes:
- Files are not PDF or Word, so there is nothing for parsing to read in the expected way.
- Rating keywords were not set for the role before import, so scores do not reflect what you care about.
- The same candidate appears more than once in your source folder.
- Resumes are photos or scans rather than text documents, which leaves little readable text.
- Files from several roles were mixed into one batch, so one set of keywords scored everyone.
Before you import: prepare your files
Spend ten minutes here and you save an afternoon of cleanup later.
Handling duplicates and opt-in status
Remove duplicate resumes from your source folder before you upload. It is easier to delete a file than to merge records afterward. If your old system or upload candidate spreadsheet ATS export tracks who agreed to receive texts or emails, keep that list alongside your import. Check your own consent records before you message imported candidates in bulk.
Pre-import checklist
[ ] All resumes are PDF or Word files [ ] One folder per role or requisition [ ] Duplicate files removed [ ] Scanned or image-only resumes set aside for manual review [ ] Rating keywords set for each role [ ] Consent records from your old system saved separately
Copy this into your setup notes and tick it off for each batch.
Run the import and review results
- 1 Group files by role Put each role's resumes in its own batch. Scoring uses the keywords you set for that role, so mixed batches give misleading scores.
- 2 Set your rating keywords first Define the keywords that matter for the role before you import. Scoring runs at the moment of import, so keywords added later will not have shaped this batch's first pass.
- 3 Start the bulk import Feed in the batch of PDF and Word resumes at once. Parsing and keyword scoring run on import, so there is no separate step to trigger.
- 4 Spot-check parsed records Open a handful of new records. Confirm the name, contact details, titles and skills came through cleanly.
- 5 Sort by score and act Start with the strongest keyword matches. Use bulk actions for candidates to message or move whole groups once they are reviewed.
How to confirm it worked
| Check | What good looks like | If not |
|---|---|---|
| Record count | Every resume in the batch has a candidate record | Look for files that were not PDF or Word |
| Name and contact details | Filled in on spot-checked records | Review the source file; image-only resumes may need manual entry |
| Titles and skills | Pulled from the resume into the record | Confirm the resume is a text document, not a scan |
| Keyword score | Each candidate has a score that matches your priorities | Confirm the right keywords were set before import |
Keyword scoring is a fast, transparent first pass. It is separate from AI ranking, which is another layer for surfacing your best candidates. Read more about how resume parsing and CV scoring work.
Fixing common import errors
- Scores look wrong: adjust the rating keywords for that role, then use them on your next batch.
- Duplicate candidates: clean the source folder before re-importing anything.
- Thin records: check whether the original resume is a scan or photo and update the record by hand.
- New applications keep arriving by email: set up email-to-ATS application capture so you do not need repeat imports.
When to contact support
Contact support if your candidate data is only in a spreadsheet, if a batch of valid PDF or Word resumes produces no records, or if parsed fields are consistently empty across clean text files. Include the role, the number of files in the batch and an example file name so the issue can be traced quickly.
Bring your candidates in already sorted
See bulk resume import, parsing and keyword scoring inside your own branded ATS. Book a demo.