Add jobs and import them from a CSV

Add jobs one at a time or import up to 10,000 from a CSV, and see how jobs link candidates to reports in CultureMonkey.

6 min readAccount AdminUpdated September 2026
On this page

In CultureMonkey, every candidate is linked to a job: the requisition they applied for, with its title, location, category and level. You add jobs one at a time from Jobs > Create Job > Add a Job, or in bulk with Import Jobs from CSV, which takes up to 10,000 jobs in one file. Jobs are also created automatically when candidates arrive for a job CultureMonkey has not seen.

Related release: Candidate Experience: bulk job imports and dedicated recruiting email (February 25, 2026). See every dated change on Product Updates.

This guide covers what a job holds and why it matters for reporting, the Jobs list, adding and editing a job, the job CSV import, and how jobs get created by candidate loads.

In a nutshell

A job in CultureMonkey needs a Job Title; give it an External ID too, because that is how the API and the job import recognize it. Category, Family, Family Group, Job Profile and Level Hierarchy become heatmap demographics in candidate reports. Import jobs before candidates so candidate loads link to them instead of creating new ones. A job that has candidate history cannot be deleted.

What does a job hold?

FieldWhat to put in it
Job Title (required)The role name, for example Senior Data Analyst. The candidate CSV import matches jobs on this
External IDThe requisition ID from your ATS. The API and the job import match on this, and it is unique across jobs
LocationThe requisition location, chosen from your candidate locations
Category, Family, Family GroupYour job architecture, for example Analytics, Data, Technology
Job ProfileA description of the role
Level HierarchyPairs of a level and a name, for example L2 Data & Insights and L3 Business Analytics

Why jobs matter for reporting

The Jobs list

Open Jobs under General in the candidate sidebar. The list shows External ID, Job Title, Category, Location and Created At, 25 jobs per page, and each column sorts. Use Search by job title or Add Filters to narrow by Job Title, Category, Family, Family Group or Location. Click a row to open the job.

app.culturemonkey.io/candidate/jobs
The Jobs list in CultureMonkey's candidate module with the Create Job menu open, showing Add a Job and Import Jobs from CSV above a table of jobs with External ID, Job Title, Category, Location and Created At.
Jobs: add one at a time or import a CSV from the Create Job menu.

With no jobs yet, the page shows "Currently no jobs in your organization". Sub Admins can open Jobs but only to view them.

Add a job

  1. 1Go to Jobs, click Create Job and choose Add a Job.
  2. 2Under Job Details, enter the Job Title and the External ID from your ATS.
  3. 3Choose a Location, and fill in Category, Family, Family Group and Job Profile as your job architecture needs.
  4. 4To record levels, click ADD LEVEL HIERARCHY, enter a Level (for example L2) and a Name, and repeat for each level.
  5. 5Click Create Job, or Cancel to leave without saving.
app.culturemonkey.io/candidate/jobs
A job open for editing in CultureMonkey, with Job Details fields for Job Title, External ID, Location, Category, Family, Family Group, Job Profile and two Level Hierarchy rows.
A job's details, including its level hierarchy.

Edit or delete a job

Click a job on the list to open it, change the fields, and click Update Job. Reset undoes unsaved changes. Use the pencil next to a level to change it.

To remove a job, click Delete Job and confirm "Are you sure you want to delete this job?". A job that has candidate history cannot be deleted; you will see "This job is currently in use and cannot be deleted." In practice, jobs that candidates have been linked to stay in place, which keeps past reports intact.

Import jobs from a CSV

For more than a few jobs, use the importer. It follows the same three steps as the candidate import: 1. Upload, 2. Map Attributes and 3. Preview.

  1. 1Go to Jobs, click Create Job and choose Import Jobs from CSV.
  2. 2Click Download Sample Job CSV Template. Its columns are title, profile, category, external_id, family, family_group, requisition_location and level_hierarchy.
  3. 3Fill in one row per job. title and external_id are mandatory. Write levels as pipe-separated pairs, for example L1:Technology|L2:Data & Insights|L3:Business Analytics.
  4. 4Upload the file (CSV, up to 5 MB and 10,000 jobs) and click Next.
  5. 5On Attribute Mapping, the Anchor Field is External ID. Pick the matching file header, click Validate, then map Job Title, Job Profile, Category, Family, Family Group, Requisition Location and Level Hierarchy.
  6. 6Check the first 10 rows on the preview and click IMPORT. The file is processed in the background.

Each row is matched to an existing job by External ID, ignoring case. A match is updated with the row's values; anything else becomes a new job. A requisition location that does not exist yet is created. Rows without a title or External ID fail with "Title is required" or "External ID is required".

View Import History opens the Job Import History table with the same columns as candidate imports: File Name, Uploaded At, Uploaded By, Status, Error File, Total, Success and Error. Download the error file to see why each failed row was rejected, fix those rows and import them again.

How jobs get created by candidate loads

RouteHow the candidate's job is foundIf there is no match
APIBy job.external_idThe job is created from the fields in the request. Job fields sent later overwrite the stored ones
Candidate CSV importBy job title, ignoring caseA job is created with that title, but without your requisition ID as its External ID
Add a Candidate formYou pick the Job Position from existing jobsNot possible: create the job first
Tip

Import your jobs before your first candidate CSV. The candidate importer matches on title only, so a job that is missing, or spelled differently, is created again without its real External ID and category details.

Frequently asked questions

Is the External ID required for a job?

It is optional on the Add a Job form but mandatory in the job CSV import, and the API finds jobs by it. Give every job its ATS requisition ID so all three routes point at the same record.

Can I export the job list?

No. The Jobs list has search and filters but no export.

Why can I not delete a job?

CultureMonkey blocks deleting a job once it has candidate history, so reports that reference it stay accurate. Jobs with no candidate history can be deleted.

Which job levels appear on the candidate heatmap?

L2, L3 and L4, once CultureMonkey turns job-level tabs on for your account. L1 can be stored on the job but is not offered as a heatmap tab.

Can Sub Admins add or edit jobs?

No. Sub Admins can view the Jobs list and open a job, but only Super Admins can create, edit, import or delete jobs.

Where to go next