# Integrating SailPoint with Absence.io

Absence.io is a cloud-based absence and leave management platform that helps organizations track employee time off, manage approval workflows, and maintain visibility into team availability. This document provides the instructions required to configure a new direct connection between SailPoint and absence.io. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](<https://documentation.sailpoint.com/saas/help/sources/index.html#source-and-connector-definitions>).

> [!NOTE]
>
> To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes](<https://community.sailpoint.com/release-notes/saas>) page.

## Supported Features

The Absence.io connector supports the following:

### Account Management

- Aggregate Accounts

### Entitlement Management

- Aggregate Teams
- Aggregate Departments

> [!IMPORTANT]
>
> Quick Compliance connectors have the following manual aggregation limits within a 24-hour period:
>
> - **Organization Admins**: Limited to 3 manual account or entitlement aggregations per day per source. This limit is cumulative across all admins in the organization.
> - **Regular Users**: Limited to 1 manual account or entitlement aggregation per day per source.
>
> These limits ensure that individual compliance statuses are kept up to date while maintaining continuous compliance monitoring. If you need to run additional aggregations beyond these limits, contact SailPoint Support.

### Pagination

The absence.io source uses numeric offset-based pagination with `skip` and `limit` query parameters rather than cursor-based paging. The connector starts at offset `0` and increments the skip value after each request. Aggregation continues until the number of records returned is less than the configured page `limit`, at which point aggregation terminates.

#### How Pagination Works for This Operation

- **Initial Page Offset:** `0` - starting point for the first request (absence.io offsets are 0-indexed via the `skip` query parameter).
- **Page Size:** `50` - number of records requested per page, passed via the `limit` query parameter.

Paging steps:

- `$limit$` = `50`
- `TERMINATE_IF $count$ < $limit$`
- `$skip$` = `$skip$ + $limit$`
- `$requestBody.skip$` = `$skip$`
- `$requestBody.limit$` = `$limit$`

## Prerequisites

Before configuring the Absence.io connector, ensure the following requirements are met:

1. Sign in to [absence.io](<https://app.absence.io/>).
2. Go to **Company Settings \> Integrations / API** to retrieve your **Client ID** and **Client Secret**.

   - **Base URL**
   - **Token URL**
   - **Client ID**
   - **Client Secret**
3. Authenticate using the OAuth2 **Client Credentials** grant to obtain an access token by sending a POST request to the Token URL:

```text
curl --location --request POST 'https://app.absence.io/api/oauth/accesstoken' \

   --header 'Content-Type: application/x-www-form-urlencoded' \

   --data-urlencode 'client_id=YOUR_CLIENT_ID' \

   --data-urlencode 'client_secret=YOUR_CLIENT_SECRET' \

   --data-urlencode 'grant_type=client_credentials'
```

4\. Copy and securely store the following details, which are required during connector configuration: - **Base URL** - **Token URL** - **Client ID** - **Client Secret**

> [!NOTE]
>
> - The absence.io API uses OAuth 2.0 Client Credentials authentication. SailPoint uses the Client ID and Client Secret to obtain access tokens automatically via the Token URL.
> - All API requests must be made over HTTPS; unencrypted HTTP calls are not supported.
> - Store the Client ID and Client Secret securely and treat them like a password.

## Required Permissions

absence.io uses role-based access at the account level. Available roles include the following:

- **Company Admin** - Full administrative access to the organization, including user, team, and department management.
- **Team Owner** - Can manage members and settings within the teams they own.
- **Approver** - Can review and approve leave requests for assigned team members.
- **Standard User** - Can submit and view their own leave requests with limited administrative access.

For more detailed information on absence.io API authentication, refer to the [absence.io API documentation](<https://docs.absence.io/#00553659-bd5d-4831-b15f-ca0bb7af9768>).

> [!NOTE]
>
> The linked document is not maintained by SailPoint and is subject to change without notice.
