The Project

Designed and built a ServiceNow catalog item that connects directly to an external banking API. When a requester enters an account number, the system performs a live lookup — no page reload, no ticket back-and-forth — and automatically fills in the customer name and account type. If the account doesn't exist, the user is notified immediately. On submission, the request is routed to the appropriate fulfillment group.

This was a greenfield integration: no existing pattern, no template to follow. Every component was built from scratch.

---

What Was Built

Catalog Item — A service catalog entry in ServiceNow with four variables: account number (required), customer name (read-only, auto-populated), account type (read-only, auto-populated), and a hidden tracking flag.

REST Message Integration — A REST Message definition connecting ServiceNow to the external banking API over HTTPS. Configured with OAuth2 client credentials and a custom vendor-required header that must be present on every request.

Server-Side Script Include — Business logic that accepts an account number, constructs the API request body, calls the REST Message, and parses the response. Handles six possible account type variations by iterating through them in priority order — meaning the user never has to know or specify the account type themselves.

GlideAjax Bridge — A client-callable Script Include that lets the front-end form call server-side logic asynchronously. This is the standard ServiceNow pattern for real-time form interaction without a full page load.

Client Script — An onChange event handler on the account number field. Fires GlideAjax on every change, shows a "Searching..." message while waiting, and populates or clears the downstream fields based on the result.

Routing — Catalog item configured to assign generated requests directly to the correct fulfillment group on submission.

---

Skills Demonstrated

  • API integration design — OAuth2 setup, REST Message configuration, request/response handling, custom header requirements
  • ServiceNow development — Script Includes, GlideAjax, catalog variables, client scripts, catalog item configuration
  • System architecture — Clean separation between client-side UX logic, server-side API orchestration, and REST communication layer
  • User experience thinking — Auto-population, real-time feedback, and graceful failure messaging reduce friction for the end user

---

Why It Matters

Before this, looking up account information required a technician to manually query a separate banking system, then transcribe the data into a ticket. That's a context switch, a chance for error, and added time on every request.

This catalog item collapses that process. The account data follows the user into the form. By the time a technician opens the ticket, the account is already validated and the relevant information is already there.

It's a small surface area with real workflow impact — the kind of integration that quietly saves time on every ticket for as long as it runs.