Importing Jobs from a CSV
Bulk-create jobs in JobGaffer by uploading a CSV. Learn the exact columns to use, download a ready-made template, and see what happens to imported jobs.
Got a list of jobs in a spreadsheet? Instead of adding them one at a time, you can import a CSV and create them all at once. This guide covers the exact columns to use, the template, and what happens after you import.
Open the importer
On the Jobs board, click Import CSV (top right — owners only). The importer opens with built-in guidance, a Download template button, and a file picker.
The columns
Your file needs a header row. Only title is required — every other column is optional and can be left blank. Column names are matched case-insensitively.
| Column | Required | What it is |
|---|---|---|
title | Required | The job, e.g. "Boiler service". |
customer | Optional | Customer or site name. |
email | Optional | Customer email address. |
phone | Optional | Customer phone number. |
address | Optional | Site address. |
date | Optional | Scheduled date — dd/mm/yyyy or yyyy-mm-dd. |
assignee | Optional | Engineer's email or full name (must match someone on your team). |
notes | Optional | Anything the engineer should know. |
Advanced (optional)
If you use route planning, three more columns feed it. Leave them out if you don't:
window_from/window_to— the customer's availability window (dd/mm/yyyy HH:MM).duration— the estimated job length in minutes.
Example row
title,customer,email,phone,address,date,assignee,notes
Boiler service,John Smith,john@example.com,07700900000,12 High Street,2026-07-15,jane@yourteam.com,Annual service
Download the template
Click Download template in the importer to get a .csv with the header row and a couple of example rows already filled in. Open it in Excel, Numbers or Google Sheets, replace the examples with your own jobs, and save it as CSV.
Preview before you import
Once you choose a file, JobGaffer shows a preview table so you can check everything looks right before anything is created:
- Rows missing a title are flagged and skipped automatically.
- You can set the engineer per row, or use Assign all to to dispatch the whole batch to one engineer in a click.
When you're happy, click Import and the jobs are created.
What happens next
Imported rows land in the New column of your Jobs board as unscheduled jobs. From there you can:
- Assign each job to the right engineer.
- Schedule it — book the date and time, and the customer is notified.
That's it — your spreadsheet is now a working board.