# Integrating SailPoint with Birdview PSA

Birdview PSA is a professional services automation platform used to manage projects, resources, time, and the people who work on them. Access inside the platform is controlled by a role assigned to each user. This document covers how to configure a new direct connection between SailPoint and Birdview PSA for Quick Compliance. 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 Birdview PSA connector supports the following:

### Account Management

- Aggregate Users

### Entitlement Management

- Aggregate Roles

> [!NOTE]
>
> This connector is read-only. It supports test connection, account aggregation, and entitlement aggregation for Quick Compliance. Provisioning, updates, entitlement assignments, and other write operations are not supported.

> [!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.

## Prerequisites

Before you configure the Birdview PSA connector, ensure the following requirements are met:

1. Have a Birdview PSA environment and know its hostname. For example, `acme` in `https://acme.go.easyprojects.net`.
2. Create an OAuth client in that environment and record its client ID and client secret.
3. Identify the numeric identifier of the Birdview PSA user the OAuth client will act as. The connector sends this as `user:<userId>`. For example, `user:1`.
4. Record the following values for connector configuration:

   - **Base URL**
   - **Token URL**
   - **Client ID**
   - **Client Secret**
   - **Scope**

> [!NOTE]
>
> The user named in the Scope value is the user whose visibility the connector inherits. Birdview PSA returns only the users that this user can see. Use a user who can see every account you intend to aggregate.

> [!NOTE]
>
> Birdview PSA authenticates with the OAuth 2.0 client credentials grant. The token request is form encoded and must include a `scope` parameter whose value is `user:<userId>`. This value names the Birdview user the client acts as. It is not an OAuth permission scope such as `read` or `write`, and a token request that omits it is rejected. The connector sends the value entered in the **Scope** field.

For more information about the API, refer to [How to use the Birdview API with Swagger and Postman](<https://help.birdviewpsa.com/hc/en-us/articles/38116720932749-How-to-use-the-Birdview-API-with-Swagger-and-Postman>).

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

## Required Permissions

Birdview PSA hosts a separate domain for each environment: `https://<your-tenant>.go.easyprojects.net/api/v2`. The hostname is specific to your environment. There is no shared default, so the Base URL and the Token URL are both entered during source configuration.

The OAuth client must be able to read the following:

| Endpoint | Required For |
| --- | --- |
| `/api/v2/users` | Account aggregation and test connection |
| `/api/v2/users/roles` | Entitlement aggregation |
