How to fix it

  1. Navigate to System Definition > Business Rules and open your Business Rule.
  2. Verify the When field matches your operation. If you're updating existing records, use before update or after update. If creating new records, use before insert or after insert.
  3. Check if the Table field matches the exact table where you're saving records. If you need it to run on Incidents, select Incident [incident], not the parent Task table.
  4. Verify the Active checkbox is checked and the Order field has a reasonable value like 100 (lower numbers run first).
  5. If you have custom JavaScript code, ensure the Advanced checkbox is checked. Without this, any code in the Script field will be ignored.
  6. Review the Condition field. If it contains a script like current.state == 2, test if this condition is actually true when you save the record.
  7. Click the Filter Conditions tab. If you have filters set up, verify they match the actual field values on your test record.
  8. Add debugging to your script. At the top of your Business Rule script, add gs.info('BR firing: ' + current.number); to verify it's actually running.
  9. Save the Business Rule and test by creating or updating a record that should trigger it.
  10. Check the logs by navigating to System Logs > System Log > All to see if your debug message appears or if there are any JavaScript errors.
💡

Quick test: Set the Business Rule to run 'before insert' and 'before update' with a simple script like gs.addInfoMessage('Business Rule is working') to verify it fires before troubleshooting complex logic.