SNOW-CAD Practice Question: Automating application logic with business rules and scripts
You are a ServiceNow administrator for a large organization that uses a custom application to manage IT assets. The application has a business rule on the 'asset' table that runs 'after update' and logs changes to a separate audit table. Recently, users have reported that saving an asset record takes over 30 seconds, and the system performance has degraded. Upon investigation, you find that the business rule contains a GlideRecord query that retrieves all related asset history records for each update, and then performs additional calculations. The asset table has over 500,000 records, and each asset has an average of 50 history records. The business rule is triggered on every field update, including minor changes like last modified date. You need to improve the response time without losing the audit functionality. Which course of action should you take?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Add a condition to the business rule so that it only executes when specific important fields (e.g., status, assigned to) are changed.
Adding a condition to limit execution to only significant changes (e.g., important fields) reduces the frequency of the heavy operation. Option A is not valid because before business rules cannot write to a different table after the operation; they would need to use a separate script. Option C is incorrect because implementing the audit logic using a script include called from a UI policy is not suitable; UI policies are client-side and cannot perform server-side operations like writing to an audit table. Option D might cause delays if asynchronous execution is not properly configured, and it still runs the same operation; additionally, asynchronous business rules can lead to data consistency issues.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Change the business rule to run 'before' update to perform the audit logging earlier in the process.
Why it's wrong here
Running before update does not reduce the workload; it still executes the same heavy query and may interfere with the update operation.
- ✓
Add a condition to the business rule so that it only executes when specific important fields (e.g., status, assigned to) are changed.
Why this is correct
This reduces the number of times the resource-intensive code runs, improving performance while still logging critical changes.
- ✗
Delete the business rule and implement the audit logic using a script include called from a UI policy.
Why it's wrong here
This would remove the audit functionality for server-side updates, and UI policies do not run on all updates (e.g., via web services).
- ✗
Change the business rule to run asynchronously by selecting 'Run asynchronously' in the advanced view.
Why it's wrong here
Asynchronous execution still runs the same heavy query; it only moves the work to a different queue, but the load on the database remains.
Go deeper
Related to this question
About these practice questions
Courseiva writes every SNOW-CAD question from scratch — 481 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SNOW-CAD practice question is part of Courseiva's free ServiceNow certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SNOW-CAD exam.