---
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


---

# ScriptLoader - Client

# ScriptLoader - Client {#ariaid-title1}

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

The ScriptLoader API provides methods to load scripts asynchronously.

You can use this API in client-side scripts for a platform/desktop UI using ListV2 and ListV3 APIs. It isn't available for Service Portal, Mobile, or Agent Workspace.

You access ScriptLoader methods by using the global object `ScriptLoader`.

## ScriptLoader - getScripts(Array scripts, Function callback) {#ariaid-title2}

Loads scripts asynchronously.
{#r_SCRLDR-getScripts_A_F__table_q25_qc5_lv__entry__3}

| Name | Type | Description |
|-|-|-|
| scripts | Array | Array of scripts to load. |
| callback | Function | Function to call when the scripts have been loaded. The callback function must not have any arguments. |
[Table 1. Parameters]

{#r_SCRLDR-getScripts_A_F__table_q25_qc5_lv} {#r_SCRLDR-getScripts_A_F__table_r25_qc5_lv__entry__2}

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

{#r_SCRLDR-getScripts_A_F__table_r25_qc5_lv}  

    var scriptFiles=[
    'scripts/classes/providers/ProviderUI.js',
    'scripts/classes/providers/wf_provider_client_script.js'
    ];

    ScriptLoader.getScripts(scriptFiles, function() {
      ProviderUI.setFields(['input_transform']);
      ProviderUI.apply();
      ProviderUI.removeDisabledAttribute("sys_readonly.wf_element_activity.access");
    }

## ScriptLoader - getScripts(String filePath, Function callback) {#ariaid-title3}

Gets scripts asynchronously.
{#r_SCRLDR-getScripts_S_F__table_nzn_bc5_lv__entry__3}

| Name | Type | Description |
|-|-|-|
| filePath | String | Path, including the file name, that contains one or more scripts. |
| callback | Function | Function to call after the scripts have been loaded. This callback function should not have arguments. |
[Table 3. Parameters]

{#r_SCRLDR-getScripts_S_F__table_nzn_bc5_lv} {#r_SCRLDR-getScripts_S_F__table_ozn_bc5_lv__entry__2}

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

{#r_SCRLDR-getScripts_S_F__table_ozn_bc5_lv}  
This example shows how load a utility script and then run the
getDepartment() function.

    // Client script to load a utility script and run the getDepartment callback function
    ScriptLoader.getScripts('sn_ui_script_util.Utilities.jsdbx', getDepartment);

    function getDepartment() {
      var req = sn_ui_script_util.Utilities.rest('json');
      req.addParam("sysparm_query", "sys_id=" + newValue);
      req.addParam("sysparm_fields", "department");
      req.addParam("sysparm_display_value", true);
      req.success(updateNotes);
      req.get("/api/now/table/sys_user");
    }

    function updateNotes(data) {
      g_form.setValue("work_notes", data.result[0].department.display_value);
    }


