---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Create custom controllers (Advanced feature)

# Create custom controllers (Advanced feature) {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

Build custom controllers to use across experiences. Easily connect reusable data, scripts, and events to your page and set up inputs, outputs, and events.

## Before you begin

Role required: ui_builder_admin

## Procedure

1. Navigate to AllNow Experience FrameworkUI Builder.
2. Select Create.
3. Select Controller.
4. On the form, fill in the fields.  
   {#controller-builder__table_s4y_ryn_15b__entry__2}

   | Field | Description |
   |-|-|
   | Name | Name to track your controller internally. |
   | Description | Short description to help find your controller. Write a description that helps page builders understand what content is included in the controller. |
   [Table 1. Create a page collection form]

   {#controller-builder__table_s4y_ryn_15b}
5. Select Create.  
   The controller building window opens.

6. Add data resources.
   1. Select + Add data resource.
   2. Select a data resource from the list.
   3. Select Add.
   4. Configure the data resource.
   5. Select Save.
7. **Optional:** Add an external controller dependencies.
   1. Select + Add external controller dependency.
   2. On the form, fill in the fields.  
      {#controller-builder__table_ohr_wrv_sdc__entry__2}

      | Field | Description |
      |-|-|
      | Name | Name to identify your external controller dependency. |
      | Label | Label to help find your external controller dependency. |
      | Controller | Select a controller for your external controller dependency. |
      [Table 2. Edit external controller dependency]

      {#controller-builder__table_ohr_wrv_sdc}
   3. Select Save.
8. **Optional:** Add client state parameters.
   1. Select Client sate parameters.
   2. Select + Add.
   3. Enter a unique name for the client state parameter.
   4. Select the type from the dropdown.
   5. Enter an initial value in the field.
   6. Select Save.

   {#controller-builder__substeps_ll4_rsv_sdc}  
   For more information about client state parameters, see [Client state parameters](https://servicenow-prod.fluidtopics.net/gwCDEpNGb6DebjT93kAHww "Use client state parameters to bind values to component configurations. When the client state parameter's value changes, the component updates to use the new value.").
9. **Optional:** Add client scripts.
   1. Select the + icon next to Client scripts.
   2. Write your script to perform an action.
   3. **Optional:** Add a Script include or Associated components, which shows up in the `imports` parameter of your client script function.
   4. Select Apply.
   5. Select Save.

## What to do next

Use the custom controller you just created by [adding the controller to a page.](https://servicenow-prod.fluidtopics.net/gyIerqFmP0WfCX4GVx9Yuw#add-controller "Add a data controller to your page to use component presets.")

*[\>]: and then


