FastLane 1.9.0

Welcome to FastLane - created and maintained by Sascha Wildgrube.

This app was built to help organizing the shipment of medical supplies to the Ukraine during the full-scale invation that started in February 2022.

It is dedicated to the people of Ukraine, their resistance and to everyone who invests their time and resources to help.


A simple shop and order management process.


Manage multiple shops with a separate product catalog.

Place and process orders with multiple line items of countable product units.

Agents can see and filter for orders that require attention.

Use parcels to track the shipping of the orders.


FastLane is NOT an officially supported ServiceNow product.

FastLane does NOT come with any kind of warranty. If you use it, you own it!

System Requirements


  1. Create an account on GitHub - if not done already.
  2. Create a personal access token for your GitHub account.
  3. Add credentials to access GitHub - use "Basic Auth".
  4. Fork the repository
  5. Go to Studio and import the DevTools application from source control.
  6. Perform all installation steps for the DevTools application documented here: 
  7. Fork the repository
  8. Go to Studio and import the Parcel application from source control.
  9. Perform all installation steps for the Parcel application documented here: 
  10. Fork the repository
  11. Go to Studio and import the FastLane application from source control.
  12. The InstallApp() function must be executed.
    Run the following script as a background script in scope x_snc_fastlane:
  13. x_snc_devtools.InstallApp("x_snc_fastlane");
  14. Configure parcel profile.
  15. Configure a shop.
  16. Configure the product catalog.


Configuration Options


UI Actions

Extension Points

  • FastLane

    The FastLane extension point allows hook into the compilation of shop data. When calling the GetShopData() function, the vConfig parameter is passed down to the GetCategory() and GetProduct() functions. This allows to apply additional filters or data modifications when the GetShopData() functions returns the categories and products offered in a a shop.

    var FastLane = Class.create();
    FastLane.prototype = {
    	initialize: function()
    	GetCategory: function(category,vConfig)
    		var IsValidFunction = x_snc_devtools.IsValidFunction;
    		if (IsValidFunction(x_this_app_scope.FastLaneGetCategory))
    			return FastLaneGetCategory(category,vConfig);
    		return category;
    	GetProduct: function(product,vConfig)
    		var IsValidFunction = x_snc_devtools.IsValidFunction;
    		if (IsValidFunction(x_this_app_scope.FastLaneGetProduct))
    			return FastLaneGetProduct(product,vConfig);
    		return product;
    	type: 'FastLane'


Copyright 2023-2024 by Sascha Wildgrube

Licensed under the Apache License, Version 2.0 (the "License")

You may not use FastLane except in compliance with the License.

You may obtain a copy of the License at:

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release Notes

1.9.0 - 2024-03-23

  1. The business rule "Order - Update: Set Requires Attention" now displays a message if the "Requires Attention" flag is set because the order is not yet assigned to anyone.
  2. Added documentation on the FastLane extension point to the manual.

1.8.0 - 2024-03-15

  1. GetShopData(), GetCategoryData() and the corresponding extension point functions now support the "vConfig" parameter that allows to pass through data from the top level function down to the extension point implementation.

1.7.0 - 2024-03-10

  1. Utah and Tokyo are no longer actively supported.
  2. Fastlane has been fully tested with Vancouver and Washington.
  3. DevTools 1.83.0 is now required due to the introduced InstallerAPI::DocumentationSetValue() function.
  4. Added German translations for "Order" and "Order Line Item".

1.6.0 - 2024-01-07

  1. Orderers can only make changes to active orders they opened.
  2. The "Up" button on the Order form leads to the company associated to the order.

1.5.0 - 2023-11-05

  1. Order line items now have the "Amount" field to specify the number of products ordered.
  2. The new flag "Requires Attention (by agent)" indicates if an order requires attention (because it is not yet assigned to an agent, the status has changed, or the orderer has added a comment).
  3. The product description is now displayed on the line item form.

1.4.1 - 2023-10-23

  1. DevTools 1.71.0 is now required.
  2. Fastlane Managers were not able to access core_company records and could not set the company when creating an order. This has been fixed.
  3. Fastlane Managers were not to change the state of an order. This has been fixed.

1.4.0 - 2023-09-23

  1. The order of categories in a shop can now be configured and is considered in GetShopData().
  2. The order of products in a category can now be configured and is considered in GetCategoryData() and GetShopData().
  3. CreateOrUpdateOrder() now filters duplicate products and creates only ONE order line item per product.
  4. Users with the x_snc_fastlane.orderer role now only gain read access to their own core_company.
  5. The category related list is now displayed on the product form.

1.3.1 - 2023-09-11

  1. Order active state did not work properly. This has been fixed. The old state id "complete" was still used in several places.

1.3.0 - 2023-09-09

  1. On the Category form the related list for Shops is now displayed.
  2. CreateOrUpdateOrder() is now also updating the Parcel categories.
  3. The button "Add Order Line Item" was visible for completed orders. This has been fixed.

1.2.0 - 2023-09-03

  1. DevTools 1.67.0 is now required.
  2. Product list view now also shows parcel categories.
  3. The parcel categories are now also displayed on the order form and list view.

1.1.0 - 2023-08-27

  1. Introduced the x_snc_fastlane.orderer role to reflect the correct privileges for an orderer.
  2. Added module "My Orders" (for orders that have been raised by the user).
  3. The module "My Assigned Orders" now leads to the list of the assigned orders of the user.
  4. If only one active shop is configured, the shop is set for a new order.
  5. CreateOrUpdateOrder() did not set the shop Sys Id on the order. This has been fixed.

1.0.0 - 2023-08-20

First baselined version