This option identifies the data you are importing. If you have multiple imports in your application (i.e. Customers and Sales), you should specify different import identifiers for each type of import. The title of the importer modal will be “Add
importIdentifier
” unless you supply the title
option.Replaces the title of the importer modal. For instance, if we set 
title
to “Enjoy Dromo!” you would see the title appear in the importer like this:
The default for this will display “Add
importIdentifier
”. For instance, if the importIdentifier
is Products
, it will say “Add Products”.invalidDataBehavior
"BLOCK_SUBMIT" | "REMOVE_INVALID_ROWS" | "INCLUDE_INVALID_ROWS"
default:"REMOVE_INVALID_ROWS"
This option impacts the user’s experience when invalid data is present. When this is set to
"BLOCK_SUBMIT"
, Dromo will disable the ‘Finish’ button preventing the user from submitting with errors. When this is set to "REMOVE_INVALID_ROWS"
, Dromo will remove any rows with errors and the user will see a dialog indicating “Discard X rows with issues. Submit the rest.” When this is set to "INCLUDE_INVALID_ROWS"
, Dromo will submit the records with errors and the user will see “Submit your data anyway (errors may occur).”.REMOVE_INVALID_ROWS | INCLUDE_INVALID_ROWS | BLOCK_SUBMIT |
---|---|---|
![]() | ![]() | ![]() |
Controls whether the user can complete an import even if 0 rows will be submitted. This can be because there are no rows in the import data, or if
invalidDataBehavior
is set to REMOVE_INVALID_ROWS
and all rows have at least one error.If set to false
, the submit import button will be disabled when no rows would be submitted.Show or hide an input table for the user to manually input data. If this is set to
true
, then there will only be a file dropzone on the page.Show or hide the file dropzone that appears when the importer is started. If this is set to
true
, then there will only be a manual input table on the page and the dropzone will be hidden. The manualInputDisabled
and manualInputOnly
settings cannot both be set to true
.The
backendSyncMode
setting controls whether the upload data is sent to the Dromo server for storage, if only the column mapping is sent, or if all processing is completed in the browser.Setting backendSyncMode
to "FULL_DATA"
enables several features:- Viewing your uploads in the Dromo Dashboard
- Using webhooks and the Dromo API to retrieve results
- Using the
autoMapHeaders
setting
backendSyncMode
to "MAPPINGS_ONLY"
enables using the autoMapHeaders
setting. In this mode, only the column mapping and unique values from 'select'
type fields will be stored in our backend.You can set backendSync
to "DISABLED"
if you have data privacy requirements, and you don’t need the additional functionality the other modes provide.Dromo uses industry-standard best practices to secure your data on our servers.Requires backendSyncMode = “FULL_DATA”This is a URL that is called upon the completion of a successful upload through Dromo. Note:
backendSync
needs to be set to true
for this to work. For more information on webhooks, see the Webhooks documentation.This settings allows users to create custom fields that are not included in the
fields
object. If set to true
, a user will be able to type in a custom field name during the matching phase. These user-provided field names will be included as keys for the returned results.This allows you to specify the data being uploaded, bypassing the CSV upload stage.You can supply this data in one of two forms:All of the supplied data must be in one form or the other – they cannot be mixed.
- As an array of objects, where each object represents a row. The object itself is a mapping of the
key
specified in fields and the value for that field in that row. As an example you could pass in:
- As an array of arrays of strings, where each row is represented by an array, with the fields matching the order specified by
fields
. For example:
The
initialFile
setting allows you to provide a Web API File object, providing the Dromo importer with the raw data to parse and bypassing the user picking a file to import.The File object can come from a file input within your application, or you can build the file object from any source data using the File constructor. The filename extension of the File object should match the format of the file (e.g. if you are providing an Excel file, the filename should end in “.xlsx”.)Specify the maximum number of records that a single file can import. This value does not include the headers of the file.If the number of rows in the file exceed this number, the user will be warned and the excess rows will be dropped.
Specifies the maximum file size, in bytes, that can be imported. If the user selects a larger file, they will be shown an error message.The maximum file size must be a positive integer and cannot exceed 1 GiB (the default value).
Set this value to
true
when testing or in development environments. The importer will show a “development mode” banner and the imports will be flagged as development imports. These imports will not be charged against your account.Requires backendSyncMode = “MAPPINGS_ONLY” or “FULL_DATA”With this setting on, Dromo will try to automatically map the CSV headers to fields based off of previous uploads with the same
importIdentifier
. The user can still click back and change the mapping if needed.Allows you to explicitly define a field delimiter for your file (i.e.
|
). By default, Dromo will attempt auto-detect the delimiter.If set, Dromo will generate a template CSV file using the fields you have defined on the import. Users will see a download link for this template file on the Upload screen of the Dromo importer. The value of this setting will be used as the filename of the template, plus the
.csv
extension.Activates the parsing of Excel files in the end user’s browser. Either this setting or
backendSyncMode: "FULL_DATA"
must be active to enable Excel file parsing.Defaults to true
in SDK version >= 2.0.0With this setting on, Dromo will include all columns not mapped or added as custom fields in the result payload.The values for each row will be in an object with the key
$unmapped
. The key for each value will correspond to the column index in the original file.In the example below, we only mapped two columns to firstName
and email
. The remaining unmapped columns were added to the $unmapped
object.Settings for the Upload Step experience
If set, the given string will be shown to the user on the Upload Step. This can be used to give the user additional context on what file they should upload.Content can be plain text or HTML.
If set, the sheet selection modal will be skipped if a sheet matching the string is found in the workbook.If the uploaded file does not have sheets (e.g. a CSV), or the uploaded file has only one sheet, this setting has no effect.
matchingStep
object
Default: {}
Settings for the Matching Step experience
Added in v2By default, the user is asked to match or ignore all of the column names that exist in their file. If set to
true
, the user will instead be asked to match only the fields contained in the schema. This is particularly useful when a file may contain numerous irrelevant columns.Determines whether Dromo will use fuzzy matching to suggest column mappings during the matching step. If set to
false
, Dromo will only suggest columns whose headers exactly match a field’s label
, key
, or alternateMatches
.If set, the given string will be shown to the user on the Matching Step. This can be used to give the user additional context on how to match the columns for your import.Content can be plain text or HTML.
If set,
matchingStep.headerRowOverride
will preset the header row to the 0-indexed row specified. If the header row is after the first row (i.e. headerRowOverride
is set to a value greater than 0), rows before the header row will be discarded.If set to true, matchingStep.suggestCustomFirst will prioritize the “Add custom field” option by displaying it at the top of the dropdown menu during column matching, rather than positioning it at the end.
matchValuesStep
object
Default: {}
Settings for the Bulk Fix step experience (formerly known as the Match Values step)
If set, the given string will be shown to the user on the Match Values Step. This can be used to give the user additional context on how they should match values with their select fields.Content can be plain text or HTML.
The maximum number of unique values that can be mapped using the Match Values screen per field. If more than
maxMappableSelectValues
are found in a column of data, Dromo will indicate to the user that there are too many unique values to map on the Match Values screen. The maximum value that can be set for maxMappableSelectValues
is 1000.reviewStep
Thesettings.reviewStep
object contains settings for the Review Step experience. It defaults to {}
. The following settings are available:
If set, the given string will be shown to the user while the hooks are running at the beginning of the review step. This can be used to give the user additional context if you have any slow-running hooks.
If set, the given string will be shown to the user on the Review Step. This can be used to give the user additional context on what issues they should resolve on this step.Content can be plain text or HTML.
If false, Dromo will prevent the user from adding any new rows to the data.
Dromo will disable manual input mode (user starts with an empty data table and adds data line by line instead of a file) if this setting is
false
. Manual input mode specifically requires adding rows.If false, Dromo will prevent the user from removing any rows from the data.
If true, the ‘Transform data’ feature will be available on the review step.
See the Transform data guide for more information.
If true, Dromo will highlight any cell that had substantive changes made by automatic transformations, such as:
- Rounded number values
- Modified datetime values
- Select values changed from alternate matches
- Left-padded zip codes or removed last 4 digits
- Modified URLs
- Adjusted phone numbers
This feature can help users quickly identify and verify automatic transformations made to their data during the import process.
The language to display within the Dromo importer. Dromo supports the following internationalization (i18n) options: