ServiceNow Development Components Cheat Sheet
Data & Import
Component Purpose When to Use
Base container for records in Always first—define your data
Table
ServiceNow model.
Anytime you need to store
Individual pieces of data
Column / Field form values like “Priority” or
attached to a table
“Department.”
Use for looks-ups, e.g.,
Reference Field Links records to another table selecting a CI in incident
management.
When limiting a field to
Choice List Pre-defined dropdown values specific options (e.g., Incident
states).
Customize field Use when extending base
Dictionary Override behavior/order inherited via tables like Task or Task
table extensions [u_task_ext].
Maps and transforms import For Excel, CSV, or integration
Transform Map
data imports into SNOW.
Defines origins of imported Created for every import
Data Source
data channel.
Key column for identifying To update vs. insert when
Coalesce
existing records during import importing data.
Temporary table for staging ALWAYS use prior to
Import Set Table
imported data transform.
For consistency across
Enforces field behavior on
Data Policy scripted/API-driven data
server/client
changes.
Server-side Processing
Component Purpose When to Use
Server-side trigger at DB Validations, data thinking,
Business Rule operations default fill, cross-table updates
(before/after/cursor/query) on insert/update/delete.
For recurring maintenance
Scheduled Job Scheduled server-side scripts tasks (cleanups, escalations,
summary emails).
Wrap reusable logic callable
Server-side functions
Script Include from server or client (via
(reusable)
GlideAjax).
For client-side features
Expose Server logic to client
GlideAjax requiring server data (e.g.,
via Script Includes
lookup info).
Send follow-up emails or
Script Action Triggered by events complex logic after an event is
emitted.
Publish/listen to app-specific
Event Registry Define custom events
events.
For handling emails—
Inbound Email Action Parses incoming emails creating/updating tickets,
forms, tasks.
Script logic used in Dynamic content in email
Email Script
Notifications templates.
Configure email/SMS/push Alert users on incidents,
Notification
alerts approvals, SLA breaches.
Field or table level security Lock down data based on roles
Access Control (ACL)
restrictions or conditions.
Client-side & UI
Component Purpose When to Use
Field manipulation, form
Browser-side code on
Client Script validation, client-side
forms/list
interactions.
Declarative client-side rules Show/hide/make mandatory
UI Policy
(no JS) fields based on conditions.
Client Script special for Modify catalog item field
Catalog Client Script
Service Catalog behavior.
Adds buttons/links/context Trigger form actions via UI,
UI Action
menu items can be server or client.
Reusable HTML/Jelly Embed consistent UI elements
UI Macro
components across forms/pages.
Shared client logic across
UI Script Client-side JS library
multiple pages/forms.
Build modals, custom forms,
UI Page Full custom page/form dashboards with Jelly or
Angular.
Segment grouped fields for
Form Section UI layout group on forms
better user navigation.
Define form structure via drag Tailor form appearance to user
Form Layout
& drop roles/needs.
Color code or style fields
Field Styles Custom CSS for fields
(usually via UI Script).
For scoped-app-specific
Theme/Subtheme UI Kit design styling
branding/theme changes.
Build portal pages with
Widget (Service Portal) Reusable portal UI component
AngularJS.
Portal page made up of
Page (Portal) Composite portal content page widgets, for end-user
experience.
Process Automation
Component Purpose When to Use
Existing legacy processes or
Workflow Legacy flow engine (graphical)
cross-table approvals.
New automations: approvals,
Modern low-code automation
Flow Designer tasks, notifications—even
engine
integration actions.
When a record is created,
Trigger (Flow) Condition that starts a Flow
updated, or scheduled.
Notifications, lookups,
Action (Flow) Reusable step inside Flows
approvals, script logic.
Common logic blocks across
Subflow Reusable Flow logic fragment
multiple flows
Use REST/SOAP/spokes
Connectors to external
IntegrationHub (Slack, Azure, Excel, MS
platforms
Teams) without coding.
Framework to order Build requestable items with
Service Catalog
services/items variables, workflows, approvals.
Specific requestable UI
Catalog Item Use individual request items.
element
When users need to order
Order Guide Bundle of catalog items
multiple related items at once.
Use variable sets for
Item Variables Questions to collect user data consistent input across catalog
items.
UI flow for selecting catalog End-user interaction for
Cart & Order
items ordering.
Automates task assignment
For multi-step fulfillments by
Fulfillment Workflow and status flow within catalog
various teams.
ordering
Integration
Component Purpose When to Use
Configuration for remote web When building outbound
REST/SOAP Message
service calls integrations
API endpoint to accept When other systems post
Inbound REST
external data records
Custom REST endpoints with When custom data structure
Scripted REST API
logic or validation is needed.
Legacy XML web service
SOAP Message For older SOAP systems
framework
Internal—system level
Web Service Vue/API Manage SIMO/ orchestrations
integration management.
Bilateral
When storing or collaborating
ECC Queue synchronous/asynchronous
with MID Servers
calls
For integrations into on-prem Use cases: Discovery,
MID Server
networks/devices Orchestration.
Automated scanning of
Discovery Pattern Tag and classify CIs in CMDB network and infrastructure
data.
To map services and
Service Mapping Visual applications/CIs dependencies across
infrastructure.
Governance & Release
Component Purpose When to Use
Tracks changes across Transfer changes Dev → Test
Update Set
scripts/configs → Prod
Git-based source control for
Application Repository Version control & CI/CD
scoped apps
Isolated dev environment For publisher or multi-tenant
Scoped App
(code + schema) apps.
Discrete artifact: tables, UI Part of scoped app
Application File
actions, etc. architecture
Automated test execution in
Automated Test Framework Create scripted test suites
CI/CD pipelines
Performance & Monitoring
Component Purpose When to Use
To monitor trends in
OLAP-style metrics,
Performance Analytics incident/request resolution
scorecards
time, backlog, etc.
Defines KPI/time fields to Use to capture duration
Metric Definition
track metrics.
UI to present performance For stakeholders to quickly
Dashboard
data visualize metrics
Attach goals to metrics for
Benchmarking Define targets/shading/ranges
SLA adherence
Aggregates system For proactive alert
Event Management
events/incidents management.
Security & Access
Component Purpose When to Use
Restrict CRUD operations by
Access Control (ACL) For data-level security
role, condition, script
Assign roles to control who
Role Defines user permissions
can do what.
Group users for role For Team access (e.g., Incident
Groups & Membership
assignment Team)
Show/hide catalog items per
User Criteria Control portal item availability
user group
Data/API access controls Control access to scoped app
Scoped App ACLs
within apps records.
For compliance or sensitive
Encryption Support Protect fields or entire tables
data.
OAuth endpoints and client When integrating with token-
OAuth Provider/Config
settings based auth systems.
Pre-built password Use for ITSM portals or
Password Reset Flows
management UI & logic standard user management.
How to Choose the Right Tool
Client-Side vs Server-Side
Use Client Scripts, UI Policies, UI Actions when controlling form behavior and user interaction.
Use Business Rules, Script Includes, Scheduled Jobs, Events when data updates or logic happen in
the backend.
Declarative vs Scripting
Start with no-code options: UI Policy, Data Policy, Flow Designer Actions.
If complex logic is needed, reach for JS scripting on server or client.
New vs Legacy
Prefer Flow Designer and IntegrationHub over older Workflow and hand-coded integration where
possible.
Legacy tools often remain for edge cases or previously built processes.
Scoped vs Global
Use Scoped Applications to encapsulate functionality and avoid cross-system interference.
Security First
Define roles, groups, and ACLs as part of your initial design to enforce least privilege.