ServiceNow's Certified Application Developer (CAD) Practice Test - 2
1. Cross-scope access is enabled by default in which file type?
Options:
- REST messages
- Table
- Script Include
- Workflow
Answer: Table
Explanation:
When a table is created in a scoped application, cross-scope access is enabled by default so other applications can interact with it unless restricted explicitly.
2. Which is a valid list of Module Link types?
Options:
- A
- B
- C
- D
Answer: Assessment, List of Records, Separator, Timeline Page
Explanation:
These are valid module link types used to define navigation behavior in the Application Navigator.
3. Which is NOT a UI Action type?
Options:
- List choice
- Form button
- List banner button
- Form choice
Answer: Form choice
Explanation:
UI Actions include buttons and links, but “Form choice” is not a valid type.
4. Which statement is NOT true about Notification Weight?
Answer: A Weight value of zero means no email is sent
Explanation:
Weight = 0 actually means the notification will be sent normally, not blocked.
5. Which is NOT a client-side debugging method?
Answer: gs.log()
Explanation:gs.log() is server-side. Client-side debugging uses tools like jslog() or browser console.
6. Useful methods in ACL scripts:
Answer: gs.hasRole() and current.isNewRecord()
Explanation:
ACLs are server-side, so gs and current are used instead of g_user.
7. Objects in Inbound Actions:
Answer: current and email
Explanation:
Inbound email actions process incoming emails, so the email object is available.
8. Number of application menus allowed:
Answer: No limit
Explanation:
Applications can have multiple menus depending on design requirements.
9. What is a Module?
Answer: Helps users quickly access filtered information
Explanation:
Modules act as navigation shortcuts in the Application Navigator.
10. ServiceNow acting as a web service requester is:
Answer: Consumer
Explanation:
When calling external APIs, ServiceNow behaves as a consumer.
11. How can you see what artifacts will be included in a published application?
Options:
- Search application globally
- Open Update Sets list
- Check Application Files related list
- Open artifacts individually
Answer: Update Sets list
Explanation:
Update Sets capture all configuration changes (scripts, reports, etc.) that will move during deployment. Reviewing them gives a clear view of what will be included in the published application.
12. Which feature is NOT supported by Flow Designer?
Options:
- Call subflow
- Test with rollback
- Delegated developer
- MetricBase trigger
Answer: Test with rollback
Explanation:
Flow Designer allows testing but does not support rollback execution, unlike some legacy workflow debugging capabilities.
13. Which method checks if user has admin role in Business Rule?
Answer: gs.hasRole('admin')
Explanation:
Business Rules run server-side, so gs (GlideSystem) is used. It returns true if the user has the role (including admin overrides).
14. What cannot be debugged using Field Watcher?
Answer: Script Includes
Explanation:
Field Watcher is mainly used for client-side debugging. Script Includes run server-side and are not visible there.
15. A Flow Designer package for a specific app is called:
Answer: Spoke
Explanation:
A Spoke contains reusable actions and flows for a specific integration or application.
16. Method that checks ONLY exact role:
Answer: g_user.hasRoleExactly('catalog_admin')
Explanation:
Unlike hasRole(), this ensures the user has only that role, not admin override.
17. True statements about reports (choose 3):
Answer:
- Reports can be shared
- Can be graphical
- Can run on demand
Explanation:
Reports are flexible, but not all users can create reports on all tables, which makes that option incorrect.
18. Which statement is incorrect when extending a table?
Answer: Inherits all functionality
Explanation:
While fields are inherited, custom logic often still needs configuration, especially business rules and scripts.
19. If “Can read” is not selected, what happens?
Answer: Create, update, delete options unavailable
Explanation:
Without read access, other operations are meaningless, so they are disabled.
20. ACL evaluation order:
Answer: Most specific → most generic
Explanation:
ServiceNow checks field-level ACLs first, then table-level, ensuring precise access control.
21. UI Policy execution order:
Answer: Scripts execute before Actions
Explanation:
Scripts define logic first, then UI changes (like mandatory, visible) are applied.
22. Which is NOT used for logging in a server-side script (scoped app)?
Answer:
gs.log()
Explanation:
In scoped applications, gs.log() is generally avoided because it’s considered a legacy/global method. Instead, you should use:
gs.info()→ informational logsgs.warn()→ warningsgs.error()→ errorsgs.debug()→ debugging
These methods provide better log categorization and are recommended for modern development.
23. GlideUser (g_user) methods are used where?
Answer: Client Scripts, UI Policies, UI Actions
Explanation:g_user is a client-side object, meaning:
- It works in browser-based scripts (Client Scripts, UI Policies)
- It does NOT work server-side (Business Rules, Script Includes)
Example:
alert(‘Admin user’);
}
24. What is a REST Endpoint?
Answer: URI of the resource
Explanation:
The Endpoint is simply the URL of the API you are calling.
Example:
It tells ServiceNow:
- Where to send the request
- Which resource to interact with (GET, POST, etc.)
25. What does “Override application menu roles” do?
Answer: Allows module access even without menu role
Explanation:
Normally: User needs access to both Application Menu + Module
With override enabled: User can access the module directly if they have module role, even without menu access.
Useful when:
- You want restricted navigation but direct access via URL
26. How to access event properties in Email Notification?
Answer:
${event.property}
Explanation:
When an event triggers a notification, you can access its parameters:
Example:
${event.parm2}
Used for dynamic email content
Very important for real-world notifications
27. Changing field label in child table affects?
Answer: Child table only
Explanation:
Even though child tables inherit fields:
- Label customization is independent
This allows flexibility without affecting parent table design.
28. Client-side scripts for Record Producers?
Answer: Catalog Client Scripts & Catalog UI Policies
Explanation:
Record Producers belong to the Service Catalog, so:
- They use Catalog-specific scripting
- NOT normal Client Scripts
29. Objects in Scheduled Script Execution?
Answer: GlideSystem & GlideRecord
Explanation:
Scheduled Jobs run server-side without UI context, so:
GlideSystem (gs)→ system operationsGlideRecord→ database queries
current is not available (no active record)
30. Incorrect step in Script Include creation?
Answer: Identify the table
Explanation:
Script Includes are:
- Reusable utilities
- Not tied to a specific table
They are designed for global logic reuse
31. Roles for Source Control access?
Answer:
source_control, admin
Explanation:
These roles allow:
- Linking Git repositories
- Import/export applications
admin automatically gets all privileges.
Which roles grant access to source control repository operations such as importing applications from source control, or linking an application to source control? (Choose two.)
A. source_control
B. source_control_admin
C. admin
D. git_admin
Answer: A, C
Explanation:
The source_control role provides access to basic Git operations like linking and importing applications from a repository. The admin role automatically inherits all permissions in ServiceNow, including source control access.
While source_control_admin sounds relevant, it is not required for basic operations, and git_admin is not a valid out-of-box role.
32. Which one of the following is true regarding Application Scope?
A. All applications are automatically part of the Global scope
B. Applications downloaded from 3rd party ServiceNow application developers cannot have naming conflicts
C. Any developer can edit any application
D. Developers can choose the prefix for a scope’s namespace
Answer: B
Explanation:
Application scope ensures isolation by assigning a unique namespace (prefix) to each application. This prevents naming conflicts, especially for apps downloaded from third-party developers.
- Not all apps are in Global scope
- Developers cannot edit apps outside their scope without permission
- Prefix is auto-generated (not freely chosen)
33. Which of the following is NOT a trigger type in Flow Designer?
A. Outbound Email
B. Application
C. Record
D. Schedule
Answer: A
Explanation:
Flow Designer triggers include:
- Record-based triggers
- Scheduled triggers
- Application/event-based triggers
Outbound Email is not a trigger—it is an action/output, meaning it happens after a flow is triggered.
34. Which Report Type(s) can be created by right-clicking on a column header in a table’s list?
A. Bar Chart, Pie Chart, Histogram, and Line
B. Bar Chart
C. Bar Chart, Pie Chart, and Histogram
D. Bar Chart and Pie Chart
Answer: D
Explanation:
ServiceNow provides quick report creation directly from list view.
However, only basic visualizations are available here:
- Bar charts
- Pie charts
Advanced reports like Histogram or Line require using the full Report Builder.
35.Which one of the following is the baseline behavior of a table in a privately-scoped application?
A. The table and its data are not accessible using web services
B. Any Business Rule can read, write, delete, and update from the table
C. Only artifacts in the table’s application can read from the table
D. All application scopes can read from the table
Answer: D
Explanation:
By default, tables in scoped applications allow read access across all scopes.
This behavior ensures flexibility, but developers must explicitly restrict access using:
- Application Access settings
- Access Control (ACL) rules
36.Which one of the following is part of the client-side scripting API?
A. scratchpad
B. GlideUser object (g_user)
C. current and previous objects
D. GlideSystem object (gs)
Answer: B
Explanation:
The g_user object is part of the client-side API and is used to:
- Check roles
- Get user information
Other options:
gs→ server-side onlycurrent/previous→ server-sideg_scratchpad(not listed properly here) is used differently
37.Which one of the following is NOT a purpose of application scoping?
A. Provide a relationship between application artifacts
B. Provide a way of tracking the user who developed an application
C. Provide a namespace (prefix and scope name) to prevent cross application name collisions
D. Provide controls for how scripts from another scope can alter tables in a scoped application
Answer: A
Explanation:
Application scoping is designed for:
- Isolation and security
- Namespace management
- Cross-scope access control
It does not define relationships between artifacts—that is handled by table relationships and references.
38.Which one of the following is true for a table with the “Allow configuration” Application Access option selected?
A. Only the in scope application’s scripts can create Business Rules for the table
B. Any user with the application’s user role can modify the application’s scripts
C. Out of scope applications can create Business Rules for the table
D. Out of scope applications can add new tables to the scoped application
Answer: C
Explanation:
When Allow configuration is enabled:
- Other (out-of-scope) applications can create configurations like Business Rules on that table
This increases flexibility but can also introduce security and governance risks if not controlled properly.
39.If the Create module field is selected when creating a table, what is the new module’s default behavior?
A. Open an empty form so new records can be created
B. Open a link to a wiki article with instructions on how to customize the behavior of the new module
C. Display an empty homepage for the application
D. Display a list of all records from the table
Answer: D
Explanation:
When a module is auto-created:
- It defaults to a List of Records view
This allows users to:
- View all records
- Filter/search data
40.From the list below, identify one reason an application might NOT be a good fit with ServiceNow, The application:
- Needs workflow to manage processes
- Requires “as-is” use of low-level programming libraries
- Requires reporting capabilities
- Uses forms extensively to interact with data
Answer: B
Explanation:
ServiceNow is a high-level platform (low-code/no-code).
It is great for:
- Workflows
- Forms
- Reporting
But not suitable for low-level programming needs like:
- Hardware-level operations
- Custom system-level libraries
41.Which one of the following is true for a Script Include with a Protection Policy value of Protected?
- Any user with the protected_edit role can see and edit the Script Include
- The Protection policy option can only be enabled by a user with the admin role
- The Protection Policy is applied only if the glide.app.apply_protection system property value is true
- The Protection Policy is applied only if the application is downloaded from the ServiceNow App Store
Answer: D
Explanation:
Protection Policy ensures that:
- Script Includes are hidden/protected from customers
This applies mainly when:
- Applications are distributed via the ServiceNow App Store
It prevents others from viewing or modifying proprietary code.
42.What are some of the benefits of extending an existing table such as the Task table when creating a new application?
a) You can repurpose existing fields by simply changing the label.
b) Use existing fields with no modifications.
c) Existing logic from the parent table will be automatically applied to the new table.
d) All of the parent table records are copied to the new table.
A. a, b, c, and d
B. a and b
C. b and c
D. a, b, and c
Answer: B
Explanation:
When extending a table:
- You can reuse fields (a, b)
- Data is NOT copied (d is wrong)
- Logic is not always fully automatic (c is tricky/partially true but not guaranteed)
So safest correct answer is a and b
43.What syntax is used in a Record Producer script to access values from Record Producer form fields?
A. producer.field_name
B. producer.variablename
C. current.variable_name
D. current.field_name
Answer: B
Explanation:
Record Producer variables are accessed using the producer object:
44.Which one of the following is NOT required to link a ServiceNow application to a Git repository?
A. Password
B. URL
C. User name
D. Application name
Answer: D
Explanation:
To link a ServiceNow application to a Git repository, you need:
- Repository URL
- Username
- Password / token
The application name is not required because the repository itself defines the project. ServiceNow links the current application automatically.
45.Which of the following methods prints a message on a blue background to the top of the current form by default?
A. g_form.addInfoMsg()
B. g_form.addInfoMessage()
C. g_form.showFieldMessage()
D. g_form.showFieldMsg()
Answer: B
Explanation:g_form.addInfoMessage() displays a blue informational message at the top of the form.
showFieldMessage()→ displays message near a fieldaddInfoMsg()→ incorrect method name
This is commonly used for user guidance messages.
46.One of the uses of the ServiceNow REST API Explorer is:
A. Practice using REST to interact with public data providers
B. Find resources on the web for learning about REST
C. Convert SOAP Message functions to REST methods
D. Create sample code for sending REST requests to ServiceNow
Answer: D
Explanation:
REST API Explorer helps developers:
- Test APIs
- Generate sample request code
- Understand request/response structure
Very useful for learning and debugging integrations.
47.When configuring an Access Control which has no condition or script, which one of the following statements is NOT true?
A. table.*will grant access to every field in a record
B. table.None will grant access to every record on the table
C. table.field will grant access to a specific field in a record
D. table.id will grant access to a specific record on the table
Answer: D
Explanation:
ACLs work at:
- Table level (
table.None) - Field level (
table.field)
There is no concept of ACL at record ID level, so table.id is invalid.
48.How must Application Access be configured to prevent all other private application scopes from creating configuration records on an application’s data tables?
A. You must create Access Controls to prevent all other application scopes from creating configuration records on an application’s data tables rather than using Application Access
B. Set the Accessible from field value to All application scopes and de-select the Can create option
C. Set the Accessible from field value to This application scope only and de-select the Allow access to this table via web services option
D. Set the Accessible from field value to This application scope only
Answer: D
Explanation:
Setting Accessible from = This application scope only ensures:
- No other scoped application can access or modify the table
This is the strongest restriction for cross-scope access.
49.Which source control operation is available from BOTH Studio and the Git Repository?
A. Create Branch
B. Apply Remote Changes
C. Stash Local Changes
D. Edit Repository Configurations
Answer: A
Explanation:
Create Branch is a standard Git operation available:
- In ServiceNow Studio
- In external Git tools
Other operations may be limited depending on UI or context.
50.Identify the incorrect statement about Delegated Development in ServiceNow.
A. Administrators can grant non-admin users the ability to develop global applications.
B. Administrators can specify which application file types the developer can access.
C. Administrators can grant the developer access to script fields.
D. Administrators can grant the developer access to security records.
Answer: A
Explanation:
Delegated Development:
- Works for scoped applications only
- Does NOT allow non-admin users to develop in global scope
Other options are valid permissions admins can grant.
51.Which of the following objects does a Display Business Rule NOT have access to?
A. previous
B. GlideSystem
C. g_scratchpad
D. current
Answer: A
Explanation:
Display Business Rules:
- Run before form loads
- Provide data to client scripts
They have:
currentgsg_scratchpad
But do NOT have previous because no prior state exists.
52.Which of the following are configured in an Email Notification?
a) Who will receive the notification.
b) What content will be in the notification.
c) When to send the notification.
d) How to send the notification.
A. a, b and c
B. a, b, and d
C. b, c and d
D. a, c and d
Answer: A
Explanation:
In notifications, you define:
- Who → recipients
- What → message content
- When → trigger condition
“How” (email delivery mechanism) is handled by the platform.
53.The source control operation used to store local changes on an instance for later application is called .
A. Branch
B. Tag
C. Stash
D. Update set
Answer: C
Explanation:
Stash temporarily saves uncommitted changes:
- Allows switching context
- Prevents losing work
Very useful in Git workflows.
54.Which of the following features are available to Global applications? (Choose two.)
A. Automated Test Framework
B. Source Control
C. Delegated Development
D. Flow Designer
Answer: A, D
Explanation:
Global apps support:
- ATF (Automated Test Framework)
- Flow Designer
Some features like source control are primarily designed for scoped apps.
55.Which of the following statements is true for the Form Designer?
a) To add a field to the form layout, drag the field from the Fields tab to the desired destination on the form.
b) To create a new field on a form’s table, drag the appropriate data type from the Field Types tab to the form and then configure the new field.
c) To remove a field from the form layout, hover over the field to enable the Action buttons, and select the Delete (X) button.
d) To add a section to the form layout, drag it from the Field Types tab to the desired destination on the form.
A. a, b, c, and d
B. b, c, and d
C. a, b, and d
D. a, b, and c
Answer: D
Explanation:
- a, b, c → correct Form Designer operations
- d → incorrect because sections are not added from Field Types tab
56.Application developers configure ServiceNow using industry standard JavaScript to…
A. Enable the right-click to edit the context menus on applications in the navigator
B. Extend and add functionality
C. Customize the organization’s company logo and banner text
D. Configure the outgoing email display name
Answer: B
Explanation:
JavaScript is used to:
- Extend platform functionality
- Automate processes
- Customize logic
Other options are mostly configuration-based.
57.Which one of the following is the fastest way to create and configure a Record Producer?
A. Create a Catalog Category, open the category, and select the Add New Record Producer button
B. Use the Record Producer module then add and configure all variables manually
C. Open the table in the Table records and select the Add to Service Catalog Related Link
D. Open the table’s form, right-click on the form header, and select the Create Record Producer menu item
Answer: C
Explanation:
“Add to Service Catalog”:
- Automatically creates a Record Producer
- Saves time and setup effort
58.It is best practice to define the business requirements and the process(es) an application will manage as part of the application development plan. What are some of the considerations to document as part of the business process?
A. Business problem, data input/output, users/stakeholders, and process steps
B. Business problem, data input/output, project schedule, and process steps
C. Business problem, data input/output, users/stakeholders, and database capacity
D. Business problem, users/stakeholders, available licenses, and database capacity
Answer: A
Explanation:
A strong business process definition includes:
- Problem statement
- Data flow
- Stakeholders
- Process steps
These are essential for proper solution design.
59.Which platform feature can be used to determine the relationships between field in an Import Set table to field in an existing ServiceNow table?
A. Business Service Management Map
B. Data Sources
C. Transform Map
D. CI Relationship Builder
Answer: C
Explanation:
Transform Map is used to:
- Map fields from Import Set → Target table
- Define how data is transformed and inserted
