Why an After Business Rule Didn’t Update Records as Expected

Matthew_13
Tera Guru

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:

  1. Use Before rules to modify the current record

  2. Reserve After rules for downstream logic notifications, integrations, async work

  3. 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

1 REPLY 1

Ankur Bawiskar
Tera Patron
Tera Patron

@Matthew_13 

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.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader