Partners now can build plugins that leverage the Encompass Partner Connect (EPC) platform. If you are new to EPC, see What do I need to get started?

You can use your existing EPC API keys to register a plugin as an EPC product. See below for a sample Create Plugin Product request payload:

{
    "partnerId": "12345678",
    "name": "PartnerName-PluginName",
    "listingName": "Marketing Plugin Name",
    "environment": "prod",
    "status": "approved",
    "integrationType": "PLUGIN",
    "interfaceUrl": "https://partnerpluginurl.com/plugin.html",
     "tags": {
        "workflows": [
            "interactive"
        ],
        "categories": [
            "PLUGIN"
        ],
        "applications": [
            "urn:elli:application:loconnect"
        ]
    },
    "entitlements": {
        "access": {
            "allow": [
                "urn:elli:encompass:BExxxxxxxx",
                "urn:elli:encompass:BEyyyyyyyy"
            ],
            "deny": [
                ""
            ]
        }
    }
}

Submitting this request creates a plugin as an EPC product. See below for a sample Create Plugin Product response payload:

{
     "id": "c089bb5b-b715-437c-9e3b-38e813524e52",
     "partnerId": "12345678",
     "name": "PartnerName-PluginName",
     "listingName": "Marketing Plugin Name",
     "environment": "prod",
     "status": "approved",
     "integrationType": "PLUGIN",
     "interfaceUrl": "https://partnerpluginurl.com/awesome_plugin.html",
     "tags": {
          "workflows": [
               "interactive"
          ],
          "categories": [
               "PLUGIN"
          ],
          "applications": [
               "urn:elli:application:loconnect"
          ]
     },
     "entitlements": {
          "access": {
               "allow": [
                    "urn:elli:encompass:BExxxxxxxx",
                    "urn:elli:encompass:BEyyyyyyyy"
               ],
               "deny": [
                    ""
               ]
          }
     },
    "created": "2026-02-19T00:22:12Z",
    "createdBy": "urn:elli:service:epc-partner-service",
    "oAuthClientId": "41sts5i9"
}

Notes:

  • Hosting: The plugin is fully hosted by the partner, including the landing HTML page and all supporting assets (such as JavaScript files). The interfaceUrl points to the plugin’s entry page, which ICE Mortgage Technology applications
    use to load the plugin at runtime.
  • UI rendering: While the HTML page may contain visual elements, the Encompass platform does not render them. The plugin framework is designed for data manipulation rather than presenting UI components.
  • Scripting support: The plugin’s JavaScript files can access and use any scripting objects provided by the ICE Secure Scripting Framework.
  • Activation: Lenders can activate your plugin through Plugin Management under Services Management in Encompass web interface admin settings.
  • Sample HTML page:
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta id="google" content="notranslate" />
  <meta http-equiv="Content-Language" content="en" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta id="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width" />

  <meta id="msapplication-TileColor" content="#2080CD" />

  <meta id="theme-color" content="#2080CD" />
  <title></title>

  <script src="https://cdn.mortgagetech.ice.com/elliemae/core/ssf/1.11.1/elli.ssf.guest-with-polyfill.js"></script>
  <script src="./awesome_plugin.js"></script>

</head>

<body>
<div>
  Hello World - Awesome Partner Plugin </br>
</div>
</body>
</html>
  • Sample JavaScript file:
async function navigateToDocuments(proxy, data) {
  const appObj = await elli.script.getObject('application');
  const navPayload = {
    target: "SERVICES",
    type: "OTHER"
  };
  const loanObj = await elli.script.getObject('loan');

  const fieldVal = await loanObj.getField('4000');
  console.log('Inside loan open')
  if (fieldVal === 'NavigateToDocuments') {
    setTimeout(() => {
      appObj.navigate(navPayload);
    }, 1000); 
  }
}
if (elli && elli.script) {
  elli.script.connect();
  elli.script.subscribe('loan', 'change', navigateToDocuments);
}

📘

Go To Market

All plugins must go through a review process before they can be published. Contact your Partner Alliance Manager for review and approval process details.