> For the complete documentation index, see [llms.txt](https://docs.sharelogic.com/unifi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sharelogic.com/unifi/install/critical-upgrade-notice.md).

# CRITICAL UPGRADE NOTICE

**Affects Unifi 4.3, 4.4, and 4.5 on ServiceNow Zurich Patch 10 Hotfix 3, Zurich Patch 11, and Australia Patch 4**

**Last updated:** July 21, 2026

## Overview

ServiceNow has introduced backend security changes in **Zurich Patch 10 Hotfix 3**, **Zurich Patch 11**, and **Australia Patch 4** that cause **breaking issues** in Unifi’s outbound messaging functionality.

These changes impact core Unifi behavior and will prevent outbound messages from being sent unless the fixes below are applied when upgrading.

{% hint style="warning" %}
We recommend applying fixes before upgrading to ensure functionality. If you have already upgraded, we  suggest applying the fixes as soon as possible and checking that recently modified records are integrated correctly.
{% endhint %}

## Issues

1. **Outbound Condition Script Failure**\
   The condition script defined on Outbound Messages is no longer evaluated correctly. Messages using a single-line condition script will fail to send. Activity Log will show "Message condition script did not permit."
2. **Outbound HTTP Requests Missing Endpoint**\
   Outbound HTTP Request records are created without an endpoint value, preventing outbound communication.
3. **XML Template Messages Failing**\
   Messages using the XML Template feature will not work unless the Global Utility is installed.

**Root Cause:**\
All issues are caused by ServiceNow’s internal security updates to the **GlideScopedEvaluator API**, which Unifi uses extensively.

## Required Fixes

{% hint style="info" %}
**Note:** The fixes below apply to all supported versions of Unifi.
{% endhint %}

These actions require the admin role. We recommend capturing changes in an update set.

### Fix 1: Update Message Outbound Condition

1. Navigate to the **Message** table.
2. Find the Outbound condition string field, right click the label and **Configure Dictionary.**
3. Change the **Type** to **Condition String**.

<figure><img src="/files/EyLvoArO8zDht9LxZ18U" alt="Field dictionary screenshot" width="375"><figcaption></figcaption></figure>

### Fix 2: Update Apply Hotfix Script

Append the following script to the Unifi **hotfix** Script Include.

The hotfix makes use of the OOB global CTIEvaluator Script Include. Please ensure this has not been modified and continues to be available for scoped application access.

{% code overflow="wrap" %}

```javascript
/**
 * This hotfix fixes critical issues introduced in Zurich patch 11 and Australia
 * patch 4.
 * 
 * Traditional methods of using GlideScopedEvaluator to evaluate inline scripts
 * in templates no longer work since ServiceNow have prevented dynamic script
 * execution in scoped apps.
 * 
 * The only workaround we have right now is to use the global CTIEvaluator class
 * which happens to be available to all scopes OOB.
 */
hotfix.JellyRunnerLite = function (JellyRunnerLite) {

  JellyRunnerLite.prototype.setVars = function (vars, use_jvar) {
    var jvar = use_jvar ? 'jvar_' : '';

    this.eval_vars = this.eval_vars || {};
    this.eval_vars.jelly = this.eval_vars.jelly || {};
  
    vars = vars || {};
    for (var prop in vars) {
      this.eval_vars[jvar + prop] = vars[prop];
      if (use_jvar) {
        this.eval_vars.jelly[jvar + prop] = vars[prop];
      }
    }
  };

  JellyRunnerLite.prototype._processScript = function (script) {
    var try_script = 'try { ' + script + ';\n} ' +
        'catch (ex) { x_snd_eb.ws_console.error(ex); ex}';
    
    var evaluator = new global.CTIEvaluator('', this.eval_vars);
    evaluator.expression = try_script;
    
    var result = evaluator.evaluate();

    // Return empty string for null/undefined to avoid "null" or "undefined" in output
    if (result === null || result === undefined) {
        return '';
    }

    return String(result);
  };

};
```

{% endcode %}

## Recommendations

* For best results, apply both fixes to Unifi **before** upgrading to the affected ServiceNow versions.
* Thoroughly test all outbound integrations in a sub-production instance after applying the fixes and completing the upgrade.
* Consider delaying the ServiceNow upgrade until these changes have been validated in your environment.

A more permanent solution will be included in a future Unifi release.
