logo

NJP

"Processors", SRAPIs, and How to Run a Script and Redirect a User From a URL in ServiceNow

ServiceNow Developer Pro-Tips · Feb 11, 2021 · article

**Processors** in ServiceNow are (_were_) actually extremely useful things, though they’re surprisingly not very well-known. They give you a URL you can hit (like _my\_processor.do_) and allow you to run a server-side script, then redirect the user to some other page.

Processors are quite useful for situations like generating a record and then redirecting the user to that record just by navigating to one URL, or - by adding some URL parameters (like _my\_processor.do?some\_param=some\_value_) automating some simple or complex processes with nothing more than a single click of a URL! You can generate that URL dynamically and present it in the UI somewhere (for example, by using `gs.addInfoMessage()`), or link to the processor in an email. You could even use something like my “[Set Catalog Variables from URL Parameters](https://snprotips.com/setting-catalog-item-variables-from-url)” tool in conjunction with this functionality to dynamically populate and submit RITMs from a _single click_ of a link in a Knowledge Article!

[ ](https://handbook.snc.guru)

Some pre-existing useful processors are:

* System cache flush (_cache.do_)
* Attachment processor for constructing and viewing attachments (_sys\_attachment.do_)
* Content search (_content\_search.do_)
* Customer service chat (_CustomerServiceChat.do_)
* Export Wizard (_export\_wizard.do_)

While it’s possible to modify the ACLs on the Processor table to allow you to create them again (for now), that may not be the best idea for long-term support.

So, if we don’t use a processor, how can we accomplish this functionality in our app? The answer is Scripted REST APIs (**SRAPIs**) plus a little bit of http header magic!

In this article, we’re going to show you how to accomplish (mostly) the same functionality as a processor using an SRAPI, and provide some code you can use to get your pseudo-processor SRAPI up-and-running within minutes! We’ll also provide some best-practice advice for how to use SRAPIs in this way, and outline some specific use-cases for this sort of thing.

---

There are a few very specific (_and in my opinion, unnecessarily arcane_) things you’ll need to do to emulate the functionality of Processors via SRAPI, but I’ve wrapped those up in a function that you can copy-and-paste into your own SRAPI code to accomplish this goal. Specifically, that’s the `redirectTo()` function in the below code:

(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {

var redirectLink, incidentShortDesc;
var grIncident = new GlideRecord('incident');
var instanceURL = gs.getProperty('glide.servlet.uri', '');

/*
If the request includes the URI parameter "inc_short_desc", get its value.
This will be used to set the generated Incident's Short Description.
If the request doesn't include that param, then just use "Test Incident" as the default.
*/
incidentShortDesc = request.queryParams.inc_short_desc.toString() || 'Test Incident';

//!!!WARNING!!!
//If the user is not logged in, DON'T DO ANYTHING. Just return. Don't even generate the INC.
//Unauthenticated tomfoolery may result if these aren't the first functional lines of code.
if (!gs.isLoggedIn()) {
redirectLink = instanceURL + 'nav_to.do?uri=login.do';
gs.addErrorMessage('Please login and try your request again.');
//Redirect the user to the login page.
redirectTo(response, redirectLink);
return;
}

grIncident.initialize();
grIncident.setValue('caller_id', gs.getUserID());
grIncident.setValue('state', '1'); //1 = "New"
grIncident.setValue('short_description', incidentShortDesc);
//...
grIncident.insert();

redirectLink = instanceURL + 'nav_to.do?uri=' + grIncident.getLink(true);
gs.addInfoMessage('A new Incident has been generated. You have been redirected to the new Incident record. ');
redirectTo(response, redirectLink);

/**
* Set redirect headers necessary to redirect the user to the provided URL.
* The "response" object will be modified in-place, so returning it is not necessary.
* DO NOT CALL THIS FUNCTION WITHOUT VERIFYING THAT THE USER IS AUTHENTICATED FIRST,
* UNLESS YOU WANT THE USER TO BE REDIRECTED TO THE TARGET REGARDLESS OF AUTHENTICATION.
* @param response - The RESTAPIResponse object from the SRAPI to use for
* the redirect. The response object will be modified in-place.
* Docs: https://developer.servicenow.com/dev.do#!/reference/api/orlando/server/sn_ws-namespace/c_RESTAPIResponse?navFilter=rest
* @param redirectURL - Must be full URL including http(s)://
* @example
redirectTo(response, (gs.getProperty('glide.servlet.uri', '') + 'incident.do?sysparm_query=caller_id=' + gs.getUserID()));
*/
function redirectTo(response, redirectURL) {
response.setHeader(
"Cache-Control",
"no-cache,no-store,must-revalidate,max-age=-1"
);
response.setHeader(
"Pragma",
"no-store,no-cache"
);
//This doesn't really matter, but the redirect may sometimes fail without this header.
response.setHeader(
"Expires",
"Thu, 01 Jan 1970 00:00:00"
);
response.setStatus(301); //301 = Redirect
response.setLocation(redirectURL);

return true;
}

})(request, response);

There are a few **very important things** to note about this approach, which I’ll list below. Please **do not attempt this in your instance without carefully reading the below points**!

1. The SRAPI **method** should be **GET**.
2. **Requires authentication** should be set to **false**.
Unless you _want_ **unauthenticated users** to be able to trigger your SRAPI script to run as often as they want (_very risky_), you **must be sure to include** `**gs.isLoggedIn()**` **as a condition for your script running, _before_ it does anything important**!
See my comments and conditional return on lines 14 - 23 in the code above, which prevent unauthenticated users from using this pseudo-processor.
1. I have not _yet_ found a better way of doing this, which is a little disappointing since Processors just handled it for you (including the redirect after the login). If I come up with anything more friendly, I’ll update this article.
_If you have any ideas, please reply in the comments and you’ll be credited for the suggestion if it works!_
3. The redirect URL (the second argument to the `redirectTo()` function) must be a **full URL**, including _http(s)_ or another resource/protocol identifier.

Once you’re done, your SRAPI method should look something like this:

One last tip I’ll mention, is this: In the example above, I’ve actually **generated** a new record, and then redirected a user to it. However, if you aren’t making any changes to the instance or potentially revealing any sensitive data, you don’t need to worry about whether the user is authenticated or not. In fact, if the thing you’re doing is just generating a template, it may actually be _preferable_ to pre-populate a “new record” form _without_ saving it to the database.
If this is the case, then redirecting the user to that form with URL parameters to pre-populate the fields you want pre-populated can be done without authentication, because the instance itself will determine if the user is authenticated before showing them the form. If they’re not authenticated, it’ll ask them to log in and then bounce them _back_ to the pre-populated form after they’re authenticated!

Redirecting a user to a pre-populated dynamic “new record” form also **eliminates the problem of unauthenticated users**, because no actual changes are being made to the instance! Instead, for that specific use-case, if you’re okay just redirecting the user to the “new record” form, with the important values pre-populated but _not yet saved to the database_, you can do so by using the **_sysparm\_query_** URL parameter!

For example:
_https://your\_instance.service-now.com/nav\_to.do?uri=incident.do?_ **_sysparm\_query=category=inquiry_**

> **_Pro-tip_**_: Although you can redirect an unauthenticated user to a new record form that’s pre-populated - if the user is not authenticated, code like_ `_gs.getUserID()_` _won’t work as expected. However, you can often get around this by including something like_ `_javascript:gs.getUserID()_` _in the URL!_
> **_Example_**_: incident.do?sysparm\_query=_ **_caller\_id=javascript:gs.getUserID()_**
> _Just be sure to do something like the following_ to let the user know that they need to click the button to create the record:`_gs.addInfoMessage(‘This Incident has been pre-populated. Please be sure to click Submit after filling out any additional details, to save the Incident!’);_ `

That’s about all there is to it!
If you have questions or comments, please let me know in the Comments section below.
If you found this article helpful, chances are someone else will, too! Share what you’ve learned with your network by sending them a link to this article. 😁

_This post was inspired by some advice from JarodM from the SNDevs community. Thanks, Jarod!_

---

If you’re looking for help with your ServiceNow implementation, backlog killing, or SN development/architecture staff augmentation, [**The SN Guys**](http://snguys.com/) can help! Reach out and [**schedule a call with us**](https://snprotips.com/contact-us) to see what we can do for you.

---

## Subscribe

Sign up with your email address to receive news and updates.

First Name Last Name

Email Address Sign Up

We respect your privacy.

Thank you!

---

* [ September 2025](https://snprotips.com/blog?month=09-2025)
* Sep 14, 2025 [Communicating Changes to Your Users (& Setting Default User Preferences in ServiceNow)](https://snprotips.com/blog/2025/communicating-servicenow-changes-to-your-users)
* [ March 2025](https://snprotips.com/blog?month=03-2025)
* Mar 24, 2025 [Calculate Distance Between Two Locations in ServiceNow (without an API call!)](https://snprotips.com/blog/2025/calculate-the-distance-between-two-locations-without-an-api-call)
* Mar 11, 2025 [5 Ways to Check your ServiceNow Instance for DANGEROUS CODE in Less Than 5 minutes](https://snprotips.com/blog/2023/3-ways-to-check-your-servicenow-instance-for-dangerous-code-in-less-than-5-minutes)
* [ March 2024](https://snprotips.com/blog?month=03-2024)
* Mar 28, 2024 [How to Identify Duplicate Records by Multiple Fields in ServiceNow](https://snprotips.com/blog/2024/how-to-identify-a-duplicate-record-by-multiple-fields-in-servicenow)
* Mar 7, 2024 [How to Merge Personal & Company ServiceNow Accounts](https://snprotips.com/blog/2024/how-to-merge-personal-amp-company-servicenow-accounts)
* [ February 2024](https://snprotips.com/blog?month=02-2024)
* Feb 12, 2024 [5 Lessons About Programming From Richard Feynman](https://snprotips.com/blog/2024/5-lessons-about-programming-from-richard-feynman)
* [ July 2023](https://snprotips.com/blog?month=07-2023)
* Jul 5, 2023 [Managing Instance-Specific System Properties for Dev/Test/Prod in ServiceNow](https://snprotips.com/blog/2023/managing-instance-specific-system-properties-for-devtestprod-in-servicenow)
* [ April 2023](https://snprotips.com/blog?month=04-2023)
* Apr 28, 2023 [Your ACLs and Business Rules are Broken (Here's How to Fix Them)](https://snprotips.com/blog/2023/4/28/your-servicenow-acls-are-broken)
* [ December 2022](https://snprotips.com/blog?month=12-2022)
* Dec 13, 2022 [ServiceNow Developers: BE THE GUIDE!](https://snprotips.com/blog/2022/12/13/be-the-guide)
* [ October 2022](https://snprotips.com/blog?month=10-2022)
* Oct 19, 2022 [A Faster, More Efficient Client-side GlideRecord (Free tool!)](https://snprotips.com/blog/2022/10/19/efficientgliderecord-a-faster-more-efficient-client-side-gliderecord-free-tool)
* Oct 9, 2022 [Animated Loading Message & Collapsible Details on ServiceNow Form or Field (Client-side)](https://snprotips.com/blog/2022/10/7/animated-progress-message-with-collapsible-details-on-servicenow-form-client-side)
* [ August 2022](https://snprotips.com/blog?month=08-2022)
* Aug 23, 2022 [Using .addJoinQuery() & How to Query Records with Attachments in ServiceNow](https://snprotips.com/blog/2022/8/23/using-gliderecords-addjoinquery-amp-how-to-query-for-records-with-attachments-in-servicenow)
* Aug 18, 2022 [Free, Simple URL Shortener for ServiceNow Nerds (snc.guru)](https://snprotips.com/blog/2022/8/18/free-simple-url-shortener-for-servicenow-nerds-sncguru)
* Aug 16, 2022 [How to Get and Parse ServiceNow Journal Entries as Strings/HTML](https://snprotips.com/blog/2022/8/16/how-to-get-servicenow-journal-entries-as-strings)
* Aug 14, 2022 [New tool: Get Latest Version of ServiceNow Docs Page](https://snprotips.com/blog/2022/8/10/0zsig0bjlxn1c8jvk3y8lzajj9x1ox)
* [ March 2022](https://snprotips.com/blog?month=03-2022)
* Mar 4, 2022 [How to Set or Change ServiceNow Application's Repository URL, Credentials, or SSH Key](https://snprotips.com/blog/2022/3/4/how-to-change-servicenow-applications-repositoryurl)
* [ February 2022](https://snprotips.com/blog?month=02-2022)
* Feb 7, 2022 [How to return a CSV file from a Scripted REST API (SRAPI) in ServiceNow](https://snprotips.com/blog/2022/2/7/how-to-return-a-csv-file-from-a-servicenow-scripted-rest-api)
* [ May 2021](https://snprotips.com/blog?month=05-2021)
* May 3, 2021 [Adding a Guided Setup to Your ServiceNow Application](https://snprotips.com/blog/2021/4/27/adding-a-guided-setup-to-your-servicenow-application)
* [ April 2021](https://snprotips.com/blog?month=04-2021)
* Apr 27, 2021 [Use Automated Tests to Validate "Guided Setup" Completion & Functionality.](https://snprotips.com/blog/2021/4/27/use-atf-to-validate-guided-setup)
* [ February 2021](https://snprotips.com/blog?month=02-2021)
* Feb 11, 2021 ["Processors", SRAPIs, and How to Run a Script and Redirect a User From a URL in ServiceNow](https://snprotips.com/blog/2021/1/20/processors-srapis-and-how-to-run-a-script-and-redirect-a-user-from-a-url)
* [ November 2020](https://snprotips.com/blog?month=11-2020)
* Nov 17, 2020 [SN Guys is now part of Jahnel Group!](https://snprotips.com/blog/2020/11/17/the-sn-guys-a-servicenow-consulting-firm-acquired-by-jahnel-group-an-enterprise-software-agency)
* [ September 2020](https://snprotips.com/blog?month=09-2020)
* Sep 14, 2020 [Better ServiceNow Notifications (& Another FREE Tool!)](https://snprotips.com/blog/2020/8/27/eliminating-servicenow-notification-nuisance-amp-another-free-tool)
* [ July 2020](https://snprotips.com/blog?month=07-2020)
* Jul 31, 2020 [Debugging Client & Catalog Client Scripts in ServiceNow](https://snprotips.com/blog/2020/7/31/debugging-client-amp-catalog-client-scripts-in-servicenow)
* [ January 2020](https://snprotips.com/blog?month=01-2020)
* Jan 20, 2020 [Getting Help from the ServiceNow Community](https://snprotips.com/blog/2020/1/20/getting-help-from-the-servicenow-community)
* [ December 2019](https://snprotips.com/blog?month=12-2019)
* Dec 18, 2019 [Can ServiceNow Script Includes Use the "current" Variable?](https://snprotips.com/blog/2019/12/18/can-script-includes-use-the-current-variable)
* [ November 2019](https://snprotips.com/blog?month=11-2019)
* Nov 18, 2019 [Handling 'text/plain' and Other Unsupported Content Types in ServiceNow Scripted REST APIs](https://snprotips.com/blog/2019/11/18/handling-textplain-and-other-unsupported-content-types-in-scripted-rest-apis)
* [ April 2019](https://snprotips.com/blog?month=04-2019)
* Apr 21, 2019 [Understanding Attachments in ServiceNow](https://snprotips.com/blog/2016/2/25/understanding-and-using-glideattachment)
* Apr 10, 2019 [Using Custom Search Engines in Chrome to Quickly Navigate ServiceNow](https://snprotips.com/blog/2019/4/9/using-custom-search-engines-in-chrome-to-quickly-navigate-servicenow)
* Apr 4, 2019 [Set Catalog Variables from URL Params (Free tool)](https://snprotips.com/blog/2019/4/4/set-catalog-variables-from-url-params-free-tool)
* Apr 1, 2019 [Outlook for Android Breaks Email Approvals (+Solution)](https://snprotips.com/blog/2019/4/1/outlook-for-android-breaks-email-approvals)
* [ March 2019](https://snprotips.com/blog?month=03-2019)
* Mar 11, 2019 [GlideFilter is Broken - Free Tool: “BetterGlideFilter”](https://snprotips.com/blog/2019/3/11/glidefilter-is-broken-heres-an-alternative)
* [ February 2019](https://snprotips.com/blog?month=02-2019)
* Feb 27, 2019 [Making Update Sets Smarter - Free Tool](https://snprotips.com/blog/2019/2/27/making-update-sets-smarter)
* [ November 2018](https://snprotips.com/blog?month=11-2018)
* Nov 29, 2018 [How to Learn ServiceNow](https://snprotips.com/blog/2018/10/20/how-to-learn-servicenow)
* Nov 6, 2018 [ServiceNow & ITSM as a Career?](https://snprotips.com/blog/2018/11/6/servicenow-amp-itsm-admindevelopmentarchitecture-as-a-career)
* [ October 2018](https://snprotips.com/blog?month=10-2018)
* Oct 19, 2018 [Asynchronous onSubmit Catalog/Client Scripts in ServiceNow](https://snprotips.com/blog/2018/10/19/synchronous-lite-onsubmit-catalogclient-scripts)
* Oct 11, 2018 [How to do Massive, Slow Database Operations Efficiently With Event-Driven Recursion](https://snprotips.com/blog/2018/10/11/how-to-do-massive-slow-database-operations-without-slowing-down-your-instance)
* [ September 2018](https://snprotips.com/blog?month=09-2018)
* Sep 18, 2018 [Broken Queries & Query Business Rules in ServiceNow](https://snprotips.com/blog/2018/9/18/broken-queries-and-query-rules)
* Sep 7, 2018 [JournalRedactor - Easily Redact or Delete Journal Entries in ServiceNow!](https://snprotips.com/blog/2018/9/7/new-free-tool-journalredactor-easily-redact-or-delete-journal-entries-in-servicenow)
* [ July 2018](https://snprotips.com/blog?month=07-2018)
* Jul 23, 2018 [Admin Duty Separation with a Single Account](https://snprotips.com/blog/2018/7/23/admin-duty-separation-with-a-single-account)
* [ June 2018](https://snprotips.com/blog?month=06-2018)
* Jun 19, 2018 [Improving Performance on Older Instances with Table Rotation](https://snprotips.com/blog/2018/6/19/improving-performance-on-older-instances-with-table-rotation)
* Jun 4, 2018 [New Free Tool: Login Link Generator](https://snprotips.com/blog/2016/9/23/qqbnfzgdo1cr1wwzpsuesn12thyug5)
* [ May 2018](https://snprotips.com/blog?month=05-2018)
* May 29, 2018 [Learning ServiceNow: Second Edition!](https://snprotips.com/blog/2018/5/29/learning-servicenow-second-edition-is-now-available-for-pre-order)
* [ April 2018](https://snprotips.com/blog?month=04-2018)
* Apr 17, 2018 [Upgrading From Express to Enterprise: What's Missing](https://snprotips.com/blog/2018/4/17/upgrading-express-to-enterprise-whats-missing)
* Apr 12, 2018 [If a Genie Gave Me Three Wishes, I'd Use Them All to "Fix" Scope](https://snprotips.com/blog/2018/4/12/if-a-genie-gave-me-three-wishes-id-use-them-all-to-fix-scope)
* [ March 2018](https://snprotips.com/blog?month=03-2018)
* Mar 19, 2018 [Service Catalog "Try in Portal" button](https://snprotips.com/blog/2018/3/15/service-catalog-try-in-portal-button)
* Mar 15, 2018 [Video: Custom Output Transition Conditions From a Single Workflow (Script) Activity](https://snprotips.com/blog/2018/3/15/video-custom-output-transition-conditions-from-a-single-workflow-script-activity)
* [ February 2018](https://snprotips.com/blog?month=02-2018)
* Feb 11, 2018 [We have a new book! ](https://snprotips.com/blog/2018/2/11/we-have-a-new-book)
* [ November 2017](https://snprotips.com/blog?month=11-2017)
* Nov 6, 2017 [Requiring Attachments (& Other Miracles) in Service Portal](https://snprotips.com/blog/2017/11/5/a-better-way-to-check-for-attachments-including-service-portal)
* [ September 2017](https://snprotips.com/blog?month=09-2017)
* Sep 12, 2017 [Handling TimeZones in ServiceNow (TimeZoneUtil)](https://snprotips.com/blog/2017/9/12/handling-timezones-in-servicenow-timezoneutil)
* [ July 2017](https://snprotips.com/blog?month=07-2017)
* Jul 27, 2017 [How to Enable DOM Manipulation in ServiceNow Service Portal Catalog Client Scripts](https://snprotips.com/blog/2017/7/21/how-to-enable-dom-manipulation-in-the-servicenow-service-portal)
* [ June 2017](https://snprotips.com/blog?month=06-2017)
* Jun 25, 2017 [What's New in ServiceNow: Jakarta (Pt. 1)](https://snprotips.com/blog/2017/6/25/whats-new-in-servicenow-jakarta-what-to-expect)
* Jun 4, 2017 [Powerful Scripted Text Search in ServiceNow](https://snprotips.com/blog/2017/6/4/powerful-text-search-in-scripted-glide-record)
* [ May 2017](https://snprotips.com/blog?month=05-2017)
* May 9, 2017 [Work at Lightspeed: ServiceNow's Plan for World Domination](https://snprotips.com/blog/2017/5/9/work-at-lightspeed-servicenows-plan-for-world-domination)
* [ April 2017](https://snprotips.com/blog?month=04-2017)
* Apr 9, 2017 [Avoiding Pass-By-Reference Using getValue() & setValue()](https://snprotips.com/blog/2017/4/9/always-use-getters-and-setters)
* Apr 4, 2017 ["Learning ServiceNow" is Now Available for Purchase!](https://snprotips.com/blog/2017/4/4/learning-servicenow-has-been-published)
* [ March 2017](https://snprotips.com/blog?month=03-2017)
* Mar 12, 2017 [reCAPTCHA in ServiceNow CMS/Service Portal](https://snprotips.com/blog/2016/10/6/implementing-recaptcha)
* [ December 2016](https://snprotips.com/blog?month=12-2016)
* Dec 20, 2016 [Pro Tip: Use updateMultiple() for Maximum Efficiency! ](https://snprotips.com/blog/2016/12/20/pro-tip-use-updatemultiple-for-maximum-efficiency)
* Dec 2, 2016 [We're Writing a Book! ](https://snprotips.com/blog/2016/12/2/were-writing-a-book)
* [ November 2016](https://snprotips.com/blog?month=11-2016)
* Nov 10, 2016 [Chrome Extension: Load in ServiceNow Frame](https://snprotips.com/blog/2016/11/10/chrome-extension-load-in-servicenow-frame)
* [ September 2016](https://snprotips.com/blog?month=09-2016)
* Sep 7, 2016 [Force-Include Any Record Into an Update Set](https://snprotips.com/blog/2016/9/7/force-include-any-record-into-an-update-set-in-servicenow)
* Sep 1, 2016 [GlideRecord Pagination - Page through your GlideRecord query](https://snprotips.com/blog/2016/9/1/gliderecord-pagination-page-through-records-with-ease)
* [ July 2016](https://snprotips.com/blog?month=07-2016)
* Jul 17, 2016 [Granting Temporary Roles/Groups in ServiceNow](https://snprotips.com/blog/2016/7/17/granting-permissions-rolegroup-membership-temporarily-in-servicenow)
* Jul 15, 2016 [Scripted REST APIs & Retrieving RITM Variables via SRAPI](https://snprotips.com/blog/2016/7/15/scripted-rest-apis-in-servicenow-how-to-retrieve-catalog-item-variables)
* [ May 2016](https://snprotips.com/blog?month=05-2016)
* May 17, 2016 [What's New in Helsinki?](https://snprotips.com/blog/2016/5/17/whats-new-in-helsinki)
* [ April 2016](https://snprotips.com/blog?month=04-2016)
* Apr 27, 2016 [Customizing UI16 Through CSS and System Properties](https://snprotips.com/blog/2016/4/9/customizing-ui16-through-css-and-system-properties)
* Apr 5, 2016 [ServiceNow Versions: Express Vs. Enterprise](https://snprotips.com/blog/2016/4/4/servicenow-express-vs-enterprise)
* [ March 2016](https://snprotips.com/blog?month=03-2016)
* Mar 28, 2016 [Update Set Collision Avoidance Tool: V2](https://snprotips.com/blog/2016/3/28/update-set-collision-avoidance-tool-v2)
* Mar 18, 2016 [ServiceNow: What's New in Geneva & UI16 (Pt. 2)](https://snprotips.com/blog/2016/3/11/servicenow-geneva-ui)
* [ February 2016](https://snprotips.com/blog?month=02-2016)
* Feb 22, 2016 [Reference Field Auto-Complete Attributes](https://snprotips.com/blog/2016/2/22/referencelist-attributes)
* Feb 6, 2016 [GlideRecord & GlideAjax: Client-Side Vs. Server-Side](https://snprotips.com/blog/2016/2/6/gliderecord-client-side-vs-server-side)
* Feb 1, 2016 [Make Your Log Entries Easier to Find](https://snprotips.com/blog/2016/1/26/make-your-gslog-entries-easier-to-find)
* [ January 2016](https://snprotips.com/blog?month=01-2016)
* Jan 29, 2016 [A Better, One-Click Approval](https://snprotips.com/blog/2016/1/29/approve-or-reject-with-a-single-click)
* Jan 25, 2016 [Quickly Move Changes Between Update Sets](https://snprotips.com/blog/2016/1/26/quickly-move-changes-between-update-sets)
* Jan 20, 2016 [Customize the Reference Icon Pop-up](https://snprotips.com/blog/2016/1/19/using-syspopup-view-to-customize-flyoutpopup-info-on-reference-fields)
* Jan 7, 2016 [ServiceNow: Geneva & UI16 - What's new](https://snprotips.com/blog/2016/1/7/servicenow-geneva-pro-tips-whats-new-in-geneva)
* Jan 4, 2016 [Detect/Prevent Update Set Conflicts Before They Happen](https://snprotips.com/blog/rvicenowprotips.com/2015/11/detecting-update-set-conflicts-before.html)
* [ December 2015](https://snprotips.com/blog?month=12-2015)
* Dec 28, 2015 [SN101: Boolean logic and ServiceNow's Condition Builder](https://snprotips.com/blog/2015/12/28/building-queries-in-servicenows-condition-builder)
* Dec 17, 2015 [Locate any record in any table, by sys\_id in ServiceNow](https://snprotips.com/blog/sncprotips/2015/12/locate-any-record-in-any-table-by-sysidhtml)
* Dec 16, 2015 [Detecting Duplicate Records with GlideAggregate](https://snprotips.com/blog/rvicenowprotips.com/2015/12/detecting-duplicate-records-with.html)
* Dec 11, 2015 [Array.indexOf() not working in ServiceNow - Solution! ](https://snprotips.com/blog/sncprotips/2015/12/arrayindexof-not-working-in-servicenowhtml)
* Dec 2, 2015 [Understanding Dynamic Filters & Checking a Record Against a Filter Using GlideFilter](https://snprotips.com/blog/sncprotips/2015/12/undocumented-apis-glidefilterhtml)
* [ October 2015](https://snprotips.com/blog?month=10-2015)
* Oct 20, 2015 [Bookmarklet: Load the current page in the ServiceNow frame](https://snprotips.com/blog/rvicenowprotips.com/2015/10/bookmarklet-load-current-page-in.html)
* [ August 2015](https://snprotips.com/blog?month=08-2015)
* Aug 27, 2015 [Easily Clone One User's Access to Another User](https://snprotips.com/blog/rvicenowprotips.com/2015/08/clone-one-users-access-to-another-user.html)

---

[ ](https://twitter.com/TheTimWoodruff)[ ](https://www.linkedin.com/in/sn-timw/)[ ](https://techhub.social/@ProfessorTim)

View original source

https://snprotips.com/blog/2021/1/20/processors-srapis-and-how-to-run-a-script-and-redirect-a-user-from-a-url