◈ Mail → Excel

Export Recruiter emails to Excel

By the Mail → Excel team · Updated 2026-10-20

Four steps, one command, and a completeness check at the end — for applications and CVs into a pipeline.

Step 1 — connect read-only

Use an app password, never the main password. The script opens the folder in read-only mode, so nothing is marked as read or deleted.

python mail_to_excel.py --host imap.example.com --user you@example.com --days 31 --fields candidate,email,role,source,stage --out recruiter.xlsx

Step 2 — filter to one period

A month or a quarter, not «everything». Applications arrive faster than anyone updates the ATS. A weekly export keeps the pipeline honest.

Step 3 — keep only the columns that matter

ColumnWhy it matters
candidateDisplay name for humans; deduplicate by email, not by name.
emailLowercase address — the true unique key for people.
roleThe position applied for; makes the pipeline filterable.
sourceWhere the application came from (job board, referral, inbound).
stagePipeline stage as a fixed vocabulary, not free text.

Step 4 — verify completeness

  1. Run the same search in your mail client and note the message count.
  2. Compare it with the row count in the spreadsheet.
  3. If the numbers differ, the filter or the folder is wrong — fix it before using the file.

Example output

candidateemailrolesourcestage
Maria Petrovamaria@example.comBackend EngineerLinkedInscreening

Pitfalls

Provider notes

Gmail app passwords need 2-step verification enabled. Recruiting agencies on Google Workspace should use OAuth.

Ready-made: the $3 script implements these steps and writes the Excel file with the columns above. Get the script.

FAQ

Can this feed an ATS?

Export CSV instead of Excel and map columns to your ATS import template.

Is candidate data safe?

The script runs locally and nothing is uploaded. Still treat the file as personal data and restrict access.

How many messages can it handle?

Thousands per run with a date filter; very large mailboxes are better exported month by month.

Will it change anything in the mailbox?

No. Read-only access is the default and should stay enabled.

Related guides