# IFS PSO

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

The IFS PSO Integration enables seamless connectivity between Loops and IFS PSO to synchronize and manage field service scheduling and workforce management data. This integration uses session-token-based authentication via the IFS PSO Gateway API, with automatic token persistence and renewal to ensure uninterrupted operations.

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

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

* An active IFS PSO instance accessible over HTTPS.&#x20;
* Valid IFS PSO username and password with Gateway API access.&#x20;
* The IFS PSO domain URL (e.g., your-instance.ifspso.com).&#x20;
* The IFS PSO Account ID for your organization.&#x20;
* Access to the Spool 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;
* **Account ID accuracy:** Verify the Account ID with your IFS PSO administrator before configuring the integration. An incorrect Account ID will cause all API calls to fail even with valid credentials.&#x20;
* **Validate post-setup:** Always run Test Connection after saving to confirm session token issuance and network connectivity.&#x20;
* **Service account:** Use a dedicated IFS PSO service account with appropriate scheduling/gateway permissions. Avoid personal user accounts.&#x20;
* **Credential updates:** If the IFS PSO password is changed, update the integration immediately to prevent session token refresh failures.&#x20;
* **Token storage:** Session tokens are persisted to the database. Ensure the integration service has write access to the auth database tables. &#x20;

## Setup instructions

{% @arcade/embed flowId="dh0x8lhimU7twc0ApysC" url="<https://app.arcade.software/share/dh0x8lhimU7twc0ApysC>" %}

### Initiate integration

{% stepper %}
{% step %}
Log in to the Spool platform using an Admin account.
{% endstep %}

{% step %}
Navigate to Settings → Integrations.
{% endstep %}

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

{% step %}
Search for IFS PSO and select the integration.
{% endstep %}
{% endstepper %}

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

{% stepper %}
{% step %}
In the Basic tab, enter a suitable name for the integration.
{% endstep %}

{% step %}
Click Next to proceed.
{% endstep %}
{% endstepper %}

### Authentication

{% hint style="info" %}
IFS PSO uses session-token authentication. The platform authenticates using username and password, receives a session token from the Gateway API, and stores the token for subsequent API calls via the apikey header.
{% endhint %}

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

{% step %}
Enter the Account ID for your IFS PSO organization.
{% endstep %}

{% step %}
Enter the IFS PSO Username.
{% endstep %}

{% step %}
Enter the IFS PSO Password.
{% endstep %}

{% step %}
Click Save / 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 PSO integration.
{% endstep %}

{% step %}
A success message confirms the session token was issued and stored correctly.
{% endstep %}
{% endstepper %}

## Token management

### How session tokens work

{% stepper %}
{% step %}
IFS PSO issues a session token upon authentication. This token is:

1. Stored in the platform database after successful login.&#x20;
2. Attached to every subsequent API request via the apikey request header.&#x20;
3. Automatically refreshed when a 401 Unauthorized response is received.&#x20;

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.theloops.io/agenticstudio/integrations/ifs-pso.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
