Skip to page contentSkip to chat
ServiceNow support
    • Community
      Ask questions, give advice, and connect with fellow ServiceNow professionals.
      Developer
      Build, test, and deploy applications
      Documentation
      Find detailed information about ServiceNow products, apps, features, and releases.
      Impact
      Accelerate ROI and amplify your expertise.
      Learning
      Build skills with instructor-led and online training.
      Partner
      Grow your business with promotions, news, and marketing tools
      ServiceNow
      Learn about ServiceNow products & solutions.
      Store
      Download certified apps and integrations that complement ServiceNow.
      Support
      Manage your instances, access self-help, and get technical support.
Async Business Rules and the 'current' object - Support and Troubleshooting
  • >
  • Knowledge Base
  • >
  • Support and Troubleshooting (Knowledge Base)
  • >
  • Async Business Rules and the 'current' object
KB0687840

Async Business Rules and the 'current' object


25430 Views Last updated : Oct 31, 2022 public Copy Permalink English (Original)
  • English (Original)
  • Japanese
KB Summary by Now Assist

Issue

When you have a business rule that runs asynchronously, the actual execution of that script is delayed until one of the workers on your instance processes ASYNC: Background jobs from the sys_trigger table.

When the record is modified and the async rule is triggered, we add a record to the sys_trigger table. That record holds a reference to the business rule that we need to run, and to the particular record to use as current within that business rule. When the worker picks up the job, a scripting environment is created. The record is loaded from the database as it is at the time the script runs and is put into the scripting environment as the variable current. You can then interact with that variable as you normally would.

Recommendations

While you can modify the current record using the normal current.setValue('field_name', 'value') method or via direct assignment using current.field_name = 'value';, and you can update the record using current.update(), this is strongly discouraged. It is not good practice to modify the current record outside of a before business rule.

If the architecture of your application calls for current.update() in a business rule, this indicates your application needs a redesign. It would point to a potential problem or incident waiting to happen, which could be avoided by only modifying the current record before it is written to the database.


The world works with ServiceNow.

Sign in for more! There's more content available only to authenticated users Sign in for more!
Did this KB article help you?
Did this KB article help you?

How would you rate your Now Support digital experience?

*

Very unsatisfied

Unsatisfied

Neutral

Satisfied

Very satisfied

Very unsatisfied

Unsatisfied

Neutral

Satisfied

Very satisfied

What can we improve? Please select all that apply.

What are we doing well? Please select all that apply.

Tell us more

*

Do you expect a response from this feedback?

  • Terms and conditions
  • Privacy statement
  • GDPR
  • Cookie policy
  • © 2025 ServiceNow. All rights reserved.