Designing & Creating an Application
This domain covers application architecture decisions: when to build on ServiceNow, data model design, table creation, application scoping, and fundamental development patterns.
Is ServiceNow the Right Fit?
Before building an application, developers must evaluate whether ServiceNow is the right platform. The exam tests your ability to identify good and poor fits.
Good Fit for ServiceNow
- Workflow-based applications — Approval chains, task routing, state management.
- Request management — Forms, catalogs, and fulfillment processes.
- Record management — CRUD operations on structured data with audit trails.
- Integration hub — Connecting existing enterprise systems.
- Applications that benefit from the existing platform infrastructure (users, groups, roles, notifications).
Poor Fit for ServiceNow
- High-volume transactional processing (millions of transactions per second).
- Complex mathematical/scientific computing.
- Real-time gaming or media streaming.
- Applications requiring extensive custom UI beyond ServiceNow capabilities.
The exam presents scenarios asking if an application should be built on ServiceNow. Look for task-based workflows, approval processes, and integration needs — these are strong yes indicators. Applications requiring extreme performance or completely custom UIs are poor fits.
Designing the Data Model
A well-designed data model is the foundation of any ServiceNow application. This involves choosing between extending existing tables or creating new ones, and defining the right relationships.
Table Design Decisions
Extend vs. New Table
| Approach | When to Use | Benefits |
|---|---|---|
| Extend Task [task] | Application involves work items with assignment, state, SLAs | Inherits task fields, SLA support, assignment rules, activity stream |
| Extend existing table | Application is a specialization of an existing concept | Inherits parent fields and behaviors, maintains consistency |
| Create new base table | Application has no overlap with existing tables | Clean slate, no inherited baggage, full control |
Field and Relationship Types
- Reference field — Points to a single record on another table (foreign key). Example: Assigned To → sys_user.
- Glide List — Stores multiple references (comma-separated sys_ids). Example: Watch List.
- Document ID — Points to a record on ANY table (polymorphic reference). Stores table name + sys_id.
- Many-to-Many (M2M) — Uses a junction table to link records from two tables.
- One-to-Many — Parent has a reference field on the child table. Use Related Lists to display.
Extending the Task table gives you: Number field (auto-generated), State field, Assignment Group, Assigned To, SLA support, Activity Stream, and Work Notes/Comments for FREE. Always extend Task for work-tracking applications. Know the difference between Reference (single record), Glide List (multiple), and Document ID (any table).
You need to build an application to track office maintenance requests. Requests need to be assigned to maintenance teams, have priorities, and track time to resolution with SLAs. What table should you extend?
Extend the Task [task] table. This gives you assignment (group and individual), priority, state management, SLA support, number generation, work notes, and activity stream — all inherited automatically. Create a new table like u_maintenance_request that extends task.
Application Scope
Application Scope provides isolation between applications. Each scoped application has its own namespace, and its artifacts (tables, scripts, properties) are protected from other applications.
Scoped vs. Global
| Feature | Scoped Application | Global Scope |
|---|---|---|
| Namespace | x_vendor_appname_* | Global (no prefix) |
| Isolation | Tables/scripts isolated | Accessible to all |
| Cross-scope access | Requires explicit permissions | Freely accessible |
| Best for | Custom applications, Store apps | Platform-level customizations |
| Recommendation | Preferred for new development | Use sparingly |
Key Scope Concepts
- Application scope is set when creating a new application via Studio or App Engine Studio.
- Scoped tables are prefixed: x_<vendor>_<app>_<table_name>.
- Cross-scope access is controlled by Application Access settings on each table.
- Scoped scripts have restricted API access — some global APIs are not available.
- The 'current' application scope is shown in the application picker (top-left in Studio).
Scoped applications are the recommended approach for ALL new development. Global scope should only be used for platform-wide customizations that must affect all applications. The exam heavily tests understanding of scope isolation and cross-scope access permissions.
Studio & App Engine Studio
ServiceNow provides two IDEs for application development: Studio (for professional developers) and App Engine Studio (for citizen developers).
Studio (Professional Developer)
- Full-featured IDE within the ServiceNow browser.
- Create and manage scoped applications.
- Built-in source control (link to Git repositories).
- File browser shows all application artifacts.
- Script editor with syntax highlighting and code search.
- Application publishing and sharing.
App Engine Studio (Citizen Developer)
- Simplified, guided application builder.
- Point-and-click interface — minimal coding required.
- Templates for common application patterns.
- Built-in logic and automation builders.
- Deploys through a managed pipeline with admin review.
Know the difference: Studio is for professional developers who write scripts. App Engine Studio is for citizen developers who build apps visually. Both create scoped applications. Studio offers more control; AES offers more guardrails.
Key Takeaways
- Extend the Task table for any application that tracks work items with assignment, state, and SLAs.
- Scoped applications are recommended for ALL new development. Global scope is for platform-wide customizations only.
- Reference fields point to one record. Glide Lists store multiple. Document ID can reference any table.
- Studio is for professional developers. App Engine Studio is for citizen developers.
- Module role restrictions control navigation visibility, NOT data access. Always pair with ACLs.
- Application fitness: workflow-based, record management, and integration apps are ideal for ServiceNow.
Community-created study aids. Not official ServiceNow exam content.