What is Business Rule in ServiceNow?
A business rule is a server-side script or configuration that runs automatically when a record is displayed, inserted, updated, deleted or queried. It is the standard place to enforce logic on the server.
When business rules run
Before rules run before the record is saved, and are ideal for setting or validating field values on the same record. After rules run once the record is saved, and are used to update related records. Async rules run in the background after saving, which suits slow work like calling an integration. Display rules run when a form loads and can pass data to client scripts through g_scratchpad.
A simple example
A before-insert business rule on incident could set the assignment group based on the category. In the script, current is the record being saved and previous holds its earlier values, so if (current.state.changesTo(6)) detects that an incident has just been resolved.
Conditions and order
Rules can use simple filter conditions without code, and an Order field decides which runs first when several rules apply. Keeping conditions in the condition builder instead of inside the script makes rules faster and easier to read.
Best practices
Use the lightest tool that works: a UI policy, data policy or flow may be easier to maintain than a script. Prefer async rules for anything slow so users don’t wait. Move reusable logic into script includes, and always set a condition so the rule doesn’t run on every save.
Common mistakes
Calling current.update() in a before or after rule on the same table causes extra saves and can trigger recursion. Querying large tables without filters inside a business rule is another frequent cause of slow forms.
Frequently asked questions
What is the difference between a business rule and a client script?
Business rules run on the server and apply whatever way a record is saved. Client scripts run in the browser and only affect the form a user is looking at.
Do business rules run on imports and integrations?
Yes, unless the import or script explicitly disables them with setWorkflow(false).
When should I use an async business rule?
When the logic is slow or calls an external system, and the user doesn’t need the result immediately.
Related ServiceNow terms

Need help with Business Rule or anything else in ServiceNow? We’re here with practical solutions that fit your organization and your teams.
Browse all 100 ServiceNow terms
ServiceNow is a trademark of ServiceNow, Inc. This glossary is an independent resource by Sequal Consultancy and is not affiliated with or endorsed by ServiceNow, Inc.