---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# SPScriptedFacet - Scoped

# SPScriptedFacet - Scoped {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

Defines facet items, filters, or mapped queries for a facets object.

You can only use the SPScriptedFacet API in a facet generation script in a
Service Portal search source. The facet generation script is only visible
when Is scripted source is selected.

There is no constructor for this class. Instead, use the [createFacet()](https://servicenow-prod.fluidtopics.net/o6tA1zvXE8WlWESgrWqCyw#SPSFServiceScoped-createFacet_S_S "Creates a single choice facets object.") or [createMultiChoiceFacet()](https://servicenow-prod.fluidtopics.net/o6tA1zvXE8WlWESgrWqCyw#SPSFServiceScoped-createMultiSelectFacet_S_S "Creates a multi choice facets object.") methods of the [SPScriptedFacetService](https://servicenow-prod.fluidtopics.net/o6tA1zvXE8WlWESgrWqCyw#SPScriptedFacetServiceScopedAPI "Generates a multi-choice or single-choice facets object for an advanced search source.") class to generate a facets object.

## SPScriptedFacet - addFacetItem(String label, Object valueObj) {#ariaid-title2}

Adds facet items or mapped queries to a facets object.
Before adding facet items to a facets object, create the facets object using the
createFacet() or createMultiChoiceFacet() methods of
the SPScriptedFacetService class.
{#SPSFScoped-addFacetItem_S_O__table_jzf_lfv_5cb__entry__3}

| Name | Type | Description |
|-|-|-|
| label | String | The display label for the facet item or mapped query. |
| valueObj | Object | The facet item or mapped query for the facet. Can only contain types String, Number, Boolean, and Double. |
[Table 1. Parameters]

{#SPSFScoped-addFacetItem_S_O__table_jzf_lfv_5cb} {#SPSFScoped-addFacetItem_S_O__table_kzf_lfv_5cb__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 2. Returns]

{#SPSFScoped-addFacetItem_S_O__table_kzf_lfv_5cb}  

    function createMultiChoiceFacetFromKB(label, variable, values, orderBy){
      if(!values || values.length == 0)
        return;

      var kbFacet = facetService.createMultiChoiceFacet(label, variable);
      var kbMap = {};
      for(var i in values) {
        var key = values[i].label;
        var value = values[i].id;
        var parent = new KBParentData().getParentCategory(value, key);
        key = parent.join(' > ');
        kbMap[key] = value;
      }

      var labels = Object.keys(kbMap).sort();
      for (i = 0; i < labels.length; i++) {
        var currentLabel = labels[i];
        kbFacet.addFacetItem(currentLabel, kbMap[currentLabel]);
        //adds facet search options for each kbMap entry
      }
    }


