---
sourceDocument: Brazil ServiceNow AI Platform user interface
sourceDocumentLink: https://www.servicenow.com/docs/r/platform-user-interface

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil ServiceNow AI Platform user interface

ft:clusterId :

    - platux

bundleId :

    - platux

workflow :

    - Platform


---

# Embeddable APIs

# Embeddable APIs {#ariaid-title1}

Release version: Brazil  
Updated September 25, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read  
Service Portal automatically loads the Seismic framework and embeddable APIs when you enable embeddables. To access these APIs in your Service Portal widget scripts, call the `spEmbeddables` AngularJS service.

## spEmbeddables service {#embeddable-apis__section_i2x_qft_rkc}

The `spEmbeddables` service is the entry point for all embeddable interactions. Inject the `spEmbeddables` service into your widget controller to use the available APIs.

## API details {#embeddable-apis__section_j2x_qft_rkc}

{#embeddable-apis__simpletable_k2x_qft_rkc__stentry__2}

| API | Description and example |
|-|-|
| `init()` | Initializes the embeddables framework with a specified UI Builder theme. Service Portal calls this API automatically based on the theme you configured in the portal settings. |
| `getEmbeddables(tagNames)` | Retrieves embeddable component data by component tag name. For example: spEmbeddables.getEmbeddables(['case-list']).then(function(components) { $scope.caseList = components['case-list']; }); |
| `setEvents(element, events)` | Registers event handlers on an embeddable component element. For example: var caseListElement = document.querySelector('case-list'); spEmbeddables.setEvents(caseListElement, { onSelect: $scope.onCaseSelect, onUpdate: $scope.onCaseUpdate }); |
| `setProperties(element, properties)` | Updates component properties at runtime. The component re-renders with the new values. For example: var caseListElement = document.querySelector('case-list'); spEmbeddables.setProperties(caseListElement, { filterConfig: newFilter }); |

{#embeddable-apis__simpletable_k2x_qft_rkc}

