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

    Interface ServicePortal

    interface ServicePortal {
        $id: string | number | ExplicitKey<string>;
        $meta?: { installMethod?: "first install" | "demo" | "once" };
        $override?: Record<string, string | number | boolean>;
        alternatePortal?: string | Record<"sp_portal">;
        catalog?: string | Record<"sc_catalog">;
        catalogHomePage?: string | Record<"sp_page"> | SPPage;
        catalogs?: {
            active?: boolean;
            catalog: string | Record<"sc_catalog">;
            order?: number;
        }[];
        categoryHomePage?: string
        | Record<"sp_page">
        | SPPage;
        chatQueue?: string | Record<"chat_queue">;
        communicationChannels?: string[];
        cssVariables?: string;
        darkTheme?: string | Record<"sp_theme"> | SPTheme;
        defaultPortal?: boolean;
        embeddableMacroponents?: string[];
        enableAiSearch?: boolean;
        enableCertificateBasedAuthentication?: boolean;
        enableFavorites?: boolean;
        enableWebEmbeddables?: boolean;
        hidePortalName?: boolean;
        homePage?: string | Record<"sp_page"> | SPPage;
        icon?: string;
        inactive?: boolean;
        knowledgeBase?: string | Record<"kb_knowledge_base">;
        knowledgeBases?: {
            active?: boolean;
            knowledgeBase: string | Record<"kb_knowledge_base">;
            order?: number;
        }[];
        knowledgeHomePage?: string
        | Record<"sp_page">;
        loginPage?: string | Record<"sp_page"> | SPPage;
        logo?: string;
        logoAltText?: string;
        mainMenu?: string | Record<"sp_instance_menu"> | SPMenu;
        notFoundPage?: string | Record<"sp_page"> | SPPage;
        protectionPolicy?: "read" | "protected";
        quickStartConfig?: string;
        searchApplication?: string | Record<"sys_search_application">;
        searchResultsConfiguration?: string | Record<"sys_ux_composite_definition">;
        searchSources?: {
            order?: number;
            searchSource: string | Record<"sp_search_source">;
        }[];
        supportRightToLeftLanguages?: boolean;
        taxonomies?: {
            active?: boolean;
            order?: number;
            taxonomy: string
            | Record<"taxonomy">;
        }[];
        textIndexGroup?: string
        | Record<"ts_index_group">;
        theme?: string | Record<"sp_theme"> | SPTheme;
        title: string;
        urlSuffix: string;
    }
    Index

    Properties

    $id: string | number | ExplicitKey<string>
    $meta?: { installMethod?: "first install" | "demo" | "once" }

    Type Declaration

    • OptionalinstallMethod?: "first install" | "demo" | "once"

      Map a record to an output folder that loads only in specific circumstances. 'first install' -> 'unload' (only loaded when plugin is first registered), 'demo' -> 'unload.demo' (only loaded when demo data is loaded), 'once' -> 'apply_once' (scripts that are only applied once)

    $override?: Record<string, string | number | boolean>

    Set properties not directly supported by this API.

    alternatePortal?: string | Record<"sp_portal">

    Portal to redirect users to when this portal is inactive. Only applies when inactive is true.

    catalog?: string | Record<"sc_catalog">

    Default service catalog for the portal. References a sc_catalog record.

    Use catalogs array instead.

    catalogHomePage?: string | Record<"sp_page"> | SPPage

    Page displayed as the Service Catalog home/landing page.

    catalogs?: {
        active?: boolean;
        catalog: string | Record<"sc_catalog">;
        order?: number;
    }[]

    Ordered list of service catalogs (sc_catalog) available in the portal. Controls which catalogs appear in catalog browsing and ordering. active controls visibility.

    []
    
    categoryHomePage?: string | Record<"sp_page"> | SPPage

    Page displayed when browsing Service Catalog categories (sc_category). Typically the catalog category listing page.

    chatQueue?: string | Record<"chat_queue">

    Chat queue (chat_queue) used for Virtual Agent or live chat integration. When set, the portal header may display a chat launcher button.

    communicationChannels?: string[]

    Array of sys_ids referencing communication channel records used for Virtual Agent or ITSM chat integration in this portal.

    cssVariables?: string

    JSON string defining portal-level CSS custom properties (variables). These override theme variables and apply across all pages in the portal.

    '{"--color-primary":"#0070d2","--font-size-base":"14px"}'
    
    darkTheme?: string | Record<"sp_theme"> | SPTheme

    Dark mode theme applied when the user selects dark mode. References an sp_theme record.

    defaultPortal?: boolean

    Makes this the default portal, used when navigating via /?id=<pageId> without an explicit portal suffix.

    false
    
    embeddableMacroponents?: string[]

    Array of sys_ids referencing Next Experience macroponent records (sys_ux_macroponent) that can be embedded within this portal.

    enableAiSearch?: boolean

    Enables the AI-powered search experience (Unified Search / NLU). Requires a configured searchApplication and searchResultsConfiguration.

    false
    
    enableCertificateBasedAuthentication?: boolean

    Enables certificate-based authentication for portal access. When true, users must present a valid client certificate.

    false
    
    enableFavorites?: boolean

    Enables the Quick Start / Favorites panel, allowing users to pin frequently used catalog items, knowledge articles, and pages.

    false
    
    enableWebEmbeddables?: boolean

    Allows Next Experience web components (macroponents) to be embedded within Service Portal widgets and pages.

    false
    
    hidePortalName?: boolean

    Hides the portal title text in the header navigation bar. Useful when the logo already conveys the portal name.

    false
    
    homePage?: string | Record<"sp_page"> | SPPage

    Default landing page shown when a user navigates to the portal root URL.

    icon?: string

    Browser favicon for the portal. Accepts a sys_id string of a user_image attachment.

    inactive?: boolean

    Deactivates the portal, making it inaccessible to users. Users attempting to access it are redirected to alternatePortal if set.

    false
    
    knowledgeBase?: string | Record<"kb_knowledge_base">

    Default knowledge base for knowledge search and filtering. References a kb_knowledge_base record.

    Use knowledgeBases array instead.

    knowledgeBases?: {
        active?: boolean;
        knowledgeBase: string | Record<"kb_knowledge_base">;
        order?: number;
    }[]

    Ordered list of knowledge bases (kb_knowledge_base) available in the portal. Used to scope KB search and article browsing. active controls visibility.

    []
    
    knowledgeHomePage?: string | Record<"sp_page">

    Page displayed as the Knowledge Management home/landing page.

    loginPage?: string | Record<"sp_page"> | SPPage

    Page shown to unauthenticated users instead of the requested page.

    logo?: string

    Logo image displayed in the portal header. Accepts a sys_id string of a user_image attachment or a Now.attach() reference.

    logoAltText?: string

    Accessible alt text for the logo image, used by screen readers.

    mainMenu?: string | Record<"sp_instance_menu"> | SPMenu

    Navigation menu rendered in the portal header. References an sp_instance_menu record.

    notFoundPage?: string | Record<"sp_page"> | SPPage

    Page rendered when a route cannot be matched (HTTP 404 equivalent).

    protectionPolicy?: "read" | "protected"

    Controls edit/view access for other developers after the application is installed.

    • read: Others can see the script logic but not change it.
    • protected: Others cannot change this record.
    • Omit to allow other developers to customize this record.
    quickStartConfig?: string

    JSON string configuring the Quick Start / Favorites feature appearance. Controls favorite icon styles (e.g. checked/unchecked icon names and colors).

    '[{"favorite":{"icon_checked":"fa-heart","icon_unchecked":"fa-heart-o","color":"primary"}}]'
    
    searchApplication?: string | Record<"sys_search_application">

    Search application (sys_search_application) that defines which content sources (tables, KB, catalog) are included in portal search.

    searchResultsConfiguration?: string | Record<"sys_ux_composite_definition">

    Unified Search composite definition (sys_ux_composite_definition) that controls how search results are rendered. Used when AI Search or Unified Search is enabled.

    searchSources?: {
        order?: number;
        searchSource: string | Record<"sp_search_source">;
    }[]

    Ordered list of search sources (sp_search_source) available in portal search. Each entry's order controls its position in search result grouping.

    []
    
    supportRightToLeftLanguages?: boolean

    Enables right-to-left (RTL) text layout for languages such as Arabic and Hebrew. When true, the portal layout mirrors horizontally.

    false
    
    taxonomies?: {
        active?: boolean;
        order?: number;
        taxonomy: string | Record<"taxonomy">;
    }[]

    Ordered list of taxonomy entries for portal navigation and content classification. active controls whether the taxonomy is visible to portal users.

    []
    
    textIndexGroup?: string | Record<"ts_index_group">

    Full-text search index group (ts_index_group) used to scope portal search to specific content. Controls what text is indexed and searched.

    theme?: string | Record<"sp_theme"> | SPTheme

    Light mode theme applied to all pages in the portal. References an sp_theme record.

    title: string

    Portal display name shown in the browser tab and portal header (required)

    urlSuffix: string

    URL path suffix used to access the portal. For example, a value of 'esc' makes the portal accessible at /<instance>/esc. Must be lowercase, may contain hyphens and underscores, and cannot start/end with an underscore.

    ''