SingleLineTextVariable
Creates a single-line text input variable for service catalog forms. Use for short text fields like names, titles, or identifiers. The value is a plain string with optional regex validation and placeholder text. Add a SingleLineTextVariable to a CatalogItem or VariableSet via the variables property.
Signature
SingleLineTextVariable(config)
Parameters
config
SingleLineTextVariableType<string, string>
Configuration for the single line text variable including:
Properties:
-
question (required):
string -
active (optional):
boolean -
alwaysExpand (optional):
booleanAlways expand -
attributes (optional):
stringAttributes of the variable -
category (optional):
stringCategory -
conversationalLabel (optional):
string -
createRoles (optional):
(string | Role)[] -
defaultValue (optional):
string | Default -
deliveryPlan (optional):
stringDelivery plan -
dependentQuestion (optional):
string | ReturnType<typeof ReferenceVariable> | ReturnType<typeof RequestedForVariable>TheRequestedForVariableorReferenceVariablewhose selected record is used as the source for the dynamic default. Accepts the variable's name as a string (e.g.'requestedFor'), or a dot-walk into an attached VariableSet'svariables(e.g.employeeSet.variables.requestedFor). A direct reference to a variable's own const (e.g.dependentQuestion: requestedForVar) is not supported — use the string name or a VariableSet dot-walk instead. When the user selects a value in the dependent question variable, this variable auto-populates based on thedotWalkPath. For example, ifdependentQuestion: 'requestedFor'anddotWalkPath: 'first_name', selecting a user will auto-populate this field with that user's first name. RequiresuseDynamicDefault: true. -
description (optional):
stringDescription -
disableInitialSlotFill (optional):
boolean -
dotWalkPath (optional):
stringThe dot-walk path from the dependent question's referenced record to retrieve the default value. For example,'first_name'retrieves the first_name field,'department.name'retrieves the department's name. Used together withdependentQuestionanduseDynamicDefault: true. -
exampleText (optional):
string -
field (optional):
stringField to map (required when mapToField is true) -
global (optional):
booleanGlobal -
helpTag (optional):
string -
helpText (optional):
string -
hidden (optional):
booleanIndicates whether the field is hidden. Cannot be true when mandatory is true. -
instructions (optional):
string -
layout (optional):
'normal' | '2across' | '2down'Layout style for the container -
mandatory (optional):
booleanIndicates whether the field must contain a value. Cannot be true when hidden or readOnly is true. -
mapToField (optional):
booleanMap to field -
order (optional):
numberOrder in which the variable appears -
postInsertScript (optional):
stringPost insert script -
pricingDetails (optional):
PricingDetail[]Pricing details -
pricingImplications (optional):
booleanPricing implications -
readOnly (optional):
booleanIndicates whether the field is read-only. Cannot be true when mandatory is true. -
readRoles (optional):
(string | Role)[] -
readScript (optional):
stringRead script -
removeFromConversationalInterfaces (optional):
booleanRemove from Conversational Interfaces -
showHelp (optional):
boolean -
tooltip (optional):
string -
unique (optional):
booleanUnique value -
useDynamicDefault (optional):
booleanUse dynamic default -
validateRegex (optional):
string | Record<'question_regex'>Whether to validate the regex expression pattern -
visibility (optional):
'Always' | 'Bundle' | 'Standalone'Visibility -
visibleBundle (optional):
boolean -
visibleGuide (optional):
booleanIndicates whether the variable is visible in guides -
visibleStandalone (optional):
booleanIndicates whether the variable is visible when standalone -
visibleSummary (optional):
booleanIndicates whether the variable is visible in summaries -
width (optional):
100 | 25 | 50 | 75Width of the variable -
writeRoles (optional):
(string | Role)[]
Examples
Basic Single Line Text
import { CatalogItem, SingleLineTextVariable } from '@servicenow/sdk/core'
CatalogItem({
$id: Now.ID['employee_name_lookup'],
name: 'Employee Name Lookup',
shortDescription: 'Collect an employee name',
variables: {
employeeName: SingleLineTextVariable({
question: "Employee Name",
order: 100,
mandatory: true,
exampleText: "John Smith",
}),
},
})
Dynamic Default with dependentQuestion
Auto-populate a text field based on a reference variable:
import { CatalogItem, RequestedForVariable, SingleLineTextVariable } from '@servicenow/sdk/core'
CatalogItem({
$id: Now.ID['first_name_auto_populate'],
name: 'First Name Auto Populate',
shortDescription: 'Auto-populate first name from requested for',
variables: {
requestedFor: RequestedForVariable({
question: 'Requested For',
order: 100,
mandatory: true,
}),
firstName: SingleLineTextVariable({
question: 'First Name',
order: 200,
useDynamicDefault: true,
dependentQuestion: 'requestedFor',
dotWalkPath: 'first_name',
}),
},
})