# SailPoint Documentation > Nutshell Documentation # Documentation # Connecting SailPoint and Nutshell 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 Nutshell host URL as **Base URL**. For example, `https://app.nutshell.com/rest`. 2. Enter the **Username**. 3. Enter the **API Key** as the **Password**. 4. 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 Nutshell Nutshell is a customer relationship management (CRM) and sales automation platform that helps businesses manage contacts, track leads and deals through customizable pipelines, automate email marketing, collaborate as a team, and measure performance with reports and analytics, while also offering integrations and APIs for automation and custom workflows. This document provides instructions to configure a new direct connection to a Nutshell source. 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 Nutshell connector supports the following: ### Account Management - Aggregate Accounts ### Entitlement Management - Aggregate Teams ## Prerequisites Ensure the following prerequisites are met before proceeding with the configuration: - Generate a Nutshell API Key: 1. Go to **Nutshell Settings \> Connections \> API Keys \> Add API Key**. 2. Provide a name for the key. 3. Select permissions: **API + User Impersonation**. 4. Copy the generated API key. > **Important** > > Once created, copy the key immediately - it cannot be retrieved again. ## Required Permissions - If you are logged in with an Administrator account, you may proceed directly with API key creation and usage. In this case, the service account configuration described below is not required. - In Nutshell, API access is permission-based rather than role-based. - Access to user and team data via the API is restricted as follows: - Only users with **Administrator** privileges or the “**The employee can see all data in Nutshell**” permission can: - Retrieve the complete list of users - Retrieve the complete list of teams - Perform read operations across the entire account - Nutshell does not provide a dedicated **read-only API role**. Read access is determined solely by the permissions assigned to the user associated with the API key. ### API Key Ownership - Any user may own an API key (Personal Access Token). - API keys must be generated by an **Administrator** from **Settings \> API Keys**. - Each API key inherits the permissions of the user to whom it is assigned. > **Note** > > Once created, the API key operates with the same access level as the associated user account. ### Service Account Configuration (Non-Administrator Accounts) - If you cannot have full administrative privileges, the recommended approach is to use a service account. 1. Create a service account - Role: **Standard User** - Permission: **The employee can see all data in Nutshell** (enabled) 2. Ask an Administrator to generate the API key - Admin goes to **Settings \> API Keys** - Admin creates the API key and assigns it to the service account 3. Use the API key for integrations - The API key provides read access based on the service account’s permissions > **Note** > > Non-administrator users cannot create API keys. They may only use API keys created by an Administrator. ### Permission Reference (Non-Administrator Users) - **The employee can see all data in Nutshell**, permission should be assigned to non-administrator users who require visibility into all companies, people, leads, users, and teams across the Nutshell account. - For more information about non-administrator user account roles and permissions, refer to the [Nutshell Help Center](). > [!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 Nutshell 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 Nutshell 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 | | --- | --- | | modifiedTimemodifiedTime | Timestamp when the user record was last modified | | isEnabled | Indicates whether the user account is enabled | | name | Full name of the userTimestamp when the user record was last modified | | isEnabled | Indicates whether the user account is enabled | | name | Full name of the user | | id | Unique identifier for the user | | isAdministrator | Indicates whether the user has administrative privileges | | isAgent | The isAgent field is a boolean flag (true or false) that indicates whether a user is configured as an agent in Nutshell | | isViewingRestricted | A boolean flag (true or false) that indicates whether a user’s access to data is restricted by viewing scope, such as being limited to their own data or team-specific data | | canAccessEmailMarketing | This flag indicates whether a user has the permission to access and manage email marketing features in Nutshell | | isHiddenFromFilters | indicates whether the person should be excluded from appearing in saved filters, reports, or general searches. | | agentStatus | agentStatus represents the current state of an Agent user (mainly for organizations using Nutshell’s phone or chat integrations) | | emails | List of email addresses associated with the user | | teams | teams refers to the groups that a user (agent) belongs to | ## 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 Group Attributes The Nutshell connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups. | Attribute Name | Description | | --- | --- | | id | ID (e.g., "4-teams", "12-teams") is a unique identifier assigned by Nutshell to each team in your account | | name | name in teams is simply the display name of the team | | numUsers | numUsers in teams shows the total number of users (members) assigned to that team | | modifiedTime | The timestamp (in Unix epoch format, seconds since Jan 1, 1970 UTC) representing the last time the team details were updated |