> For the complete documentation index, see [llms.txt](https://kb.theloops.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.theloops.io/agentstudio/integrations/ifs-apps-10.md).

# IFS Apps 10

## Overview <a href="#overview" id="overview"></a>

The IFS Apps 10 Integration enables seamless connectivity between your platform and IFS Applications 10 (IFS Apps10) to synchronize and manage ERP and enterprise operations data. This integration uses OAuth 2.0 Resource Owner Password Credentials (ROPC) grant via Keycloak for authentication, mirroring the IFS Cloud connector pattern. It supports OpenAPI-based API discovery and full runtime API execution.

### Prerequisites <a href="#prerequisites" id="prerequisites"></a>

Before initiating the integration, ensure the following requirements are met: &#x20;

* An active IFS Apps 10 instance accessible over HTTPS. &#x20;
* Valid IFS Apps 10 user credentials (username and password) with appropriate API access. &#x20;
* The IFS Apps 10 domain URL (e.g., app10techlkp-demo.ifsworld.com). &#x20;
* OAuth 2.0 / Keycloak token endpoint configured and accessible on your IFS Apps 10 instance. &#x20;
* Client ID and Client Secret from your Keycloak configuration. &#x20;
* Access to the Loops platform with Admin role privileges. &#x20;

### Best practices <a href="#best-practices" id="best-practices"></a>

* **Hostname only:** Enter the domain without https\:// prefix or trailing slash. &#x20;
* **Use a service account:** Create a dedicated IFS Apps 10 service account with the minimum required permissions. Avoid using personal credentials. &#x20;
* **Validate post-setup:** Always run Test Connection after saving to confirm OAuth token generation and network connectivity. &#x20;
* **Credential updates:** If the IFS Apps 10 password is rotated, update the integration credentials promptly to prevent disruption. &#x20;
* **Token persistence:** Tokens are stored in the database and reused across API calls. Ensure the database is accessible and the integration service has write permissions. &#x20;

## Setup instructions

### Initiate integration

{% stepper %}
{% step %}
Log in to the IFS Loops platform using an Admin account.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FoFW0stt27ABFdgRkiCJ6%2Funknown.png?alt=media&amp;token=f21a1271-2323-4f52-ade6-3e4047dc94a8" alt="" height="316" width="620">
{% endstep %}

{% step %}
Navigate to Settings → Integrations.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FZ9xSvGLdTQi2LR4uFFXj%2Funknown.png?alt=media&amp;token=c7b4c77c-6d1b-41b9-8857-dfc2156b09f2" alt="" height="316" width="624">
{% endstep %}

{% step %}
Click the "+ Add Integration" button.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FHpkVJc8cIfnGdvof7TG4%2Funknown.png?alt=media&amp;token=c13c7d2b-f8af-4f98-acc3-2b718a652d0f" alt="" height="289" width="624">
{% endstep %}

{% step %}
Search for IFSApps and select the integration.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FSciK7Oz2cDWYgtyr2mmt%2Funknown.png?alt=media&amp;token=b49ef961-ac5a-4cd6-aeac-bc3ca1390e5f" alt="" height="320" width="556">
{% endstep %}
{% endstepper %}

### Authentication <a href="#step-2-basic-configuration" id="step-2-basic-configuration"></a>

{% hint style="info" %}
IFS Apps 10 uses OAuth 2.0 with the Resource Owner Password Credentials grant type. Credentials are exchanged for a bearer token via the Keycloak OIDC token endpoint.
{% endhint %}

{% stepper %}
{% step %}
Enter the IFS Apps 10 Domain URL (hostname only, without https\:// prefix).
{% endstep %}

{% step %}
Select your identity provider

<figure><img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FfAISGlJLz3rdIW6fwq6f%2Fimage.png?alt=media&amp;token=b8776c14-5e2f-42ca-a59f-f80db15ebefd" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
***If you are selecting Azure ID:***

1. Visit: <https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id#find-your-microsoft-entra-tenant>
2. Update Azure Tenant ID&#x20;

   <figure><img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FICaUKrkXZzPC1IsFitT5%2Fimage.png?alt=media&amp;token=eedbcb0c-47d5-401b-96e8-6eeadd22912f" alt=""><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**IF you are selecting IFS Default continue from here:**
{% endstep %}

{% step %}
Complete the remaining fields.
{% endstep %}

{% step %}
Enter the corresponding Client ID.
{% endstep %}

{% step %}
Enter the corresponding Client Secret.
{% endstep %}

{% step %}
Enter the corresponding Username.
{% endstep %}

{% step %}
Enter the corresponding Password.
{% endstep %}

{% step %}
Click Connect.
{% endstep %}
{% endstepper %}

### Validation & verification

{% stepper %}
{% step %}
Navigate back to the Integrations list after saving.
{% endstep %}

{% step %}
Click the Test Connection icon for the IFS Apps 10 integration.
{% endstep %}

{% step %}
A success message confirms valid credentials and token generation.
{% endstep %}
{% endstepper %}

### Token management

#### Automatic token refresh

{% stepper %}
{% step %}
The connector handles token refresh automatically.
{% endstep %}

{% step %}
When an API call returns HTTP 401 Unauthorized:

1. The connector re-authenticates against the token endpoint using the stored credentials.&#x20;
2. The new token is persisted to the database.&#x20;
3. The original API call is retried with the new token.&#x20;
4. This retry happens transparently, no manual intervention is required.&#x20;
   {% endstep %}
   {% endstepper %}

## Locate OAuth Client Credentials&#x20;

{% hint style="info" %}
Follow these steps to locate the Client ID and Client Secret for the relevant IFS Apps 10 environment
{% endhint %}

{% stepper %}
{% step %}
Log in to the IFS Apps 10 Admin Portal and open IFS Middleware Server Admin Console.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FxpUzEVvOtmZTX0PLBTEG%2Funknown.png?alt=media&amp;token=bfac52c9-762c-4f59-8e44-ea73303faa87" alt="" height="358" width="624">
{% endstep %}

{% step %}
Navigate to Common → Security → Default → Client Details.
{% endstep %}

{% step %}
Select an appropriate OAuth client and retrieve its Client ID and corresponding Client Secret.&#x20;

* Use these credentials when configuring the IFS Apps 10 integration in Loops.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FuOKsYc9gQIb9IZXUkC3z%2Funknown.png?alt=media&amp;token=e142c7dc-f75d-4709-89a3-68680317ff51" alt="" height="296" width="622">
{% endstep %}

{% step %}
If required by your environment’s OAuth client configuration, ensure the relevant Loops URLs are included in the permitted callback or redirect URL list.

<img src="https://3180153102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRIbp8Kp04VLXld01gmAs%2Fuploads%2FKgfyVXAvo9St7h9XCUMD%2Funknown.png?alt=media&amp;token=a829b150-71e0-43d6-8a4f-2c6dfdd3eeb4" alt="" height="322" width="624">

&#x20;
{% endstep %}
{% endstepper %}
