Skip to main content

Learning path

ServiceNow Developer learning path: everything to study, topic by topic

Certification-grade assessment covering the full ServiceNow application development lifecycle: scoped application architecture, server-side GlideRecord scripting, client-side APIs, Service Portal and UI Builder experience design, REST/SOAP integrations and Flow Designer automation, and security/ACL design through Automated Test Framework and ALM — aligned with the ServiceNow Certified Application Developer (CAD) exam blueprint.

Short answer

To learn ServiceNow Developer, work through 6 modules and 45 topics in the order they build on each other. It starts with Application Development & Scoped Apps, then moves on to Server-Side Scripting and Client-Side Scripting. Use the map as a checklist, or measure your level and study only what is missing.

6
modules
45
topics
45
min to assess

What you will study

Topics are grouped by module. Open one to see its objectives and key concepts.

1 · Application Development & Scoped Apps8 topics
  • Scoped Application Structure

    Anatomy of a ServiceNow scoped application: application scope namespace, the application file tree, application menus, roles, tables, and how the platform isolates customizations from the global scope

    Objectives

    • Describe the components that make up a ServiceNow scoped application
    • Explain how scope namespaces isolate artifacts between applications

    Key concepts

    • application scope namespace
    • scope prefix
    • application file tree
    • application menu
    • application role
    • global vs scoped application
    • Now Platform artifact ownership
  • Application Scope & Cross-Scope Access

    Scope access policies, cross-scope privileges for tables and script includes, the application access field, caller tracking, and runtime scope switching

    Objectives

    • Configure cross-scope access privileges to allow controlled sharing of artifacts
    • Explain how caller tracking enforces scope isolation at runtime

    Key concepts

    • application access
    • cross-scope privilege
    • caller tracking
    • scope switching
    • accessible from field
    • script caller enforcement
  • Tables & the Data Dictionary

    Creating and managing tables via the data dictionary; field types, field attributes, dictionary overrides, choice lists, and reference qualifiers

    Objectives

    • Create custom tables and fields using the data dictionary
    • Apply dictionary overrides and reference qualifiers to control field behavior

    Key concepts

    • data dictionary
    • field type
    • dictionary override
    • choice list
    • reference qualifier
    • dot-walk field
    • table column attributes
  • Table Extension & Relationships

    Extending base tables (Task, CMDB CI), many-to-many relationships via M2M tables, reference fields, database views, and the platform inheritance model

    Objectives

    • Extend platform base tables to inherit core task workflow functionality
    • Design M2M relationships for entities that require bidirectional associations

    Key concepts

    • table extension
    • parent-child table inheritance
    • many-to-many (M2M) table
    • reference field
    • database view
    • CMDB class hierarchy
    • sys_class_name column
  • Module & Application Navigation

    Application navigator structure, creating application menus and modules, module types (URL, list, separator, etc.), roles-based menu visibility, and the filter navigator

    Objectives

    • Create application menus and modules to surface custom application functionality
    • Control menu and module visibility using role assignments

    Key concepts

    • application navigator
    • application menu
    • module type
    • module roles
    • filter navigator
    • breadcrumb navigation
  • App Engine Studio

    Low-code and no-code application development using App Engine Studio (AES): guided app creation, data model wizard, experience builder, automation builder, and deployment pipeline integration

    Objectives

    • Build a scoped application end-to-end using App Engine Studio tooling
    • Explain how AES integrates with the Now Platform deployment pipeline

    Key concepts

    • App Engine Studio
    • guided app creation wizard
    • data model builder
    • experience builder
    • automation builder
    • AES deployment pipeline
  • Delegated Development

    Granting development access to citizen developers via delegated developer roles, restricting scope of changes, App Engine Management Center (AEMC) governance, and pipeline approval workflows

    Objectives

    • Configure delegated development access for citizen developers within a scoped app
    • Govern delegated apps through AEMC approval workflows and deployment requests

    Key concepts

    • delegated developer
    • App Engine Management Center (AEMC)
    • development pipeline
    • deployment request
    • collaboration access
    • citizen developer governance
  • Source Control (Git) Integration

    Connecting ServiceNow applications to Git repositories, branching strategy, committing application files, importing from source control, conflict resolution, and CI/CD pipeline integration via the ServiceNow CLI

    Objectives

    • Connect a scoped application to a Git repository and commit application files
    • Resolve merge conflicts when importing changes from source control branches

    Key concepts

    • source control integration
    • Git repository link
    • branch
    • commit application files
    • import from source control
    • conflict resolution
    • ServiceNow CLI (snc)
2 · Server-Side Scripting8 topics
  • GlideRecord API — Query, Insert, Update, Delete

    The primary server-side database API: building encoded queries, iterating result sets with next(), inserting and updating records, deleting, and understanding the impact of ACLs on GlideRecord operations

    Objectives

    • Write GlideRecord queries using addQuery and encoded query strings
    • Perform CRUD operations safely and explain how ACLs affect server-side reads

    Key concepts

    • GlideRecord
    • addQuery / addEncodedQuery
    • next() iteration
    • getValue / setValue
    • insert / update / deleteRecord
    • setLimit
    • ACL impact on GlideRecord
  • GlideAggregate

    Performing server-side aggregations (COUNT, SUM, MIN, MAX, AVG) without loading full result sets, using addQuery with GlideAggregate, and groupBy

    Objectives

    • Use GlideAggregate to compute counts and sums without loading record data
    • Apply groupBy to produce aggregated reports across categories

    Key concepts

    • GlideAggregate
    • COUNT aggregate
    • SUM / MIN / MAX / AVG
    • addAggregate
    • groupBy
    • getAggregate
    • performance vs GlideRecord scan
  • Script Includes — Client-Callable & On-Demand

    Creating reusable server-side JavaScript libraries as Script Includes; difference between client-callable (extends AbstractAjaxProcessor) and on-demand Script Includes; scope and access considerations

    Objectives

    • Create both on-demand and client-callable Script Includes with correct base classes
    • Control cross-scope access and explain when each Script Include type is appropriate

    Key concepts

    • Script Include
    • AbstractAjaxProcessor
    • client-callable Script Include
    • on-demand Script Include
    • Class.create() pattern
    • initialize method
    • cross-scope Script Include
  • Business Rules — Before, After, Async & Display

    Business Rule execution phases and their use cases: before (prevent/modify), after (trigger downstream), async (background processing), and display (inject scratchpad data to client); conditions vs scripts; abort() pattern

    Objectives

    • Select the correct Business Rule phase based on the required operation timing
    • Pass data from a display Business Rule to the client via g_scratchpad

    Key concepts

    • Business Rule
    • before Business Rule
    • after Business Rule
    • async Business Rule
    • display Business Rule
    • g_scratchpad
    • current / previous objects
    • abort()
  • GlideSystem (gs) Methods

    The gs global object for server-side utilities: user context (getUser, hasRole), logging (info/warn/error), property access (getProperty), date utilities, and session management

    Objectives

    • Use gs methods to access session context and perform server-side logging
    • Retrieve system properties and enqueue events using GlideSystem utilities

    Key concepts

    • gs.getUser()
    • gs.hasRole()
    • gs.log / gs.info / gs.warn / gs.error
    • gs.getProperty()
    • gs.now()
    • gs.getUserID()
    • gs.eventQueue()
  • Scheduled Scripts & Script Actions

    Scheduled Script Executions (Scheduled Jobs) for recurring automation, Script Actions as event consumers, and the relationship between gs.eventQueue() and Script Action triggers

    Objectives

    • Create Scheduled Script Executions for periodic data maintenance tasks
    • Wire Script Actions to platform events using the event registration table

    Key concepts

    • Scheduled Script Execution
    • cron expression
    • Script Action
    • event registration
    • gs.eventQueue()
    • event processing queue
    • run as user context
  • GlideDateTime & GlideElement

    Working with date/time values server-side using GlideDateTime, GlideDuration, and GlideSchedule; accessing typed field values via GlideElement and understanding display vs internal value

    Objectives

    • Manipulate date/time values using GlideDateTime arithmetic and formatting
    • Explain the difference between display value and internal value for field types

    Key concepts

    • GlideDateTime
    • GlideDuration
    • GlideSchedule
    • GlideElement
    • getDisplayValue vs getValue
    • internal vs user time zone
    • date arithmetic
  • Server-Side Debugging & Logging

    Debugging server-side scripts using the Script Debugger, session debug logging, gs.log and gs.debug, background script execution, and interpreting the system log for script errors

    Objectives

    • Use the Script Debugger to set breakpoints and inspect variable state in Business Rules
    • Interpret system log entries to diagnose server-side script errors

    Key concepts

    • Script Debugger
    • breakpoint
    • background script
    • session debug logging
    • gs.debug()
    • system log
    • script execution trace
3 · Client-Side Scripting7 topics
  • Client Scripts — onLoad, onChange, onSubmit

    Client Script types and their triggering lifecycle events; execution order; field-specific vs form-level scope; using the 'applies to' field for catalog item vs standard form targeting

    Objectives

    • Write Client Scripts for each lifecycle event and explain their execution contexts
    • Configure a Client Script to target a specific field using the onChange trigger

    Key concepts

    • Client Script
    • onLoad
    • onChange
    • onSubmit
    • execution order
    • applies to (catalog vs form)
    • field name parameter
  • g_form & g_user APIs

    Manipulating form fields and user context client-side: g_form methods for getValue, setValue, setMandatory, setVisible, showFieldMsg; g_user for role checks and user identity

    Objectives

    • Use g_form to read, set, and validate field values within Client Scripts
    • Check user roles client-side using g_user.hasRole to conditionally display fields

    Key concepts

    • g_form.getValue
    • g_form.setValue
    • g_form.setMandatory
    • g_form.setVisible
    • g_form.showFieldMsg
    • g_user.hasRole
    • g_user.userID
  • GlideAjax — Client-to-Server Async Calls

    Calling client-callable Script Includes from client scripts using GlideAjax; addParam, getXMLAnswer, asynchronous callback pattern, and preventing form submission delays

    Objectives

    • Implement a GlideAjax call from a Client Script to retrieve server-side data
    • Explain the async callback pattern and why synchronous GlideAjax should be avoided

    Key concepts

    • GlideAjax
    • addParam sysparm_name
    • getXMLAnswer
    • callback function
    • AbstractAjaxProcessor answer
    • asynchronous call
    • preventing form submit delays
  • UI Policies & UI Actions

    Controlling form field behavior declaratively with UI Policies (mandatory, read-only, visible); server-side and client-side UI Actions for form buttons, context menus, and list actions

    Objectives

    • Create UI Policies to dynamically control field visibility and mandatory state
    • Build UI Actions for form buttons distinguishing client-side from server-side execution

    Key concepts

    • UI Policy
    • UI Policy Action
    • UI Action
    • form button
    • context menu item
    • list banner button
    • client vs server UI Action
  • DOM Manipulation & Scope Isolation

    Accessing form elements via the ServiceNow-safe DOM APIs; understanding frame isolation in the platform, limitations of direct DOM access, and why direct getElementById is discouraged in scoped apps

    Objectives

    • Explain ServiceNow's iframe isolation model and why direct DOM access is risky
    • Use platform-safe APIs instead of raw DOM manipulation in scoped applications

    Key concepts

    • DOM access limitations
    • iframe isolation
    • gel() function
    • scoped DOM restriction
    • g_form vs raw DOM
    • client script sandbox
  • Catalog Client Scripts

    Writing Client Scripts scoped to Service Catalog items and variable sets; g_form behavior on catalog forms, catalog-specific API differences, and variable set reuse across multiple catalog items

    Objectives

    • Write Catalog Client Scripts that control variable behavior on service catalog items
    • Attach reusable variable sets to multiple catalog items and scope scripts accordingly

    Key concepts

    • Catalog Client Script
    • variable set
    • catalog item variable
    • g_form on catalog forms
    • applies to catalog item
    • variable set isolation
    • reusable variable set
  • Client-Side Performance & Async Patterns

    Best practices for writing performant client scripts: avoiding synchronous GlideAjax, limiting onLoad logic, deferring heavy operations, debouncing onChange handlers, and using the client transaction timing tool

    Objectives

    • Identify and eliminate synchronous calls that block the client script thread
    • Apply debounce patterns to onChange handlers to reduce server round-trips

    Key concepts

    • synchronous vs async GlideAjax
    • onLoad performance
    • debouncing onChange
    • client transaction timing
    • deferred execution
    • UI responsiveness
4 · UI, Portal & Experience7 topics
  • Service Portal — Widgets & Pages

    Service Portal architecture: portals, pages, containers, rows, columns, and widgets; theming with SCSS variables, creating and cloning pages, and the relationship between portals and the main ServiceNow UI

    Objectives

    • Build a Service Portal page using the Designer to arrange containers and widgets
    • Apply SCSS theme variables to customize portal branding

    Key concepts

    • Service Portal
    • portal record
    • page record
    • container / row / column / widget layout
    • SCSS theme variables
    • portal URL suffix
    • breadcrumb and header widget
  • Widget Server & Client Controllers

    Anatomy of a Service Portal widget: server-side controller (GlideRecord data fetch), client-side AngularJS controller (scope binding), HTML template, CSS/SCSS, options schema, and widget-to-widget communication via broadcast

    Objectives

    • Create a Service Portal widget with a server script that queries data and exposes it to the client controller
    • Implement widget-to-widget communication using AngularJS $broadcast and $on patterns

    Key concepts

    • widget server script
    • widget client controller (AngularJS)
    • data object binding
    • options schema
    • spModal
    • $broadcast / $on
    • HTML template interpolation
  • UI Builder & Next Experience

    Building modern experiences with UI Builder: pages, variants, components, data resources (scripted data resource), client state parameters, event handlers, and the Next Experience Unified Navigation

    Objectives

    • Build a Next Experience page in UI Builder using components and data resources
    • Wire client state parameters to components to drive conditional rendering

    Key concepts

    • UI Builder
    • Next Experience
    • page variant
    • component
    • data resource
    • client state parameter
    • event handler mapping
  • UI Pages & UI Macros

    Creating custom UI Pages with Jelly/HTML for specialized interfaces, UI Macros as reusable snippets included in UI Pages or form layouts, and the GlideServlet processing model

    Objectives

    • Create a UI Page with Jelly markup to display a custom data view
    • Build a reusable UI Macro and embed it in a form layout

    Key concepts

    • UI Page
    • UI Macro
    • Jelly syntax
    • GlideServlet
    • g_form embedding
    • includeScript tag
    • direct URL access to UI Page
  • Jelly Scripting Basics

    Jelly templating language fundamentals used in UI Pages, UI Macros, and Notifications: j:jelly root tag, j:set variables, conditional j:if, j:forEach iteration, and escaping output safely

    Objectives

    • Write Jelly templates that iterate over data sets and conditionally render markup
    • Explain the two-phase Jelly execution model and safe output escaping

    Key concepts

    • Jelly template
    • j:jelly root element
    • j:set variable
    • j:if conditional
    • j:forEach
    • escape output
    • Jelly phase 1 vs phase 2
  • Portal Widget Data & Options

    Passing configuration into widgets via the options schema, using spWidget embedded widgets, dynamic data refresh with $http and the NOW API, and building widget instance configuration overlays

    Objectives

    • Define an options schema and expose it to portal administrators as a configuration overlay
    • Use $http within a widget client controller to refresh data without a full page reload

    Key concepts

    • widget options schema
    • spWidget directive
    • embedded widget
    • $http service
    • NOW REST API from client
    • widget instance configuration
    • dynamic refresh pattern
  • Record Producers & Catalog UI

    Designing record producers to create records via the Service Catalog; mapping variables to table fields, using record producer scripts, and controlling the catalog experience with catalog item properties

    Objectives

    • Build a record producer that creates records in a custom table via the catalog
    • Map catalog variables to table fields and write producer scripts for custom logic

    Key concepts

    • record producer
    • variable mapping
    • producer script
    • table name target
    • catalog item property
    • request item vs record producer
    • catalog UI policy
5 · Integrations & Automation8 topics
  • REST & SOAP Web Services — Inbound & Outbound

    Consuming external REST and SOAP APIs from ServiceNow using outbound REST Message records; receiving inbound requests via the Table API and Scripted REST; basic authentication, OAuth, and mutual TLS options

    Objectives

    • Configure an outbound REST Message with authentication and parse the JSON response
    • Explain the difference between the Table API and a Scripted REST API for inbound integrations

    Key concepts

    • outbound REST Message
    • inbound REST request
    • Table API
    • SOAP Message
    • Basic auth / OAuth
    • REST response parsing
    • HTTP method mapping
  • IntegrationHub & Spokes

    No-code and low-code integration using IntegrationHub: built-in spokes (Slack, Jira, Teams), creating custom spokes and actions, action steps, and packaging spokes as scoped applications

    Objectives

    • Build a custom IntegrationHub action using REST step to call an external API
    • Explain how connection aliases centralize credential management for IntegrationHub spokes

    Key concepts

    • IntegrationHub
    • spoke
    • action
    • action step
    • built-in spoke
    • custom spoke
    • connection alias
  • Flow Designer — Actions, Flows & Subflows

    Building no-code/low-code automation with Flow Designer: triggers (record-based, schedule, inbound email), flow logic, action blocks from IntegrationHub spokes, subflows for reusable logic, and flow inputs/outputs

    Objectives

    • Build a Flow Designer flow using record triggers, flow actions, and data pills
    • Extract repeated logic into a subflow and call it from multiple parent flows

    Key concepts

    • Flow Designer
    • trigger
    • flow action
    • subflow
    • flow input / output
    • data pills
    • error handling in flows
  • Scripted REST APIs

    Creating custom inbound REST APIs using Scripted REST API records: defining resources, HTTP verbs, path parameters, request/response objects, authentication policies, and versioning

    Objectives

    • Design a Scripted REST API with multiple resources and HTTP verb handlers
    • Secure a Scripted REST API endpoint using the correct authentication profile

    Key concepts

    • Scripted REST API
    • REST API resource
    • path parameter
    • request object
    • response object (setBody, setStatus)
    • authentication profile
    • API versioning
  • Import Sets & Transform Maps

    Staging external data in import set tables, mapping staging columns to target table fields via transform maps, transform scripts (onBefore, onAfter, onComplete), coalesce fields, and scheduled data source imports

    Objectives

    • Configure a transform map with coalesce fields to upsert data into a target table
    • Write transform scripts (onBefore/onAfter) to apply custom data transformation logic

    Key concepts

    • import set table
    • transform map
    • field map
    • coalesce
    • transform script
    • data source
    • scheduled import
  • MID Server & Data Sources

    MID Server architecture for on-premise connectivity: deployment, capabilities, probe/sensor pairs, ECC queue, and pairing MID Servers with data sources for scheduled imports and discovery

    Objectives

    • Describe the MID Server architecture and the ECC queue probe/sensor flow
    • Configure a data source to use a MID Server for on-premise file imports

    Key concepts

    • MID Server
    • ECC queue
    • probe
    • sensor
    • MID Server capability
    • data source record
    • on-premise connectivity
  • Inbound & Outbound REST Message

    Deep dive into the REST Message record: defining HTTP methods, variable substitution in endpoint and body, endpoint override at runtime, response error handling, and testing from the REST Message form

    Objectives

    • Configure a REST Message record with variable substitution for dynamic endpoints
    • Handle HTTP error status codes in outbound REST message scripts

    Key concepts

    • REST Message record
    • HTTP method record
    • variable substitution ${var}
    • endpoint override
    • error handling setStringParameterNoEscape
    • response object statusCode
    • test from form
  • Event Management & Notifications

    ServiceNow event lifecycle: registering events, publishing via gs.eventQueue, Script Actions as event consumers, notification records (email/SMS), notification templates, and subscriptions

    Objectives

    • Register and publish a custom event, then consume it with a Script Action
    • Create a Notification with a templated email script that fires on the custom event

    Key concepts

    • event registry
    • gs.eventQueue()
    • Script Action event consumer
    • Notification record
    • notification template (email script)
    • notification subscription
    • when to send conditions
6 · Security, ATF & ALM7 topics
  • ACL Scripting & Security Rules

    Access Control List (ACL) rule anatomy: operation, object type, role requirements, condition and script fields; debug ACL mode, security admin role, and writing effective ACL scripts

    Objectives

    • Write an ACL script using the answer variable to enforce complex row-level security
    • Use debug ACL mode to trace which rules are evaluated for a given record access

    Key concepts

    • ACL rule
    • ACL operation (read/write/create/delete)
    • role requirement
    • ACL condition
    • ACL script (answer variable)
    • debug ACL mode
    • security admin role
  • Encryption & Data Protection

    Edge Encryption, column-level encryption, encrypted field type, data classification policies, and the GlideEncrypter API for programmatic encryption of sensitive values

    Objectives

    • Configure column-level encryption for a sensitive field using the encrypted field type
    • Explain the difference between Edge Encryption and column-level encryption

    Key concepts

    • Edge Encryption
    • column-level encryption
    • encrypted field type
    • GlideEncrypter
    • data classification
    • encryption context
    • key management
  • Automated Test Framework (ATF)

    Writing and running automated tests in the Automated Test Framework: test suites, test steps, quick test steps, server-side test steps, impersonating users, and integrating ATF into CI/CD pipelines

    Objectives

    • Build an ATF test suite that validates a business rule using server-side test steps
    • Impersonate different users in ATF tests to verify ACL and role-based behavior

    Key concepts

    • ATF test
    • test suite
    • test step
    • quick test step
    • impersonate user step
    • server-side test step
    • ATF runner
  • Update Sets & Application Repository

    Capturing configuration changes in Update Sets, merging update sets, committing to target instances, conflict resolution, and using the application repository for scoped app version management

    Objectives

    • Capture changes in an update set and commit it to a target instance
    • Resolve preview conflicts before committing an update set

    Key concepts

    • update set
    • default update set
    • merge update set
    • retrieve from remote instance
    • preview / commit
    • conflict resolution
    • application repository
  • Scoped App Publishing & the ServiceNow Store

    Packaging a scoped application for distribution: versioning, publishing to the application repository, listing on the ServiceNow Store, app entitlements, and install/upgrade lifecycle on subscriber instances

    Objectives

    • Publish a versioned scoped application to the ServiceNow application repository
    • Explain the Store entitlement model and how subscriber instances install and upgrade apps

    Key concepts

    • app version
    • publish to repository
    • ServiceNow Store listing
    • app entitlement
    • subscriber instance install
    • upgrade lifecycle
    • app certification
  • Performance & Code Best Practices

    Writing efficient server-side code: avoiding full table scans, using setLimit, server-side pagination, async Business Rules for heavy operations, avoiding infinite recursion guards, and leveraging cache APIs

    Objectives

    • Identify and fix common GlideRecord anti-patterns that cause full table scans
    • Apply async Business Rules and recursion guards to prevent performance regressions

    Key concepts

    • full table scan avoidance
    • setLimit
    • async Business Rule for heavy ops
    • recursion guard
    • GlideCache / system cache
    • index-aware query design
    • script best practice guidelines
  • Instance Scan & Code Review

    Using the Instance Scan framework to detect technical debt, code quality issues, and security vulnerabilities; creating custom scan checks, running scan suites, and interpreting scan findings for remediation

    Objectives

    • Run an Instance Scan suite and interpret findings to prioritize remediation
    • Write a custom scan check that detects a team-specific anti-pattern

    Key concepts

    • Instance Scan
    • scan check
    • scan suite
    • finding
    • exemption
    • custom scan check script
    • technical debt dashboard

Levels: Junior, Mid, and Senior

Explain it in your own words

Graded by AI · no account · 1 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

Already studying ServiceNow Developer?

The assessment measures topic by topic, and your plan skips what you already know.

Open to read. An account is only needed to be measured.

Frequently asked questions

Where should I start studying ServiceNow Developer?

Start with Application Development & Scoped Apps: Scoped Application Structure, Application Scope & Cross-Scope Access, and Tables & the Data Dictionary. The map orders topics by what they depend on, so each one prepares the next.

How long does a full ServiceNow Developer assessment take?

A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.

Do I need an account to use this page?

No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.