Why an After Business Rule Didn’t Update Records as Expected
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Problem
I had an after Business Rule that appeared to run successfully, but the record updates I expected either didn’t persist or behaved inconsistently. There were no errors, which made it harder to diagnose.
Solution
The issue turned out to be when and how the record was being updated.
What I learned:
In an After Business Rule, the record has already been committed
Updating the same record directly can cause unexpected behavior or be ignored
Using current.setValue() in an After rule does b
The fix was to:
Move the logic to a Before Business Rule or
Perform updates using a separate GlideRecord update (only when truly needed)
Once I aligned the logic with the correct rule timing, the updates worked consistently.
Why this matters
If you’re:
Seeing “silent failures” in Business Rules
Updating records without errors but no results
Unsure whether logic belongs in Before vs After
This distinction is critical! 🙂
Takeaway
Best practices:
Use Before rules to modify the current record
Reserve After rules for downstream logic notifications, integrations, async work
Be cautious when updating the same record in an After rule
Posting this to help others avoid the same trap.
*Please give a thumbs up if you find Helpfuls!!
I thank You Kindly
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago
It's a thumb rule to use before business rule if you are trying to set the fields on same table on which BR is running.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader