--- title: SPScriptedFacetService - Scoped description: Generates a multi-choice or single-choice facets object for an advanced search source.Creates a single choice facets object.Creates a multi choice facets object. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/server-api-reference/SPScriptedFacetServiceScopedAPI.html release: australia product: Server API Reference classification: server-api-reference topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 1 breadcrumb: [Server API reference, API reference, API implementation and reference] --- # SPScriptedFacetService- Scoped Generates a multi-choice or single-choice facets object for an advanced search source. The SPScriptedFacetService API can only be used 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\(\) or createMultiChoiceFacet\(\) methods to generate a facets object. **Parent Topic:**[Server API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/api-server.md) ## SPScriptedFacetService - createFacet\(String label, String id\) Creates a single choice facets object. After creating the facets object, add facet items or mapped queries to the facet using the addFacetItem\(\) method of the SPScriptedFacet class. |Name|Type|Description| |----|----|-----------| |label|String|Label for the facet.| |id|String|ID for the facet.|
Type Description
Object Single choice facets object. Returns an error when:- A duplicate label or ID is found. - A label or ID is not defined.
Can only be used in a facet generation script in a Service Portal advanced search source. ``` var stateFacet = facetService.createFacet("State", "state"); ``` ## SPScriptedFacetService - createMultiChoiceFacet\(String label, String id\) Creates a multi choice facets object. After creating the facets object, add facet items or mapped queries to the facet using the addFacetItem\(\) method of the SPScriptedFacet class. |Name|Type|Description| |----|----|-----------| |label|String|Label for the facet.| |id|String|ID for the facet.|
Type Description
Object Multi choice facets object. Returns an error when: - A duplicate label or ID is found. - A label or ID is not defined.
``` 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 } } ```