DocumentationStudioData Load

Data Load (import from CSV)

Data Load creates many Smartforms at once from a CSV file. Each row in the file becomes one form, already filled in with the values from the row. You can then send each form to its recipient by e-mail. Use it, for example, to send a prepared form to a list of employees.

Data Load needs the data license for your company. There is no menu item for it in Studio, so you open it by its address: https://smartforms.metaforce.net/admin/dataload. The address follows the environment you choose here:

The steps below follow the example of a travel request form that is filled in for five employees.


Import a CSV file

  1. Open Smartform Dataloader. The list Available Smartforms for dataload shows the active Smartforms, each with the state Published or Draft. Click the name of the Smartform to load data into.
  2. Click Generate Template. A file named after the form is downloaded, for example Docs example - Travel request-dataload-template.csv. It holds one header row.
  3. Fill in the file, as described in The CSV file.
  4. Click Start Import. Local files is the option to use.
  5. Type a Data Load Name.
  6. Click Upload a file, or drag the file into the box. Only .csv files are accepted.
  7. Read Import details. The Status bar shows Ready when the file can be imported. Click Import.
  8. On Generate dialogs for:, click Generate. The status changes from Generating… to Generated.

The page for the Smartform: the Local files option, the buttons Generate Template and Start Import, and the table of data loads.

Starting an import: the data load is named, a CSV file is uploaded, Import details shows five dialogs and Is Valid Yes, and Import and Generate create the five forms.

Import details for a valid file: the status is Ready, the file name is shown with a Change file link, Dialogs to create is 5, and Is Valid is Yes.

Import details shows:

LineMeaning
File nameThe file you uploaded. Change file replaces it.
Dialogs to createThe number of rows in the file, that is, how many forms will be created.
Is ValidYes when the file can be imported.
ErrorsWhat is wrong, when Is Valid is No.

Import details for a file whose header row was changed: the status is Invalid import file, Is Valid is No, and Errors says Header does not match expected header.

The Import button is available only when the file is valid and the data load has a name. Step 7 creates the data load and does not create any form yet. The forms are created in step 8.

The Generate dialogs page: the status Ready to generate dialogs, the data load name, and the counts Dialogs to generate, Dialogs with email recipient and Dialogs with valid email recipient.

When the forms are created, the page shows the status Generated and a receipt.

The receipt page: the status Generated, a Download button for the receipt file, and the counts Dialogs generated, Dialogs with email, Dialogs with valid email recipient and Dialogs that failed.

  • Download saves the receipt file.
  • Dialogs generated is the number of forms created, and Dialogs that failed the number that could not be created.
  • Dialogs with valid email recipient counts the rows whose recipient column holds a valid e-mail address.

Each new form is added to the Records of the Smartform, with the status In progress. See Records.


The CSV file

The template has a column for every property of the Smartform, in the order of the form, and a last column named recipient.

formTitle,introText,travellerName,workEmail,startDate,endDate,needsAccommodation,hotelName,expenseDescription,expenseAmount,receipts,submitButton,recipient
Travel request,,Kari Nordmann,kari.nordmann@example.com,2026-11-16,2026-11-18,false,,,,,,
  • Do not change the header row. It must be exactly the header of the template, or the file is refused.
  • Every row must have the same number of columns as the header. Leave a cell empty when there is no value.
  • Write dates as in the example, year, month and day.
  • The recipient column holds the e-mail address that Send Emails uses. Leave it empty when a row has no recipient.
  • Do not use commas, semicolons or vertical bars inside a value. The browser treats all three as column separators when it reads the file.

Limits and messages

A file can hold up to 50,000 rows of data, not counting the header row, and the upload can be up to 50 MB. For more rows, split the file and import each part on its own.

MessageCauseWhat to do
Header does not match expected headerThe first row differs from the template.Download the template again and use its header row.
No data linesThe file has only a header row.Add rows.
One or more lines did not have the correct number of columnsA row has more or fewer values than the header.Check the commas in the row.
No contentThe file is empty.Choose the right file.
The file has more than 50000 data rows. Split it and import each part separately.There are too many rows.Split the file.

Send the forms by e-mail

After Generated, the receipt page has a Send Emails button. It opens Issue Notifications.

The Issue Notifications page: a count of the emails to generate, the status New message, the Subject and Message boxes with a Placeholders link, and the buttons Send, Exit and Save as Draft.

  1. Write a Subject and a Message. Click Placeholders to see the values from the loaded data that you can insert.
  2. Click Send to send the e-mail to every row with a valid address in the recipient column, or Save as Draft to come back later. Rows without a valid address get no e-mail.

📝 Note: Each recipient gets an e-mail with a link to their own form. Check the recipient column before you click Send.

When the e-mails are sent, the status of the data load is Issued and the date shows in the Emailed column.


The list of data loads

The page of each Smartform lists its data loads.

The list Current dataloads for a Smartform with one data load: Success 5, Errors 0, Status Generated.

ColumnMeaning
NameThe Data Load Name. Click it to open the data load.
SuccessThe number of forms created.
ErrorsThe number of forms that could not be created.
StatusImported, Generated or Issued.
CreatedWhen the data load was made.
EmailedWhen the e-mails were sent.

FTP, API/Database and CRM are shown next to Local files, but they are marked unavailable and cannot be chosen.


Use the API

A data load can also be made through the API. Send the file as a multipart form with the fields file, dialogDefinitionId and dataLoadName:

  • https://api.smartforms.metaforce.net/DataLoad/validate/upload checks the file and returns the same result as Import details.
  • https://api.smartforms.metaforce.net/DataLoad/upload creates the data load.
  • https://api.smartforms.metaforce.net/DataLoad/generate starts the creation of the forms. Send dialogDefinitionId and dataLoadId as JSON.

How to sign in to the API is described in Smartforms API.