---
title: action - Scoped, Global
description: The action API provides methods to handle data for URLs in a UI action script.Gets a GlideURI object to determine the user view.Gets the URL of the return page in view after a UI action is complete.Gets the value of a URL parameter.Opens a page with a GlideRecord in the user view.Indicates whether to enable or disable pop-up windows on the page in the current view.Sets the redirect URI for this transaction, which determines the next page the user sees.Sets the return URI for this transaction after a UI action is complete. You can use this method to determine what page the user has in view when they return from submit.Sets a URL parameter name and value.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/server-api-reference/ActionAPIBoth.html
release: australia
product: Server API Reference
classification: server-api-reference
topic_type: concept
last_updated: "2026-03-12"
reading_time_minutes: 4
breadcrumb: [Server API reference, API reference, API implementation and reference]
---
# action - Scoped, Global
The action API provides methods to handle data for URLs in a UI action script.
Use this API to configure UI actions with which users can interact. Use these scripts in the UI Action \[sys\_ui\_action\] table. For information, see [UI actions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/t_EditingAUIAction.md).
Methods for this API are referred to by the variable name 'action' in any server-side JavaScript. To learn more, see [Creating interactions with UI actions](https://developer.servicenow.com/blog.do?p=/post/training-ui-action-101/).
**Parent Topic:**[Server API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/api-server.md)
## action - getGlideURI\(\)
Gets a GlideURI object to determine the user view.
|Name|Type|Description|
|----|----|-----------|
|None| | |
|
Type
|
Description
|
|---|
|
Object
|
GlideURI object representing the URI parameter of the user view.- [GlideURI - Scoped](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_GlideURIScopedAPI.md)
- [GlideURI - Global](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/GlideURIGlobalAPI.md)
**Note:** Any other returned value is considered an error, including null.
|
The following example shows how to get the user view and set the redirect URL to the service catalog home page.
```
var uri = action.getGlideURI();
var path = 'catalog_home.do';
uri.set('sysparm_view', 'catalog_default');
action.setRedirectURL(uri.toString(path));
```
## action - getReturnURL\(\)
Gets the URL of the return page in view after a UI action is complete.
|Name|Type|Description|
|----|----|-----------|
|None| | |
|Type|Description|
|----|-----------|
|String|URL of the return page in view after a UI action is complete.|
```
action.getReturnURL();
```
## action - getURLParameter\(String parameterName\)
Gets the value of a URL parameter.
|Name|Type|Description|
|----|----|-----------|
|parameterName|String|Name of the URL parameter name to be queried for the URL parameter value.|
|Type|Description|
|----|-----------|
|String|URL parameter value.|
```
action.getURLParameter('sysparm_query');
```
## action - openGlideRecord\(Object gr\)
Opens a page with a GlideRecord in the user view.
|Name|Type|Description|
|----|----|-----------|
|gr|[GlideRecord](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_GlideRecordScopedAPI.md)|GlideRecord of the page to be opened in the user view.|
|Type|Description|
|----|-----------|
|void| |
The following example shows how to include the caller name and incident description created from an interaction record. For more details, see [Customizing Configurable Workspace with declarative actions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-user-interface/declarative-actions-landing.md).
```
if(current.update()){
var inc = new GlideRecord("incident");
inc.newRecord();
inc.caller_id = current.opened_for;
inc.short_description = current.short_description;
action.openGlideRecord(inc);
}
```
## action - setNoPop\(Boolean noPop\)
Indicates whether to enable or disable pop-up windows on the page in the current view.
|
Name
|
Type
|
Description
|
|---|
|
noPop
|
Boolean
|
Flag indicating whether to enable or disable pop-up windows on the page:- true: Disables pop-up windows.
- false: Default. Enables pop-up windows.
|
|Type|Description|
|----|-----------|
|None| |
The following example shows how to disable pop-up windows for a UI action.
```
action.setNoPop(true);
```
## action - setRedirectURL\(Object URL\)
Sets the redirect URI for this transaction, which determines the next page the user sees.
For use cases:
- [Create a UI routing action](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/useful-client-side-scripts.md)
- [Create knowledge articles from HR cases](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/ui-action-hrcase-article.md)
- [Task relationships with UI actions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r_UIActions.md)
|Name|Type|Description|
|----|----|-----------|
|URL|Object|URL to set as the redirect. You can provide the URL as a string or a [GlideRecord](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_GlideRecordScopedAPI.md). If you pass the URL as a GlideRecord, this value takes the focus to that record's form.|
|Type|Description|
|----|-----------|
|void| |
The following example shows how to redirect a user to a URL from a UI action using the [current](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/c_ScriptableServiceCatalogVariables.md) variable.
```
var fixchg = new GlideRecord("change_request");
fixchg.short_description= current.short_description;
fixchg.comments= current.comments.getHTMLValue();
// fixchg.parent = current.sys_id;
fixchg.insert();
FixChange();
gs.addInfoMessage("Change "+ fixchg.number+" created");
action.setRedirectURL(current);
action.setReturnURL(fixchg);
function FixChange(){
var m2m = new GlideRecord('task_rel_task');
m2m.initialize();
m2m.child= current.sys_id;
m2m.parent= fixchg.sys_id;
m2m.type.setDisplayValue("Fixes::Fixed by");
m2m.insert();}
```
The following example shows how to create a new incident record and redirect to the new incident after a UI action completes.
```
var reqItem = current.u_item;
var requestedFor = current.u_requested_for;
var location = current.location;
if(current.u_incident_request == 'Incident'){
//Create a new incident record and redirect to the new incident
var rec = new GlideRecord('incident');
rec.initialize();
rec.caller_id = requestedFor;
rec.location = location;
rec.insert();
action.setRedirectURL(rec);
}
if(current.u_incident_request == 'Request'){
//Build the url and route the user to the request item
var url = '';
if(current.u_item.sys_class_name == 'sc_cat_item_guide'){
url = 'com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_initial=true&sysparm_guide=' +
reqItem + '&sysparm_user=' + requestedFor + '&sysparm_location=' + location;
}
else{
url = 'com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=' + reqItem + '&sysparm_user=' +
requestedFor + '&sysparm_location=' + location;
}
action.setRedirectURL(url);
}
```
## action - setReturnURL\(Object URL\)
Sets the return URI for this transaction after a UI action is complete. You can use this method to determine what page the user has in view when they return from submit.
|Name|Type|Description|
|----|----|-----------|
|URL|Object|URI to set as the return location after a UI action is complete. You can provide the URL as a string or a [GlideRecord](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/c_GlideRecordScopedAPI.md).|
|Type|Description|
|----|-----------|
|void| |
The following example enables the user to select the UI action to create a change record using information from the problem record and the change template. After the change, the user returns to [current](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/c_ScriptableServiceCatalogVariables.md) view. For more information, see [Scripted templates](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r_ScriptedTemplates.md). For more use cases, see [Task relationships with UI actions](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-administration/r_UIActions.md).
```
var change = new GlideRecord("change_request");
change.initialize();
change.short_description = current.short_description;
change.description = current.u_details;
change.cmdb_ci = current.u_service;
change.priority = current.priority;
change.requested_by = current.caller_id;
change.assignment_group.setDisplayValue('Change & Release');
change.u_status = 'New';
change.parent = current.number;
change.applyTemplate("standard_rfc");
current.rfc = change.insert();
current.comments = 'Change ' + change.number + ' created.';
var mySysID = current.update();
gs.addInfoMessage("Change " + change.number + " created");
action.setRedirectURL(change);
action.setReturnURL(current);
```
## action - setURLParameter\(String parameterName, String parameterValue\)
Sets a URL parameter name and value.
|Name|Type|Description|
|----|----|-----------|
|parameterName|String|Name of the URL parameter.|
|parameterValue|String|Value of the parameter.|
|Type|Description|
|----|-----------|
|void| |
```
action.setURLParameter('sysparm_query', 'priority=2^active=true');
```