Skip to content

Customize startup settings

Use settings:filter for approved presentation, language, and feature changes that must be applied during startup. The plugin must be queued before the embed script.

Register the filter

ts
import { PLUGIN_API_VERSION, definePlugin } from '@iconfigurators/plugin-sdk'

type Options = {
  accentColor?: string
  splashTitle?: string
  showInventoryQuantity?: boolean
}

export default definePlugin<Options>({
  id: 'customer.startup-presentation',
  version: '1.0.0',
  apiVersion: PLUGIN_API_VERSION,

  setup(api, options) {
    api.hooks.filter('settings:filter', (settings) => ({
      ...settings,
      options: {
        ...settings.options,
        templateAccentColor: options?.accentColor ?? '#2563eb',
        splashTitle: options?.splashTitle ?? settings.options.splashTitle,
        showInventoryQty: options?.showInventoryQuantity ?? settings.options.showInventoryQty,
      },
    }))
  },
})

The hook receives only supported public settings. Keep account identity, endpoints, credentials, request construction, RFQ recipients, and plugin descriptors outside the returned value.

Queue before startup

ts
queuePlugin(startupPresentationPlugin, {
  order: 10,
  options: {
    accentColor: '#2563eb',
    splashTitle: 'Find the right wheels for your vehicle',
    showInventoryQuantity: false,
  },
})
html
<script src="https://YOUR_DOMAIN/plugins/startup-presentation.plugin.js"></script>
<div id="icf_page"></div>
<script src="https://iconfigurators.app/src/embed.cfm?ky=CONFIGURATOR_KEY"></script>

Late registration cannot change startup settings for the current page load.

Supported option fields

The public settings contract includes:

  • Accent and color-mode values
  • Public image, logo, title, description, and disclaimer content
  • Search and shopping feature switches
  • Tire, inventory, quantity, and pricing visibility
  • Retail-pricing selection

Use account configuration when the same value should follow a configurator key on every website. Use this hook for behavior owned by a particular plugin deployment.

Icon Visualizer developer documentation