Jobs

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.

ColumnRequiredWhat it is
titleRequiredThe job, e.g. "Boiler service".
customerOptionalCustomer or site name.
emailOptionalCustomer email address.
phoneOptionalCustomer phone number.
addressOptionalSite address.
dateOptionalScheduled date — dd/mm/yyyy or yyyy-mm-dd.
assigneeOptionalEngineer's email or full name (must match someone on your team).
notesOptionalAnything 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:

  1. Assign each job to the right engineer.
  2. Schedule it — book the date and time, and the customer is notified.

That's it — your spreadsheet is now a working board.

Related