docs/guides/importing-applications-from-csv.mdx
Use CSV import when you already track applications in a spreadsheet and want to move them into Reactive Resume.
The importer uses the first row as headers. Each imported row must include a company and role.
Supported headers include:
| Field | Recognized headers |
|---|---|
| Company | Company, Employer, Organization |
| Role | Role, Title, Position, Job Title |
| Stage | Stage, Status |
| Location | Location |
| Salary | Salary, Salary Range, Compensation |
| Source | Source |
| Notes | Notes, Note |
| Job posting URL | URL, Link, Job URL, Job Posting |
| Tags | Tags |
| Contact name | Contact Name |
| Contact role | Contact Role |
| Contact label | Contact Type |
| Contact email | Contact Email |
| Contact phone | Contact Phone |
Tags can be separated with commas, semicolons, or vertical bars.
Each row can carry one contact. A contact needs a Contact Name, and Contact Email must be a valid email address — if
either is wrong, the contact is dropped and the application still imports.
Company,Role,Stage,Location,Salary,Source,Tags,Contact Name,Contact Email,Contact Phone
Stripe,Frontend Engineer,applied,Remote,$180k,LinkedIn,remote;react,Jane Doe,[email protected],+1 555 0100
The Stage column is optional. If you include it, use one of these values:
savedappliedscreeninginterviewofferrejectedIf a row has an unrecognized stage, the importer ignores that stage value and uses the default application stage.
Reactive Resume imports up to 500 applications at a time. If your CSV has more than 500 valid rows, split it into smaller files and import each file separately.
<Tip> Import first, then use the table view to select multiple applications and apply tags, move stages, archive rows, or delete rows in bulk. </Tip> <Tip> MCP clients can also import application rows directly with `import_applications`. See [Managing applications with MCP](/guides/managing-applications-with-mcp) for agent prompt examples. </Tip>Make sure every row has both a company and a role. These fields are required.
The contact needs a Contact Name, and Contact Email must be a valid address. The application imports either way — fix
the contact columns and import that row again if you want the contact.
Rename the header to one of the recognized names in the table above, then import again.
Separate tags with commas, semicolons, or vertical bars, such as remote;react or frontend|senior.
Use lowercase stage values such as applied or interview. Custom stages are not supported.