Custom Fields Module

📘

This guide is specific to Web SDK 2.0. If you are still using 1.x, you can find documentation here. Contact your Incode Representative for upgrade information and check if you are a candidate for this upgrade.

Full rollout to all clients still TBD.

The Custom Fields module renders a form generated from a dashboard-defined schema (text, number, boolean, date, double fields) and submits the user's responses. Useful for collecting tenant-specific data that doesn't fit the standard verification primitives.

Follows the form-based pattern. See the patterns page for the shared lifecycle.

Availability

This module is headless-only — there is no public <incode-custom-fields> web component. Drive it with createCustomFieldsManager from @incodetech/core/custom-fields and render your own form.

Configuration

TypeScript

type CustomField = {
  name: string; // Internal field name
  alias: string; // User-facing label
  type: 'INTEGER' | 'DOUBLE' | 'BOOLEAN' | 'STRING' | 'DATE';
};

type CustomFieldsConfig = {
  title: string;
  customFields: CustomField[];
};
Option Type Required Description
title string Form title shown above the fields.
customFields CustomField[] Field schema. Each entry's name is the data key, alias is the label, type drives input type.

The schema is defined in the Incode Dashboard and surfaced through the module's config.

State machine

CustomFieldsState is a discriminated union over status:

Status Description
idle Initial state.
inputting Form rendered; user fills fields.
submitting Sending field values to the backend.
success Submission accepted.
finished Terminal.