@servicenow/sdk - v4.9.0
    Preparing search index...

    Configuration properties for a Playbook (Argument 1 of PlaybookDefinition).

    The config object holds the playbook's declarative state — inputs and outputs — next to parentTable. This lets TypeScript capture the inputs schema as a const generic and thread it through the 2nd-arg triggers callback so the mapper return type is constrained to the declared inputs.

    interface PlaybookConfig<
        I extends Record<string, Column> = Record<string, Column>,
        O extends Record<string, Column> = Record<string, Column>,
    > {
        $id: string | number | ExplicitKey<string>;
        access?: PlaybookAccess;
        active?: boolean;
        allowAsNested?: boolean;
        copiedFrom?: string;
        copiedFromLabel?: string;
        dataRetentionPeriodOverride?: PlaybookDataRetentionPeriod;
        description?: string;
        designerState?: string;
        executionType?: "record_driven";
        inputs?: I;
        label: string;
        name?: string;
        nowAssistKb?: string;
        nowAssistPrompt?: string;
        outputs?: O;
        parentTable?: keyof Tables;
        processType?: string;
        restartable?: PlaybookRestartable;
        runStrategy?: PlaybookRunStrategy;
        schemaVersion?: number;
        snapshot?: string;
        status?: "draft" | "published";
    }

    Type Parameters

    Index

    Properties

    $id: string | number | ExplicitKey<string>

    Unique identifier (required)

    Accessible from: this scope only or all scopes

    active?: boolean

    Whether the playbook is active. Defaults to true; preserved for round-trip data integrity.

    allowAsNested?: boolean

    Whether playbook can be used as nested playbook

    copiedFrom?: string

    Reference to the playbook this was copied from. Read-only; preserved for round-trip data integrity.

    copiedFromLabel?: string

    Display label of the playbook this was copied from. Read-only; preserved for round-trip data integrity.

    dataRetentionPeriodOverride?: PlaybookDataRetentionPeriod

    Overrides the default data retention period for playbook execution data. Omitted from generated code when the value equals the platform default ('6_week').

    description?: string

    Optional description of playbook purpose

    designerState?: string

    Platform-managed designer state. Read-only; preserved for round-trip data integrity.

    executionType?: "record_driven"

    Execution type

    inputs?: I

    Playbook inputs - data passed into the playbook

    label: string

    Human-readable label shown in UI (required)

    name?: string

    Optional internal name (auto-generated from label if not provided)

    nowAssistKb?: string

    Now Assist knowledge base reference. Read-only; preserved for round-trip data integrity.

    nowAssistPrompt?: string

    Now Assist prompt associated with this playbook. Read-only; preserved for round-trip data integrity.

    outputs?: O

    Playbook outputs - data returned from the playbook

    parentTable?: keyof Tables

    Table whose records this playbook operates on. Auto-generates a parent_record process input of type Reference pointing to this table. In the body, the record is accessible via params.parentRecord and is dot-walkable to all fields of the referenced table.

    processType?: string

    Playbook type name. Defaults to 'Standard playbook' when omitted. Must exist in the SDK process type mapping, for example 'Standard playbook'. Custom playbook types are not automatically supported in Fluent; each supported type requires explicit SDK mapping and diagnostics/feature handling.

    restartable?: PlaybookRestartable

    Whether playbook can be restarted

    runStrategy?: PlaybookRunStrategy

    How to handle multiple runs

    schemaVersion?: number

    Schema version. Defaults to the maximum supported version; preserved for round-trip data integrity.

    snapshot?: string

    Reference to the associated sys_pd_snapshot record. Read-only; preserved for round-trip data integrity.

    status?: "draft" | "published"

    Lifecycle status. Defaults to 'draft'; preserved for round-trip data integrity.