Customizations

OneSchema supports many ways to customize the experience. This guide will provide an overview of the options that can be set via the customizations page. These options can also be passed to the SDK with the given key, with an option to provide overrides via the customizationOverrides property.


Importer flow

Upload a file

ConfigurationKeyTypeDescription
File size limitfileSizeLimitnumberThe maximum file size a user can upload in megabytes (MB)
IllustrationillustrationUrlstring (url)A URL to an image for the importer
Uploader header textuploaderHeaderTextstringThe text underneath the illustration in the middle of the importer.
Uploader subheader textuploaderSubheaderTextstringThe text below the header on the uploader
Informational SidebaruploaderShowSidebarbooleanWhether to show the sidebar on the upload pane
Show template column detailsuploaderSidebarDetails"required" | "all"What columns to list on the sidebar of the upload pane
Info banneruploaderShowSidebarBannerbooleanWhether to show the banner above the sidebar of the upload pane
Info banner textuploaderSidebarBannerTextstringThe text of the banner above the sidebar of the upload pane
Include a downloadable Excel template for your usersincludeExcelTemplatebooleanWhether a button to download an Excel template should appear in the footer of the upload pane

Select header row

ConfigurationKeyTypeDescription
Skip Select Header Row paneskipHeaderRow"always" | "detect" | "never"Strategy for when (if ever) to skip the Select Header Row pane. Defaults to "detect"

Map columns

ConfigurationKeyTypeDescription
Automatically include unmapped columnsimportUnmappedColumnsbooleanWhether unmapped columns should appear on imports. See our docs on Unmapped Columns
Uploaded column to template column matching strategymappingStrategy[]: "exact" | "fuzzy" | "historical"What strategies to apply when suggesting mappings on mapping pane
Skip Map Columns pane if columns automatically matchskipMapping[]: "exact" | "fuzzy" | "historical"What strategies to test when attempting to skip the mapping pane. Note that we will only skip if all columns are matched.

Review and Finalize

ConfigurationKeyTypeDescription
Fix all errors automaticallyautofixAfterMappingbooleanWhether OneSchema should autofix errors after the mapping step. This is akin to clicking the "Fix all formatting errors" button
Accept webhook suggestions automaticallyacceptCodeHookSuggestionsbooleanIf there are validation webhooks on the template, OneSchema will automatically apply the suggested fix, skipping user confirmation.
Import experienceimportErrorUX"blockIfErrors" | "promptIfErrors" | "ignoreErrors"Determines behavior for prompting the user when they click "Import" when there are errors
Import data without showing the Review & Finalize paneskipCleaningbooleanOmit the Review & Finalize pane if there aren’t any errors in the file. The Importer will close once the user has successfully completed the Map Columns step.

Behavior will depend on the setting for import experience. If ignore errors is set, Review & Finalize will always be skipped.

Branding

The Branding tab is accessible as an additional add-on.


General

ConfigurationKeyTypeDescription
Primary colorprimaryColorHex ColorHover state in select drop downs, selected rows, loading icons
Background colorbackgroundPrimaryColorHex ColorThe color of the background of each pane, includes the background of spreadsheet cells
Secondary background colorbackgroundSecondaryColorHex ColorThe color of the background for secondary features, includes column names and row numbers of the spreadsheet
Header colorheaderColorHex ColorThe color of the header
Footer colorfooterColorHex ColorThe color of the footer
Border colorborderColorHex ColorThe color of the lines that border features
Success state colorsuccessColorHex ColorThe color of certain UI elements like success check marks
Warning state colorwarningColorHex ColorThe color of spreadsheet cells with warnings before opacity is added, also used for warning icons
Error state colorerrorColorHex ColorThe color of spreadsheet cells with errors before opacity is added, also used for error icons
Fullscreen modemodalFullscreenbooleanWhether the importer should take up all the space of the iframe. This will override border radius and modal mask settings
Hide close buttonhideCloseButtonbooleanWill hid the 'x' to close the modal when checked. Only works when using Fullscreen mode.
Modal mask colormodalMaskColorHex ColorThe color of the mask for the modal
Modal border radiusmodalBorderRadiusstring (_px)The border radius of the modal frame

Buttons

ConfigurationKeyTypeDescription
Button border radiusbuttonBorderRadiusstring (_px)The amount of curvature the button corners have
Primary button fill colorbuttonPrimaryFillColorHex ColorThe color of the primary buttons (like "Import" or "Next")
Primary button stroke colorbuttonPrimaryStrokeColorHex ColorBorder color for the main buttons
Primary button text colorbuttonPrimaryTextColorHex ColorText color on the primary button
Secondary button fill colorbuttonSecondaryFillColorHex ColorThe color of the secondary buttons (like "Previous")
Secondary button stroke colorbuttonSecondaryStrokeColorHex ColorBorder color for the secondary buttons
Secondary button text colorbuttonSecondaryTextColorHex ColorText color on the secondary button
Tertiary button fill colorbuttonTertiaryFillColorHex ColorThe color of the tertiary buttons (like "Find and replace" and "Export")
Tertiary button stroke colorbuttonTertiaryStrokeColorHex ColorBorder color for the tertiary buttons
Tertiary button text colorbuttonTertiaryTextColorHex ColorText color on the tertiary buttons
Alert button fill colorbuttonAlertFillColorHex ColorThe color of the alert buttons
Alert button stroke colorbuttonAlertStrokeColorHex ColorBorder color for alert buttons
Alert button text colorbuttonAlertTextColorHex ColorText color on alert buttons

Font

ConfigurationKeyTypeDescription
Custom font URLfontUrlstringURL for the font, font family must also be provided
Font familyfontFamilystringName of the font family, custom font URL must also be provided; comma-separated fallback families can be provided (i.e. Sans serif, Aerial would set a default font of Sans serif with a fallback of Aerial)
Primary font colorfontColorPrimaryHex ColorColor for the primary font (like spreadsheet cells, column names)
Secondary font colorfontColorSecondaryHex ColorColor for the secondary font (like sample data, titles, error descriptions)
Placeholder font colorfontColorPlaceholderHex ColorColor for the placeholder font (like unmapped columns and "Fix formatting errors" buttons)

Multiple Customizations

If you have multiple importers in your app and want each one to use different customizations, you can create a customization for each importer on the Customizations page and then use their customization keys with the SDK to customize each importer.

First, "Create a copy" of your initial customization.

Then, set the settings that you want to use for your second importer.

Finally, use the "Customization key" that you specified as the customizationKey in the SDK.