--- 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'); ```