# SailPoint Anypoint Exchange Connector Documentation > Anypoint Exchange Connector Documentation # Documentation # Connecting SailPoint and Anypoint Exchange To connect SailPoint to the source, perform the following tasks: ## Adding and Configuring the Source in SailPoint To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs. 1. Go to **Admin \> Connections \> Sources**. 2. Select **Create New**. 3. Search for a source type and select **Actions**. 4. In the **Actions** dropdown, select the setup method: - **Express Setup** - Quickly create a read-only connection to your target system by providing minimal configurations and authentication. On completion, aggregation is automatically started. > **Note** > > Express Setup supports Credential Providers. For information on supported credential providers and configuration, refer to [Credential Providers](). For more information, contact your SailPoint Customer Service Manager. - **Standard Setup** - Provide detailed basic configuration to create the source. Once the source is created, continue with source setup. ### Express Setup 1. Review the directions and select **Start Express Setup**. 2. Review the pre-populated source name, source owner, and description. To update, select **Edit**. > **Note** > > Source name must be unique. 3. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider. > **Note** > > To add a Credential Provider in SailPoint, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](). 4. Configure the authentication to allow SailPoint to connect to the source. For more information, refer to the **Connection Settings** page. 5. Select **Finish**. After a successful test connection, the system creates your source and prompts you to run an aggregation. - If you want to aggregate now, select **Aggregate**. - To see the latest account aggregation history, go to **Account Management \> Account Aggregation**. - To see the list of aggregated source accounts, go to **Account Management \> Accounts**. - If you want to aggregate later, select **Exit**. This returns you to the **Sources** page. Your new source is listed, but contains no accounts or aggregation history yet. ### Standard Setup Configure more detailed settings relative to Express Setup. 1. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters. 2. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters. 3. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](). 4. (Optional) Select a governance group to grant its members [source]() or [role]() sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](). 5. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](). 6. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Here, continue to configure your connected source. ## Base Configuration Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary. 1. Enter a descriptive **Source Name** for the connection. 2. Enter the **Source Description** that provides details necessary to distinguish it from similar connection sources. 3. In **Source Owner**, begin typing the name of the source owner. 4. (Optional) Select the appropriate **Governance Group for Source Management** from the dropdown list. For more information about governance groups, refer to [Associating Governance Groups with a Source](). 5. Select **Create Manual Work Items** to enable the source to support additional source management features such as creating accounts and access profile management. > **Important** > > Once you enable this feature, it can't be disabled. For more information on manual work items, refer to [Work Items](). For more information on SailPoint features, refer to [SailPoint Identity Services](). 6. Select **Save**. ## Connection Settings Configure a secured, direct connection to the source. 1. Select **OAuth 2.0 Client Credentials** as the **Authentication Type**. 2. Enter the Anypoint Platform API base endpoint as **Base URL**. For example, `https://anypoint.mulesoft.com`. 3. Enter the OAuth 2.0 client credentials token endpoint as **Token URL**. For example, `https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token`. 4. Enter the **Client ID** generated from the Connected App. 5. Enter the **Client Secret** generated from the Connected App. 6. Enter the **Organization ID** (and, if scoped to a business group, that ID as well) so calls are scoped correctly. 7. Select **Save**. ## Review and Test Perform a test to confirm the connection to SailPoint. 1. Go to **Review and Test**. 2. Confirm that the entries in each field are correct. If you note any mistakes, return to the section and make corrections. 3. Select **Test Connection**. ## SailPoint Application Onboarding SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface. For more information, refer to [Application Onboarding]() in the SailPoint SaaS documentation. # Integrating SailPoint with Anypoint Exchange Anypoint Exchange is MuleSoft's central asset marketplace where teams store, discover, and reuse APIs, pre-built connectors, and integration templates. It speeds up development and maintains security standards by providing built-in documentation, API mocking, and enterprise-wide asset sharing. This document provides the instructions required to configure a new direct connection between SailPoint and Anypoint Exchange. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](). > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features The Anypoint Exchange connector supports the following: ### Account Management - Aggregate Users ### Entitlement Management - Aggregate Role Groups - Aggregate Teams > [!NOTE] > > This connector is read-only. It supports account and entitlement aggregation for Quick Compliance. Provisioning, de-provisioning, and write operations are not supported in this release. > [!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 configuring the Anypoint Exchange connector, ensure the following requirements are met: 1. Sign in to Anypoint Platform with an account that has **Organization Administrator** rights. Administrator rights are required because scoped access (for example, Exchange Administrator/Contributor scopes) can only be assigned by an org admin of the root organization or business group. 2. Go to **Access Management \> Connected Apps** and select **Create App**. 3. Enter a unique **App Name**, and select **App acts on its own behalf (client credentials)** as the app type. 4. Select **Add Scopes** and assign the required Exchange scope(s) based on the intended use case. 5. Select the **business groups and environments** the app should have access to, then select **Add Scopes**. 6. Select **Save** to generate the connected app. Copy and securely store the **Client ID** and **Client Secret** - the Client Secret may not be retrievable after this step. 7. Complete the OAuth 2.0 client credentials flow to obtain an access token: ```text POST https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token Content-Type: application/x-www-form-urlencoded client_id= client_secret= grant_type=client_credentials ``` 8\. The response returns a bearer `access_token` - this is what the connector uses to call Exchange APIs. 9. Record the following values for connector configuration: - **Base URL** - **Token URL** (`https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token`) - **Client ID** - **Client Secret** - **Organization ID** (required to scope calls to the correct business group) ### Token Notes > [!NOTE] > > - Access tokens issued via the client credentials grant are short-lived - valid for 60 minutes. Calling the token endpoint again before expiry issues a fresh 60-minute token. > - There is no separate refresh token in this flow; the connector re-authenticates using the Client ID and Client Secret directly whenever a new access token is needed, rather than storing and rotating a refresh token. > - The Client Secret has no expiration date by default, but an expiration date can be set by an org admin. If secret rotation is enforced, the connector's stored credential must be updated before the old secret expires, or authentication will begin failing. > - Connected apps are configured at the **root organization level by default**, not at the business group (sub-organization) level. If the target Exchange assets live under a specific business group, the app's scopes must be explicitly extended to that business group and environment during setup - otherwise calls may return empty results rather than an error. ## Required Permissions ### Who Can Generate a Client ID/Secret Any organization administrator of the root organization or business group in which the app resides can create and manage a connected app. The app is owned by the organization itself, not by the individual who created it - any admin with access to that root org or business group can subsequently manage or rotate its credentials. ### How Permissions Affect Connector Access Access is governed entirely by the **scopes explicitly granted to the connected app**, not by the rights of the person who created it: - **Exchange Viewer** scope - read-only access, suitable for data aggregation and reporting use cases. - **Exchange Contributor** scope - read/write access, suitable for provisioning or data modification use cases. - **Exchange Administrator** scope - full read/write/delete access, suitable for provisioning and de-provisioning use cases. Key behaviors to account for: - If the app is scoped as **Exchange Viewer** only, any write or publish calls the connector attempts will return a `403 Forbidden`, regardless of who created the app. - If the app's scopes are not extended to the relevant **business group and environment**, calls will silently return empty or partial results for assets in that scope rather than a clear authorization error. - Scope, business group, and environment are set independently at app-creation time. It is possible to have an "administrator-level" Exchange scope that still cannot see certain assets simply because the relevant environment was never selected during setup. ## Product Links - [Website]() - [Documentation]() - [API reference]() > [!NOTE] > > The linked document is not maintained by SailPoint and is subject to change without notice. # Schema Reference The application schema is used to configure the objects returned from a connector. > [!NOTE] > > - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas]() for more information. > - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified. The Anypoint Exchange connector uses the following default correlation and object configurations. ## Default Account Schema Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location. The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas]() for more information. ### Default Account ID SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as *account IDs*. > [!CAUTION] > > Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts. > > To resolve issues caused by changing account IDs, reconfigure them to their default values. The following table lists the default account IDs for this connector: | Account ID | Schema Object Type | | --- | --- | | id | Account | ### Default Account Attributes The Anypoint Exchange connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified. | Attribute Name | Description | | --- | --- | | Id | Unique identifier of the user | | Username | Username of the user | | First Name | First name of the user | | Last Name | Last name of the user | | Email | Email address of the user | | Email Verified At | Timestamp when the user's email was verified | | Created At | Timestamp when the user account was created | | Updated At | Timestamp when the user account was last updated | | Last Login | Timestamp of the user's last login | | Identity Provider Id | Unique identifier of the identity provider used to authenticate the user | | Role Groups | Role groups assigned to the user (multi-valued; links to the Role Group entitlement schema) | | Teams | Teams assigned to the user (multi-valued; links to the Team entitlement schema) | ## Default Entitlement Attributes Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to [Managing Entitlements]() for more information. > [!CAUTION] > > Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations. ### Default Role Group Attributes | Attribute Name | Description | | --- | --- | | Id | Unique identifier of the role group | | Name | Name of the role group | | Description | Description of the role group | ### Default Team Attributes | Attribute Name | Description | | --- | --- | | Id | Unique identifier of the team | | Name | Name of the team | | Organization Id | Unique identifier of the organization associated with the team | | Type | Type of the team |