Skip to content
Contact us

Import jobs from a CSV file

The first line holds the four column headings, in this order, separated by commas or semicolons:

Title,Description,Source,Destination

Every further line is one job. A file in any other layout is turned down before anything is imported. The file itself can have any name.

ColumnWhat it holds
TitleRequired. The new job's title. Lines sharing a title are numbered, such as Finance 01 and Finance 02, so their jobs can be told apart.
DescriptionOptional text, for the job's description.
SourceThe job's source, written the way the Import job's source type expects: a library URL for SharePoint Library, a UNC path or drive for FileShare, an e-mail address (UPN) for OneDrive.
DestinationThe job's destination, written the way the Import job's destination type expects: the name of one Team Folder for Nextcloud Team Folder, a Nextcloud user name or e-mail address for Nextcloud User.

An example for file shares into Team Folders

Title;Description;Source;Destination

Finance archive;Old finance share;\\fileserver\finance;Finance

HR documents;;\\fileserver\hr;HR

  • Comma or semicolon: whichever the first line uses more. A spreadsheet saved as CSV in a country that writes decimals with a comma uses semicolons, and that is fine.
  • Quotes: a value that holds the delimiter is put in double quotes, as spreadsheets do when they save CSV.
  • Headings: the names are fixed, but not their case. A delimiter after the last heading is forgiven; an extra column is not.
  • Empty lines are skipped. A line without a Title stops the import until it has one.
  • One kind per file: every line is read with the Import job's one source type and one destination type, so a file cannot mix file shares and SharePoint libraries. Make one Import job per kind.
  • No Group column: every job a file creates is filed in the import's own group, named after the Import Group on Job defaults. To spread a list over several groups, split it into one file per group, or merge and move the jobs afterwards with Manage groups.
  1. On the Jobs tab, open New Job and pick Job Import.
  2. On Import from, choose CSV in Nextcloud Files.
  3. Choose the file with Choose file: pick it from Nextcloud Files, upload one — drag it from your computer onto the picker, or use Upload file — or let Create new CSV file here create Import01.csv with the headings and a sample line, ready to fill in. Pasting the file's internal link from its Share menu works too.
  4. On Source defaults and Destination defaults, set the source type and destination type the lines are written for, and the settings every new job gets.
  5. Choose Save and import CSV now.

Open file opens the CSV file in Nextcloud Files in a new tab, so it can be edited online. After saving it there, Refresh preview reads it again.

In the Jobs table and on the Import job's summary card, its source is the CSV file's place in Nextcloud Files, such as /Imports/Import01.csv — not its link.

As soon as the file is linked, the dialog reads it and shows:

  • where it is, and when it was last modified,
  • Found: … with the number of jobs it holds,
  • a preview of its first lines, with every value that does not suit its column marked,
  • a warning naming the first problem line, and how many lines have a problem in all.

Values that do not suit their type still import

A line whose Source or Destination does not suit the Import job's types — a site where a library is needed, a UNC path that is not one, a user name with characters Nextcloud does not allow — is imported all the same, but its job is created Not validated and cannot be set to Ready until it is corrected. In a Discovery import only the Source counts: a Discovery job writes nowhere, so its Destination is checked once the job is switched to a migration. A file without the right headings, or with a line that has no Title, is not imported at all.

Save and import CSV now saves the Import job, then imports the file as a run of that job, the way SMART Migration would run it: the job is set to Running, a Run History row and its log are written, and both end as Finished. A summary then says how many jobs were created, how many are validated and ready to be set to Ready, how many are not validated and why, and which group they are in, with a way to the run.

A CSV Import job is never set to Ready and has no schedule, recurrence or priority: it is run from the dialog, each time Save and import CSV now is chosen. Each import creates new jobs; importing the same file twice makes the jobs twice.

See also