Move your board to JobClay

If your board runs on JBoard, Niceboard or another platform, you can bring its employers and jobs to JobClay from CSV files. You upload a file, tell JobClay which column is which, check a preview that lists every problem, and import. Nothing is written until you press the import button.

Job seekers, their profiles, resumes, job alert subscribers and applications do not move. Passwords cannot move, and job seekers should choose to join your new board themselves. Employers set a new password.

The import is on the Import page of the console, and every plan includes it.

Export from your old platform

JBoard and Niceboard both have an Export CSV button for jobs and for employers. Export each one:

  1. Export your employers as a CSV file.
  2. Export your jobs as a CSV file.

From another platform, use whatever export it offers. Any CSV file works: JobClay does not need a fixed layout, because you match the columns in the next step. A file saved by Excel works too; JobClay reads UTF-8 and falls back to Windows-1252 when a file is not UTF-8, and says so on the page. It works out whether the columns are separated by commas, semicolons or tabs.

The first row must name each column. A file can have up to 20 MB and 10,000 rows, and the Import page links to a template for each of the two files, with an example row.

Import the employers file first, then the jobs file. Jobs can then be posted by those employers.

The employers file

Each row is one employer. A row with no email makes only the company. Only company is required.

  • company (required): the company name.
  • email: the employer's email address. An account is made when you give one.
  • first_name, last_name: the employer's name.
  • full_name: used when first and last name are not matched, and split at the first space.
  • job_title: the employer's own job title.
  • company_website: the company's website address.
  • company_logo: the address of the company's logo, fetched after the import.
  • company_description: about the company.
  • company_location: the company's address text.
  • old_url: the address of the company's old page (see Keep your old addresses working, below).

A company with the same name as one already on your board is matched and left as it is. An employer already on your board is matched too, and their company is not changed. An address that belongs to a job seeker on your board is a problem row.

The first employer of a new company becomes its admin. Later employers of the same company in the same file join as members. A company that already had employer accounts before the import is a problem row, because its own admins can invite teammates themselves.

A company already on your board with no employer accounts takes its first employer from the file as admin too, and its jobs with no employer pass to them; the preview says how many. If someone has a pending claim on that company, or an invitation to run it, the row is a problem: decide the claim in Approvals, or cancel the invitation on the company's page in Companies, and import the row again.

The jobs file

Each row is one job. title and description are required, and so is a company or an employer.

  • title and description (required): the description can be HTML or text. It is cleaned the way every description is.
  • company: the company name. Needed unless the row has an employer_email.
  • employer_email: an employer already on your board. The job is theirs and goes under their company. An employer with no company posts under the row's company, which must have no employer accounts of its own.
  • location: one or more places, separated by ;, | or a line break.
  • work_mode: remote, hybrid or on-site words, or true and false.
  • job_type: matched to your job types list, such as full-time or contract.
  • A column for each of your other lists, named after the list, such as skills or industries. The first list that is not job types also accepts the name category. Several values are separated by ,, ; or |.
  • salary_min, salary_max, salary_currency, salary_period: a salary per year or per month, in your board's currency. Other periods and currencies are dropped, and the preview says so.
  • apply_url or apply_email: where candidates apply. With neither, candidates apply on your board, which needs an employer.
  • posted_at: the date the job was posted. Without it, the job is posted now. A date in the future becomes now.
  • expires_at: the closing date, at most a year from now. Without it, the job runs for your board's usual number of days, counted from today.
  • status: open words (active, live, published, open, approved, ongoing) import; anything else is skipped.
  • external_id: an identifier from your old platform. It stops the same job being imported twice.
  • old_url: the job's old address.
  • company_website, company_logo: used only when this row makes a new company.

Jobs that have already closed (an expiry date in the past, or a status that is not open) are skipped, and are not counted as problems. A job posted by a company that has employer accounts needs an employer_email, because a job with no poster would not belong to anyone.

Imported jobs keep their posted date, so job alerts and ordering treat them by their real age. They count toward your plan's live job limit, and Premium never locks them. When your plan has no room left, the rest are imported hidden and come back by themselves when your plan grows, newest first.

Match the columns

After you upload a file, choose the kind of file (employers or jobs) and the page shows one line for each field: its name, whether it is required, and a choice of the file's columns, with three sample values from the column you chose. JobClay matches columns by name for you, ignoring capitals, spaces, hyphens and underscores, and recognises common alternative names, so Company Name and company_name both match company. Because JBoard and Niceboard do not publish their export columns, check each line, and choose the right column where a match is missing or wrong. Columns you do not match are ignored.

Two options sit beside the columns:

  • Date order: day first or month first, for dates such as 03/04/2025. It starts from your board's locale. ISO dates such as 2025-04-03 and dates with month names always work.
  • Add values missing from my lists (jobs only): when a value in a list column is not on your list yet, add it. It is off by default, and without it the value is dropped and the preview says so.

Check the preview

Press Preview to check every row against your board as it is now. Nothing is written. The preview shows how many rows will create something, how many match something already on the board, how many jobs will be live and how many hidden, and the first 50 problems, each with its line number and a plain reason.

Rows with a problem are skipped, and every other row imports. To fix them, download the problem file: it has your original cells and a problem column that gives the reason. Correct those rows and import the file again. Rows already imported are not imported twice.

You can change the columns and preview again, discard the file, or import. A file you never import is deleted after 24 hours.

Import

Press the import button. The page shows how many rows are done and refreshes by itself. Only one import runs on a board at a time, so start the next file when this one has finished.

Each row is checked again when it is written, and every row is written on its own. If a run stops part way, the page says where, and Continue runs the rest. The rows already written stay, and nothing is written twice.

When it finishes, the page shows how many rows created something, matched something, were skipped, or had a problem.

Invite your employers

The import sends no email. Imported employers have an account with no password, and they have not agreed to your terms yet.

When you are ready, press Email N employers a link to set their password (N is how many) on an employers import. It emails the employers that import created. The link lasts 3 days, and after that Forgot password on the sign-in page sends a new one. Setting a password through the link also confirms the employer's email address. You can press the button once every 24 hours for each import.

Apply addresses

Every apply address must be confirmed before a job can use it. A job that applies by email, to an address nobody has confirmed yet, is imported as a draft and waits.

On a jobs import with waiting jobs, press Send a confirmation link to N addresses to email each address a link. Once an address is confirmed, press Publish jobs whose address is confirmed to publish those jobs. A waiting job whose closing date has passed by then stays a draft, and the page says how many. You can send the links once every 24 hours for each import. An imported employer who sets a password through their invitation confirms their own address, which readies the jobs that apply to it.

Jobs that apply through a web address, or on your board, need no confirmation.

Keep your old addresses working

A row can name the job's or company's old address in old_url. The import adds a redirect from that address to the new page, so visitors and search engines are sent to the right place. Only the path of the address is used, such as /job/some-title-123/.

A redirect is added only for a path that has none yet. Otherwise the preview says so, and no redirect is added.

The redirects work once visitors reach JobClay on that address, so move your domain to JobClay after you import. The custom domain guide has the steps.

Remove an import

If an import turns out wrong, Remove this import is offered for 7 days after the run finishes. It removes what nobody has used:

  • the redirects it added;
  • the jobs that have no applications (a job with applications stays);
  • the employers who have never signed in and own nothing left;
  • the companies that have nothing left in them.

Anything that was already on your board before the import is never touched. The page then shows what was removed and what stayed, and why. Your uploaded file is deleted when the 7 days end.

The limits

  • Files of up to 20 MB and 10,000 rows.
  • One import runs on a board at a time.
  • Existing employers, companies and jobs are matched and left as they are: the import does not update them.
  • The import does not move job seekers, alert subscribers, applications, coupons, orders, credits or subscriptions.

Still stuck? Write to hello@jobclay.com.

jobclay.com uses Google Analytics cookies to see how visitors find and use the site. You can turn them off here or in cookie settings. Privacy policy