<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question What is the difference between a business rule and script include? in Community Central forum</title>
    <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581114#M7582</link>
    <description>&lt;P&gt;Hi I am a newcommer to ServiceNow - exploring the platform. I know both are server-side script, but what makes them different.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 30 Jul 2026 04:53:05 GMT</pubDate>
    <dc:creator>vsashwin364</dc:creator>
    <dc:date>2026-07-30T04:53:05Z</dc:date>
    <item>
      <title>What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581114#M7582</link>
      <description>&lt;P&gt;Hi I am a newcommer to ServiceNow - exploring the platform. I know both are server-side script, but what makes them different.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jul 2026 04:53:05 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581114#M7582</guid>
      <dc:creator>vsashwin364</dc:creator>
      <dc:date>2026-07-30T04:53:05Z</dc:date>
    </item>
    <item>
      <title>Re: What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581187#M7586</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/1147454"&gt;@vsashwin364&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On a high level,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;SPAN&gt;A &lt;/SPAN&gt;&lt;STRONG&gt;Business Rule&lt;/STRONG&gt; is a trigger-based server-side script that runs automatically during database operations, whereas a &lt;STRONG&gt;Script Include&lt;/STRONG&gt; is a reusable library of code that only runs when explicitly called. Both operate on the server side, but they serve different purposes in ServiceNow.&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;Execution and Trigger&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;Business Rule:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Runs automatically.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Triggers during database CRUD actions (&lt;STRONG&gt;Insert&lt;/STRONG&gt;, &lt;STRONG&gt;Update&lt;/STRONG&gt;, &lt;STRONG&gt;Delete&lt;/STRONG&gt;, &lt;STRONG&gt;Query&lt;/STRONG&gt;, or &lt;STRONG&gt;Display&lt;/STRONG&gt;) on a specific table.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Configured using form settings (Before, After, Async, Display) and conditional filters.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;Script Include:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Runs only on demand.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Executes when called by other server-side scripts (like Business Rules or Workflow scripts) or via client-callable &lt;STRONG&gt;GlideAjax&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Does not watch tables or trigger automatically.&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;Purpose and Reusability&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;Business Rule:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Handles record-specific database logic.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Enforces data integrity, auto-assigns values, or initiates background actions for a specific record lifecycle.&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;Script Include:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;UL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Promotes code reuse and modularity.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Stores centralized functions or classes so you do not repeat the same block of code across multiple rules or applications&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 30 Jul 2026 08:29:19 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581187#M7586</guid>
      <dc:creator>Lakshmi888888</dc:creator>
      <dc:date>2026-07-30T08:29:19Z</dc:date>
    </item>
    <item>
      <title>Re: What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581190#M7587</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/1147454"&gt;@vsashwin364&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Business Rule&lt;/P&gt;&lt;P&gt;A Business Rule is a server-side script that runs automatically when a record is inserted, updated, deleted, or displayed. You use it to automate actions based on these record events. It is triggered by the database operation—you don't call it yourself. You simply define when it should run (like Before, After, Async, or Display) and ServiceNow executes it automatically.&lt;/P&gt;&lt;P&gt;When to run:&lt;/P&gt;&lt;P&gt;Before – Runs before the record is saved to the database. We can use it to validate or modify data before it is stored.&lt;BR /&gt;After – Runs after the record has been saved to the database. We use it when we need to perform actions that depend on the record already existing in the database, such as updating related records or sending notifications.&lt;BR /&gt;Display – Runs before the form is displayed to the user. We use it to prepare data (using g_scratchpad) that a Client Script needs when the form loads.&lt;BR /&gt;Async (Asynchronous) – Runs after the record is saved, but in the background. We use it for tasks that don't need to happen immediately, such as sending emails, calling external systems, or for long-running processing, so the user doesn't have to wait for them to finish.&lt;/P&gt;&lt;P&gt;Script Include&lt;/P&gt;&lt;P&gt;A Script Include is a server-side script that contains reusable functions or classes. Unlike a Business Rule, it does not run automatically. It is triggered only when another script calls it, such as a Business Rule, UI Action, Scripted REST API, another Script Include or via a Client Script(using GlideAjax). You use it to write code once and reuse it in multiple times.&lt;/P&gt;&lt;P&gt;There are three types of Script Includes:&lt;/P&gt;&lt;P&gt;Classless – Standalone functions (less commonly used).&lt;BR /&gt;Class-based – Reusable methods inside a class (most commonly used).&lt;BR /&gt;Client Callable – Called from a Client Script using GlideAjax.&lt;/P&gt;&lt;P&gt;Hope you find it helpful.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jul 2026 08:30:20 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581190#M7587</guid>
      <dc:creator>Vinayak2443</dc:creator>
      <dc:date>2026-07-30T08:30:20Z</dc:date>
    </item>
    <item>
      <title>Re: What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581234#M7593</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/1147454"&gt;@vsashwin364&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="377.25px" height="30px"&gt;&lt;STRONG&gt;Business Rule&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD width="437.75px" height="30px"&gt;&lt;STRONG&gt;Script Include&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="85px"&gt;Executes automatically based on database operations (Insert, Update, Delete, Query, Display).&lt;/TD&gt;&lt;TD width="437.75px" height="85px"&gt;Executes only when called from another script (Business Rule, Scripted REST API, Flow Action, UI Action, etc.).&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="30px"&gt;Event-driven.&lt;/TD&gt;&lt;TD width="437.75px" height="30px"&gt;Function/Class-based and reusable.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="57px"&gt;Mainly used to enforce business logic, validate data, or automate actions on records.&lt;/TD&gt;&lt;TD width="437.75px" height="57px"&gt;Mainly used to write reusable logic that can be shared across multiple scripts.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="30px"&gt;Tied to a specific table.&lt;/TD&gt;&lt;TD width="437.75px" height="30px"&gt;Not tied to any table (unless designed that way).&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="57px"&gt;Runs Before, After, Async, or Display.&lt;/TD&gt;&lt;TD width="437.75px" height="57px"&gt;No execution timing—it runs whenever another script invokes it.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="57px"&gt;Reduces manual intervention by triggering automatically.&lt;/TD&gt;&lt;TD width="437.75px" height="57px"&gt;Reduces code duplication by centralizing common logic.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="377.25px" height="57px"&gt;Cannot be directly called from another script like a function.&lt;/TD&gt;&lt;TD width="437.75px" height="57px"&gt;Can be called from server-side scripts and, if Client Callable, from client scripts via GlideAjax.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example :&lt;BR /&gt;&lt;STRONG&gt;Business Rule :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// Suppose whenever an Incident is created with Priority = 1, you want to automatically assign it to the Major Incident team.
// Before Insert Business Rule

if (current.priority == 1) {
    current.assignment_group = 'Major Incident Team Sys ID';
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Script Include :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// Now if the same logic is required in multiple places (Business Rule, Scripted REST API, Flow Designer Action, etc.)

var IncidentUtils = Class.create();
IncidentUtils.prototype = {
    initialize: function() {},

    assignMajorIncident: function(current) {
        if (current.priority == 1) {
            current.assignment_group = 'Major Incident Team Sys ID';
        }
    },

    type: 'IncidentUtils'
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;call this in BR any anywhere server side for reusability :&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var utils = new IncidentUtils();
utils.assignMajorIncident(current);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If my response helped mark as helpful and accept the solution.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jul 2026 09:07:31 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581234#M7593</guid>
      <dc:creator>yashkamde</dc:creator>
      <dc:date>2026-07-30T09:07:31Z</dc:date>
    </item>
    <item>
      <title>Re: What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581240#M7594</link>
      <description>&lt;P&gt;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/1147454"&gt;@vsashwin364&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;answer to this question can be easily found on any AI tool or Google or ServiceNow Docs&lt;/P&gt;
&lt;P&gt;what did you find and what are your doubts?&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":light_bulb:"&gt;💡&lt;/span&gt; If my response helped, please mark it as correct &lt;span class="lia-unicode-emoji" title=":white_heavy_check_mark:"&gt;✅&lt;/span&gt; and close the thread &lt;span class="lia-unicode-emoji" title=":locked:"&gt;🔒&lt;/span&gt;— this helps future readers find the solution faster! &lt;span class="lia-unicode-emoji" title=":folded_hands:"&gt;🙏&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jul 2026 09:12:11 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581240#M7594</guid>
      <dc:creator>Ankur Bawiskar</dc:creator>
      <dc:date>2026-07-30T09:12:11Z</dc:date>
    </item>
    <item>
      <title>Re: What is the difference between a business rule and script include?</title>
      <link>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581247#M7595</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://www.servicenow.com/community/user/viewprofilepage/user-id/1147454"&gt;@vsashwin364&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE width="590"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="135"&gt;Aspect&lt;/TD&gt;&lt;TD width="229"&gt;Business Rule&lt;/TD&gt;&lt;TD width="226"&gt;Script Include&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Purpose&lt;/TD&gt;&lt;TD width="229"&gt;Executes business logic automatically when a database operation occurs&lt;/TD&gt;&lt;TD width="226"&gt;Stores reusable functions or classes that can be called from other scripts&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Execution&lt;/TD&gt;&lt;TD width="229"&gt;Triggered automatically by record events (Insert, Update, Delete, Query, Display)&lt;/TD&gt;&lt;TD width="226"&gt;Runs only when explicitly invoked&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Type&lt;/TD&gt;&lt;TD width="229"&gt;Event-driven server-side script&lt;/TD&gt;&lt;TD width="226"&gt;Reusable server-side code library&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Trigger Mechanism&lt;/TD&gt;&lt;TD width="229"&gt;Database activity on a specific table&lt;/TD&gt;&lt;TD width="226"&gt;Call from Business Rule, Scripted REST API, Flow Action, UI Action, Background Script, etc.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Table&lt;/TD&gt;&lt;TD width="229"&gt;Associated with a specific table&lt;/TD&gt;&lt;TD width="226"&gt;Not tied to a table&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Reusability&lt;/TD&gt;&lt;TD width="229"&gt;Limited. Logic is usually specific to one table/process&lt;/TD&gt;&lt;TD width="226"&gt;High. Same code can be reused across multiple applications and tables&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Performance&lt;/TD&gt;&lt;TD width="229"&gt;Can impact performance if many rules execute unnecessarily&lt;/TD&gt;&lt;TD width="226"&gt;Better for reusable logic because code loads only when called&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Typical Use Cases&lt;/TD&gt;&lt;TD width="229"&gt;Data validation, field population, triggering events, enforcing business policies&lt;/TD&gt;&lt;TD width="226"&gt;Utility methods, common calculations, reusable integrations, shared data processing&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Configuration Options&lt;/TD&gt;&lt;TD width="229"&gt;Before, After, Async, Display; Conditions; Order; Insert/Update/Delete/Query&lt;/TD&gt;&lt;TD width="226"&gt;Name, API Name, Client Callable, Accessible From&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Maintenance&lt;/TD&gt;&lt;TD width="229"&gt;Can lead to duplicated logic if similar code exists in multiple rules&lt;/TD&gt;&lt;TD width="226"&gt;Centralized logic, easier maintenance&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Best Practice&lt;/TD&gt;&lt;TD width="229"&gt;Keep focused on triggering and validation logic&lt;/TD&gt;&lt;TD width="226"&gt;Place complex/reusable logic here and call it from Business Rules&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="135"&gt;Example&lt;/TD&gt;&lt;TD width="229"&gt;When Incident Priority = 1, automatically notify manager&lt;/TD&gt;&lt;TD width="226"&gt;Function IncidentUtils.getManager() used by multiple Business Rules&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 30 Jul 2026 09:30:50 GMT</pubDate>
      <guid>https://www.servicenow.com/community/community-central-forum/what-is-the-difference-between-a-business-rule-and-script/m-p/3581247#M7595</guid>
      <dc:creator>Tanushree Maiti</dc:creator>
      <dc:date>2026-07-30T09:30:50Z</dc:date>
    </item>
  </channel>
</rss>

