# SailPoint Spike Connector Documentation > Spike Connector Documentation # Documentation # Connecting SailPoint and Spike 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 API base endpoint as **Base URL**. For example, `https://api.spike.sh`. 2. Enter the organization API key as **API Key**. 3. 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. # Dataset Management Dataset Management lets you review the object types a source collects and control how the source aggregates those objects into SailPoint. Use Dataset Management to view and manage resource attributes, datasets and their resources, enable dataset aggregation schedules, perform manual aggregation, and view aggregation history. > [!NOTE] > > Datasets are also available in SailPoint Agentic Fabric. Contact your Customer Success team and refer to [SailPoint Agentic Fabric]() for more information. For more information, refer to [Managing Datasets and Resources]() for datasets, resources, owner correlation, and aggregation. ## Datasets A *dataset* is a named group of one or more related resources that the source aggregates together. When aggregation runs for a dataset, the source collects all resources in that dataset from the managed system in one aggregation job. Activate or deactivate aggregation at the dataset level, not for individual resources. > [!NOTE] > > Each resource belongs to exactly one dataset for that source. The source defines which resources belong to each dataset. You can enable aggregation and review associated resources, but you cannot create or delete datasets or move resources between them. ### Dataset Aggregation Configure aggregation on the **Dataset Aggregations** tab for each dataset. Configure each dataset separately. During aggregation, your owner correlation rules are automatically applied to link machine identities to their human owners. For more information, refer to [Configuring Dataset Aggregations](). ## Resources A resource defines an object type from the managed system. It specifies the kind of object, the attributes the source collects, and how the source identifies and displays each object. Resources form the building blocks of the data model. In the UI, each resource appears under **Dataset Management** \> **Resources** with its schema. A resource does not run aggregation by itself. The dataset that owns the resource collects it during aggregation. For more information, refer to [Managing Resources](). ### Owner Correlation Configure owner correlation on each resource to link aggregated objects to human owners. If you do not configure owner correlation, or if the mapping produces no match, an owner is not assigned. For more information, refer to [Configuring Owner Correlation](). ## Supported Datasets Go to **Dataset Management \> Datasets** on your Spike source to view the datasets the connector aggregates. Select a dataset to review its associated resources and configure aggregation. > [!NOTE] > > Configure aggregation for each dataset separately. For more information, refer to [Dataset Aggregation](). | Dataset name | Associated resources | Dataset ID | Aggregation schedule | | --- | --- | --- | --- | | **Integrations** | Integration | `spike:integrations` | Every 12 hours (`0 */12 * * *`) | For schema attribute definitions, refer to [Integration Attributes](<#integration-attributes>). ### Dataset Aggregations Dataset aggregation collects resource objects from the managed system and loads them into SailPoint. Repeat the configuration for each dataset on the source. ### Configuring Dataset Aggregation To configure dataset aggregation for a dataset: 1. Go to **Admin \> Connections \> Sources**, and open your source. 2. Go to **Dataset Management \> Datasets**. 3. Select the dataset you want to configure. 4. Select the **Dataset Aggregations** tab. On the **Dataset Aggregations** tab, configure how resource objects from the selected dataset are aggregated into SailPoint. The tab contains **Scheduled Aggregations**, **Manual Aggregation**, and **Latest Aggregation**. #### Scheduled Aggregations Scheduled aggregations run on a schedule to keep the dataset synchronized with the managed system. 1. On the **Dataset Aggregations** tab, select **Enable Schedule** to turn on scheduled aggregations. When scheduled aggregations are enabled, SailPoint aggregates all resource objects in the dataset on the configured schedule. #### Manual Aggregation Manual aggregation runs once and collects all resource objects in the dataset. 1. On the **Dataset Aggregations** tab, select **Start Aggregation**. SailPoint starts the aggregation immediately. When the run completes, results appear in the **Latest Aggregation** section. #### Viewing Aggregation Results After an aggregation completes, review its status in the **Latest Aggregation** section on the **Dataset Aggregations** tab. The **Latest Aggregation** section shows: - **Start Time** - when the aggregation started - **Resource Objects Scanned** - the number of resource objects the aggregation processed - **Status** - whether the aggregation succeeded or failed Select **Details** to view additional information about the most recent run. To view prior runs, select **Aggregation History**. ## Supported Resources For more information, refer to [Managing Resources](). > [!NOTE] > > When you enable dataset aggregation for a selected dataset, all resources in that dataset are collected at once. Activate or deactivate aggregation at the dataset level, not for individual resources. Under **Dataset Management** \> **Resources**, the Spike source lists each object type that is aggregated. Select a resource to review its schema on the **Schema** tab. | Resource name | Resource type | Resource ID | | --- | --- | --- | | **[Integration](<#integration-attributes>)** | `std:application` | `spike:integration` | ### Owner Correlation On the **Owner Correlation** tab of the **Integration** resource, map the integration to the identity that owns it. For more information, refer to [Owner Correlation](). ## Integration Attributes The **Integration** resource is in the **Integrations** dataset. | Field | Value | | --- | --- | | Resource ID | `spike:integration` | | Resource type | `std:application` | | Identity attribute | `ID` | | Display attribute | `Name` | The following table lists the schema attributes for the Integration resource: | Attribute Name | Description | | --- | --- | | ID | Object ID of the integration. | | Name | Name set for the integration. | | Slug | Integration type, such as apex-ping or webhook. | | Token | Webhook token the external system uses to open incidents. Spike addresses the integration by this value. Treat it as a sensitive credential. | | Auth Enabled | Whether an additional authentication check is enabled on the integration. | | Disabled | Whether the integration is disabled. | | Archive | Whether the integration is archived. | | Service | ID of the service incidents from this integration are attributed to. | | Escalation | ID of the escalation policy that pages responders for this integration. | | Teams | IDs of the teams this integration belongs to. | | Organization | ID of the organization this integration belongs to. | | Created By | ID of the user who created the integration. This is the same identifier aggregated as the account ID. | | Created At | ISO 8601 date-time when the integration was created. | | Updated At | ISO 8601 date-time when the integration was last updated. | | Last Incident At | ISO 8601 date-time of the latest incident opened through this integration. | | Repeat Escalation | Whether escalation repeats when an incident is not acknowledged. | | Disable Incident Suppression | Whether duplicate-incident suppression is disabled. | | Email Hooks | Whether the integration accepts incidents by email. | | Custom Parser Enabled | Whether a custom payload parser is enabled. | | Timer Resolve Enabled | Whether incidents from this integration auto-resolve on a timer. | | Total Incidents | Total incidents opened through this integration. | | Open Incidents | Incidents from this integration that are still open. | | Default | Whether this is a default integration. | | Copies Created | Number of copies created from this integration. | # Integrating SailPoint with Spike Spike is an on-call and incident management platform that creates incidents from monitoring alerts, pages responders, and escalates until someone responds. This document covers how to configure a new direct connection between SailPoint and Spike for Quick Compliance. 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 Spike connector supports the following: ### Account Management - Aggregate Users ### Entitlement Management - Aggregate Teams ### Non-Human Identity Discovery - Aggregate Integrations Refer to Dataset Management for more information. Refer to [Discovering Potential Non-Human Accounts]() for more information. > [!NOTE] > > This connector is read-only. It supports test connection, account aggregation, entitlement aggregation, and dataset aggregation for Quick Compliance. Provisioning, de-provisioning, and write operations are not supported. The member role is collected on the account. > [!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 Spike connector, ensure the following requirements are met: 1. Sign in to the Spike dashboard. 2. Go to **Settings \> API**. 3. Generate an API key. Copy the key and store it securely. 4. Record the following values for connector configuration: - **Base URL** - **API Key** > [!IMPORTANT] > > The API key has full organization API access. Granular permissions are not supported. If you replace the key, update every SailPoint source that uses the previous key. For more information, refer to the [Spike API]() documentation. > [!NOTE] > > The linked document is not maintained by SailPoint and is subject to change without notice. ## Required Permissions Generate the API key from an Admin account. The connector can read the organization data available to that key. # 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 Spike 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 Spike 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 ID of the user. | | First Name | First name of the user. | | Last Name | Last name of the user. | | Email | Email address of the user. Used for account correlation. | | Role | Incident management role: admin, manager, responder, or viewer. | | Teams | Teams this user belongs to. Aggregated as Team entitlements. | | Mobile App | Whether this user uses the Spike mobile app. | | Email Confirmed | Whether this user has confirmed their email address. | | Phone Confirmed | Whether this user has confirmed their phone number. | | Timezone | Timezone of the user. | | Removed | Whether this user has been removed from the organization. Removed members remain in account aggregation. | | On Vacation | Whether this user is currently on vacation. | | Incident Management | Whether incident management is enabled for this user. | | Status Page | Whether status pages are enabled for this user. | | Background Color | Background color used for this user in the dashboard. | | Text Color | Text color used for this user in the dashboard. | | Organization | ID of the organization this user belongs to. | | Date Format | Date format preference of the user. | | Theme | Theme preference of the user. | | Access Role | ID of the incident management (IM) role assigned to this user. | | Status Page Role | ID of the status page role. Values are admin, manager, or viewer. | ## 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 Teams Attributes The Spike 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 | Unique ID of the team. | | Name | Name of the team. | | Description | Description of the team. | | UID | Short slug of the team, used in dashboard URLs. | | Private | Whether this team is private. | | Default Team | Whether this is the default team. | | Users | Users who belong to this team. | | Removed Users | Users who have been removed from this team. | | Organization | ID of the organization this team belongs to. | | Created By | Who created this team. | | Created At | When this team was created. | | Updated At | When this team was last updated. | | Last Incident Counter | Counter of the last incident created for this team. |