# SailPoint Kashoo Connector Documentation > Kashoo Connector Documentation # Documentation # Connecting SailPoint and Kashoo 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. Enter the Kashoo API base URL as **Base URL**. For example, `https://app.kashoo.com/api`. 2. Enter the Kashoo business to aggregate as **Business ID** (from the app URL or Network tab). For example, `12345678901`. 3. Enter the Kashoo login email as **Username**. 4. Enter the Kashoo login password as **Password**. 5. 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 Kashoo Kashoo is a cloud accounting platform where businesses manage financial data and user access. Each business has users with assigned access roles (for example, Owner, Admin, View Only). The Kashoo connector enables SailPoint to aggregate users for a single Kashoo business and the access role assigned to each user for that business. This document provides the instructions required to configure a new direct connection between SailPoint and Kashoo. 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 Kashoo connector supports the following: ### Account Management - Aggregate Users ### Entitlement Management - Aggregate Access roles > [!NOTE] > > Roles are modeled as an account entitlement on the `role` attribute (not a separate Group schema). There is no separate entitlement aggregation command; role values are collected with account aggregation from business `userRoles`. > [!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. ## Scope Model This connector is business-scoped. You provide a Business ID (`businessId`) in connection settings. Aggregation reads only users and roles for that business. - Roles are assigned per business membership (`userRole`), not as a separate global group catalog. - One SailPoint source equals one Kashoo business. To govern multiple businesses, create multiple sources. ## Prerequisites Before you configure the Kashoo connector, ensure the following requirements are met: 1. Sign in at [Kashoo]() with a Kashoo user that can access the target business (typically Owner, Admin, or Creator). 2. Complete any required account setup (for example phone verification if you need to manage users in the Kashoo UI). 3. Identify the Business ID for the business you want to aggregate from the Kashoo web app URL: 1. Sign in at [Kashoo](). 2. Open the business you want to connect. 3. Look at the browser address bar for a numeric ID in the path or query (for example pages or requests under `/businesses//...`). 4. That number is your Business ID - enter it in SailPoint Connection Settings. (Optional) If the ID is not visible in the URL: 5. Open browser DevTools and select **Network**. 6. Select around the business dashboard or settings. 7. Find API requests to `/api/businesses/{businessId}/...`. 8. Use the `{businessId}` value from those requests. You do not need Postman or other API testing tools to find the Business ID for connector setup. 4. Confirm you have the Kashoo login email and password for the service or admin user that SailPoint will use. 5. Confirm the API base URL (default): `https://app.kashoo.com/api`. > [!NOTE] > > - Kashoo authentication for this connector uses Custom Authentication (password grant style) against `POST https://app.kashoo.com/api/authTokens/oauth2/token`. > - Request body (JSON): `grant_type=password`, `email`, `password`, and `site=app.kashoo.com`. > - The response includes `access_token`. API calls use `Authorization: Bearer $application.access_token$`. > - Tokens are short-lived; the connector obtains a new token during Custom Authentication as needed. > - MFA (if enabled on the Kashoo user) can block token generation until handled in Kashoo. ## Required Permissions Use a Kashoo user that is a member of the target business with sufficient access to list business users and roles (typically Owner, Admin, or Creator). | Kashoo Business Role (Examples) | Effect on Connector | | --- | --- | | CREATOR / OWNER / ADMIN | Can typically authenticate and list users for the business. | | VIEW\_EDIT\_ONLY / VIEW\_ONLY / others | May authenticate, but listing `/businesses/{id}/userRoles` can fail depending on privileges. | | NO\_ACCESS / DISABLED\_ACCESS | Not suitable for the connector service account. | The connector is read-only (aggregation only). It does not create, update, or delete Kashoo users. ### Membership Access Roles Access roles are aggregated from the top-level `role` field on each business `userRole` response (membership), for example from `GET /businesses/{businessId}/userRoles`. | API Role Value | Typical Meaning | | --- | --- | | CREATOR | Created the business; full control. | | OWNER | Business owner privileges. | | ADMIN | Administers users and business settings. | | LIMITED\_OWNER | Limited owner privileges. | | VIEW\_EDIT\_ONLY | Can view and edit, without full admin control. | | VIEW\_ONLY | Read-only access. | | NO\_ACCESS | No access to the business. | | DISABLED\_ACCESS | Access disabled. | For more information about Kashoo, refer to the following: - [Kashoo website]() - [Kashoo app]() - [Kashoo API documentation]() > [!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 Kashoo 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 Kashoo 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 user ID, use as account native identity | | firstName | User's given name | | lastName | User's family name | | email | User's email used to sign in, used for correlation | | businessId | ID of the business associated with the user | | role | Access role assigned to the user for the configured business, entitlement |