# Integrating SailPoint with Twist

Twist is a cloud-based team communication and collaboration platform developed by Doist, built as a more organized, asynchronous alternative to real-time chat tools. It is used by organizations and remote teams to manage structured conversations through channels and threads, rather than a continuous chat stream, helping teams keep discussions organized, searchable, and topic-focused. It lets organizations track user identity and workspace-related attributes and connects to other tools via its REST API using Bearer token (OAuth 2.0) authentication. 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 Twist connector supports the following:

### Account Management

- Aggregate Users

> [!NOTE]
>
> User role is captured as part of the Account aggregation itself (embedded within the workspace user's record via the `user_type`), so a separate Entitlement aggregation is not required.

> [!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 Twist connector, ensure the following requirements are met:

1. Sign in to [Twist](<https://twist.com/>).
2. Go to **Settings \> Integrations \> Build \> Build Integration \> Create New App \> Create Integration \> OAuth 2 test token** and copy the token.
3. Copy the **workspaceId** found in the browser URL itself (for example, `https://twist.com/a/<workspace_id>/`).
4. Copy and securely store the following details, which are required during connector configuration:

   - **WorkspaceId**
   - **API Token**

> [!NOTE]
>
> - The Twist API uses Bearer token authentication: `Authorization: Bearer {{ your_access_token }}`.
> - All API requests must be made over HTTPS; unencrypted HTTP calls are not supported and will fail.
> - For production use, always obtain tokens via the OAuth 2.0 flow rather than relying on a static personal token.
> - Tokens should be stored securely and treated like a password.

## Required Permissions

Twist uses role-based access at the workspace level. Available roles:

- **ADMIN** - Full access to workspace settings, member management, billing, and integrations.
- **USER** - Standard member; can participate in channels/threads based on channel permissions.
- **GUEST** - Restricted access; typically limited to specific channels they've been invited to.

For detailed information on Twist API authentication, refer to the [Twist API introduction](<https://developer.twist.com/v3/#introduction>).

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