---
title: "External UI Integration"
slug: "external-ui-integration"
description: "This document shows how to access the powerful server-side features in Decisions, via external UI integration.  Doing so allows Decisions to work off the strengths of an external UI and vice versa. "
updated: 2025-06-10T13:43:25Z
published: 2025-06-10T13:43:25Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# External UI Integration

## Overview

Decisions provides many powerful tools for creating UIs for workflows and Forms, but its most powerful features are server-side features. As such, there is a good use case for using Decisions as a backend for a custom external UI.

---

## **Example**

A UI written in React relies heavily on a Decisions backend. Flows and Reports can easily be exposed using the [Flow Integrations Panel](https://documentation.decisions.com/v9/docs/rest-service-integration-overview). The real choice for an external UI is how to authenticate to these end-points. This could be handled on the server, where requests could be forwarded and rewritten to include stored credentials or a stored session. For a UI that interacts heavily with Decisions directly, or uses Decisions as its primary back-end, those methods could be cumbersome or can cause security issues.

This exercise will focus on authenticating REST requests via a Decisions Login, including:

- Configuring the Decisions REST Root for all of your application’s requests.
- Decisions Authentication over REST.
- Authenticating subsequent API calls.

Decisions web-service integrations can be viewed in the Portal by navigating to **System > Administration > Features.** Core services are at **System > Administration > Features > Decisions.Core.**

To view Integration Details in a Flow, navigate to the top right and select VIEW.

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-10_09h36_54.png)

Below is an example of an Integrations page

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-10_09h42_26.png)

---

### **Decisions REST Root V9 IIS hosted**

Decisions typically serves API calls from a **{base-url}/decisions/Primary/**, e.g.

| https: //example.com/decisions/Primary |
| --- |

---

### Decisions REST Root V9 Self hosted

| https://example.com/restapi/ |
| --- |

All API calls will need to have that URL configured at their root, referred to hereafter as the “restRoot.”

For this exercise, POST to the **AccountService > LoginUser** end-point.

---

### **Logging in to Decisions**

- To login, POST credentials:

| URL: `${restRoot} /REST/AccountService/LoginUser` Method: 'POST' Body: { outputType: 'JSON' , userid: 'example@decisions.com' , password: '********' } |
| --- |

- Given a successful login, the response body will contain the session ID:

| { "LoginUserResult" : { "SessionValue" : " " ... } } |
| --- |

For the scenario discussed in this document, it is advisable to manage sessions in the external application.

Be aware: DecisionsSessionID cookie will be set, whether login succeeded or not (at least as of 5.0.3).

---

### **Making API calls to Decisions**

As mentioned, [URLs to Decisions](/v9/docs/running-a-flow-from-a-url) resources can be created using the Flow Integrations panel, but for friendlier URLs,****read [adding a Flow alias](https://documentation.decisions.com/v9/docs/running-flow-using-alias).

For the reasons outlined above, this exercise assumes the "Login" credential option

The **Show Service API button** might give users a POST URL like this:

| http://example.com/decisions/Primary/?FlowAlias=GreatestFlow&Action=api |
| --- |

In order to authenticate using the session created above, add the session ID as a sessionId query parameter:

| http://example.com/decisions/Primary/?FlowAlias=GreatestFlow&Action=api&sessionId=12345-3xampl3-id-6789 |
| --- |

Provided that session ID is still valid on the Decisions server instance, the Flow will run and its output will be returned as the HTTP request’s response.

---

### **Schema Definitions**

XML or JSON schema definitions can at the bottom of the Flow Integrations Pane.

For further information on Integrations, visit the [Decisions Forum](https://community.decisions.com/categories/Integrations).
