Skip to main content

Connector Specification File

Summary

The connector spec file tells ISC how the connector should interact between ISC and the custom connector. It is the glue between ISC and the connector, so understanding the different sections are important to understand when building a custom connector.

For a complete example, see connector-spec.json.

Top-Level Fields

PropertyTypeRequiredDescription
namestringYesThe name of the connector as it appears in ISC. Tags can be appended to this name.
keyTypestringYesEither simple or compound. Determines which key type the connector expects to receive and send back for each command. For example, if simple, then StdAccountReadInput.key will be of type SimpleKey.
commandsstring[]YesThe list of commands the connector supports. See the full list of available commands.
supportsStatefulCommandsbooleanNoSet to true if the connector supports stateful commands.
showDebugLoggingOptionbooleanNoWhen true, exposes an Enable Debug Logging toggle in the ISC source's Administrator Settings UI. When enabled, the connector emits debug-level log entries in addition to info and error levels. Defaults to false.
sourceConfigInitialValuesobjectNoKey-value pairs of source config item keys and their default values. See Initial Values.
sourceConfigobject[]YesA list of menus defining the configuration UI shown when creating a source in ISC. The order of items is preserved in the UI. See sourceConfig.
accountSchemaobjectYesThe schema for accounts in ISC populated by data from the source. See accountSchema.
entitlementSchemasobject[]NoA list of entitlement schemas in ISC populated by data from the source. See entitlementSchemas.
accountCreateTemplateobjectNoA map of identity attributes ISC passes to the connector when creating an account in the target source. See accountCreateTemplate.

sourceConfig

sourceConfig is an array of menu objects that define the sidebar and configuration fields shown when creating a source in ISC.

PropertyTypeRequiredDescription
typestringYesAlways "menu". Indicates a new sidebar section. Multiple menus can be defined for complex configurations.
labelstringYesThe text displayed on the sidebar in ISC.
itemsSection[]YesAn array of section objects displayed within this menu.

Section

PropertyTypeRequiredDescription
typestringYesAlways "section".
sectionTitlestringYesThe large text title displayed for the section.
sectionHelpMessagestringNoA description to help users understand the section and how to fill out its fields.
docLinkLabelstringNoThe text displayed next to the documentation help link.
docLinkstringNoThe URL the docLinkLabel directs to when clicked.
itemsConfig Item[]YesAn array of input field objects within the section.

Config Item

PropertyTypeRequiredDescription
keystringYesThe name of the configuration item as referenced in code.
labelstringYesThe name of the configuration item as displayed in the UI.
typestringYesThe input type. See valid types below.
requiredbooleanNoWhether the field must be populated before continuing. Defaults to false.
parentKeystringNoThe key of another field this field depends on. The field is hidden until the parent field has the expected value.
parentValuestringNoThe value parentKey must have for this field to become visible.
placeholderstringNoPlaceholder text shown inside the input field.
helpKeystringNoHelp text shown alongside the input field.

Valid type values

TypeDescription
textSingle-line text input
numberNumeric input
secretMasked text input
textareaMulti-line text input
secrettextareaMasked multi-line text input
checkboxBoolean checkbox
urlURL input
toggleBoolean toggle
radioRadio button group with optional field dependencies
selectDropdown selector with optional field dependencies
listMulti-item list input
keyValueKey-value pair input
cardListDynamic card-based input with add/copy/delete actions

accountSchema

Defines the schema for accounts in ISC populated by data from the source.

accountSchema Fields

PropertyTypeRequiredDescription
displayAttributestringYesThe attribute used to map to Account Name in ISC. Should be unique so ISC can correlate accounts between ISC and the source.
identityAttributestringYesThe attribute used to map to Account ID in ISC. Must be a globally unique identifier (e.g., email address, employee ID).
groupAttributestringNoThe attribute used to map accounts to entitlements (e.g., "groups").
attributesAccount Attribute[]YesOne or more attributes mapping to user attributes on the target source.

Account Attribute

PropertyTypeRequiredDescription
namestringYesThe attribute's name as it appears in ISC.
typestringYesThe attribute's data type. Valid values: string, boolean, long, int.
descriptionstringNoA helpful description of the attribute, useful to source owners reviewing the account schema.
entitlementbooleanNoWhether this attribute is an entitlement. Entitlements grant identities privileges on the source system.
managedbooleanNoWhether the entitlements are manageable through ISC (true) or read-only (false).
multibooleanNoWhether this attribute stores multiple entitlements in an array format.

entitlementSchemas

An array of entitlement schema objects defining the entitlement types available from the source.

Entitlement Schema

PropertyTypeRequiredDescription
typestringYesThe entitlement type. Currently only "group" is supported.
displayAttributestringYesThe attribute used as the human-friendly display name for the entitlement (e.g., name).
identityAttributestringYesThe attribute used as the unique identifier for the entitlement (e.g., id).
attributesEntitlement Attribute[]YesThe list of attributes on the entitlement schema.

Entitlement Attribute

PropertyTypeRequiredDescription
namestringYesThe attribute's name as it appears in ISC.
typestringYesThe attribute's data type. Valid values: string, boolean, long, int.
descriptionstringNoA helpful description of the attribute, useful to source owners reviewing the entitlement schema.

accountCreateTemplate

Maps identity attributes ISC will pass to the connector when creating an account in the target source.

accountCreateTemplate Fields

PropertyTypeRequiredDescription
fieldsCreate Template Field[]YesAn array of field definitions for account creation.

Create Template Field

PropertyTypeRequiredDescription
keystringYesThe unique identifier for the attribute. Also the name shown in the Create Profile screen in ISC.
labelstringYesA friendly display name for the attribute.
typestringYesThe attribute's data type. Valid values: string, boolean, long, int.
requiredbooleanNoWhether this attribute is required for account creation. If true and ISC encounters an identity missing this attribute, the account will not be sent to the connector for creation. Defaults to false.
initialValueInitial ValueNoSpecifies a default, identity-mapped, or generated value for the attribute.

Initial Value

PropertyTypeRequiredDescription
typestringYesThe value source type. Valid values: identityAttribute, generator, static.
attributesobjectYesAttributes specific to the chosen type. See the tables below.

identityAttribute attributes

PropertyTypeRequiredDescription
namestringYesThe identity attribute to map from (e.g., "email", "uid").

generator attributes

PropertyTypeRequiredDescription
namestringYesThe generator to use. Valid values: "Create Password", "Create Unique Account ID".
maxSizeintegerNo(Create Unique Account ID only) Maximum length of the generated username.
maxUniqueChecksintegerNo(Create Unique Account ID only) Maximum number of retries if a unique ID is not generated on the first attempt.
templatestringNo(Create Unique Account ID only) Template used for generation (e.g., "$(firstname).$(lastname)$(uniqueCounter)").

static attributes

PropertyTypeRequiredDescription
valuestringYesThe static default value to use.