> ## Documentation Index
> Fetch the complete documentation index at: https://koreai.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Teamwork Connector

<Badge icon="arrow-left" color="gray">[Back to Search AI connectors list](/ai-for-service/searchai/content-sources#supported-connectors)</Badge>

Teamwork is a project management and collaboration platform for managing tasks, projects, time tracking, file sharing, and milestones. The Teamwork Connector enables Search AI to ingest tasks from Teamwork so users can search them directly.

## Specifications

| Specification     | Details |
| ----------------- | ------- |
| Repository type   | Cloud   |
| Supported content | Tasks   |
| RACL support      | Yes     |
| Content filtering | No      |

## Connector Configuration

Search AI connects with Teamwork through its APIs. Complete the following steps to set up the integration.

### Generate OAuth2 Credentials

1. Sign in to the [Teamwork developer portal](https://developer.teamwork.com/) (for example, `https://{yourTeamworkURL}.com/developer`).
2. Create an app and provide the following details:

| Field             | Description                                       |
| ----------------- | ------------------------------------------------- |
| **Name**          | App name shown on the consent screen              |
| **Icon**          | Icon shown during authentication and installation |
| **Description**   | Brief description of the app's purpose            |
| **Product**       | Select the Teamwork app                           |
| **Redirect URLs** | See options below                                 |

3. For **Redirect URLs**, use one of the following based on your Search AI deployment:
   * JP Region: `https://jp-bots-idp.kore.ai/workflows/callback`
   * DE Region: `https://de-bots-idp.kore.ai/workflows/callback`
   * Production: `https://idp.kore.com/workflows/callback`

4. Click **Create**. Once the app is created, find the client credentials on the **Credentials** tab.

### Configure the Connector in Search AI

On the **Authentication** page of the connector, provide the following details and click **Connect**:

| Field                         | Description                                                                                            |
| ----------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Name**                      | Unique name for the connector                                                                          |
| **Authorization Type**        | OAuth 2.0                                                                                              |
| **Grant Type**                | Authorization Code                                                                                     |
| **Client ID / Client Secret** | Credentials generated in the Teamwork app                                                              |
| **Domain**                    | Your Teamwork subdomain. For example, if the full URL is `https://myteam.teamwork.com`, enter `myteam` |

## Content Ingestion

Search AI ingests **Tasks** from Teamwork. Each task is captured in JSON format with the following fields:

| Field            | Description                           |
| ---------------- | ------------------------------------- |
| **Title**        | Name of the task                      |
| **Content**      | Task description and assignee details |
| **URL**          | Direct link to the task in Teamwork   |
| **Project Name** | Project the task belongs to           |
| **Start Date**   | Scheduled start date                  |
| **Due Date**     | Scheduled due date                    |

View the complete field set on the **Content** page.

## RACL Support

The Teamwork Connector supports Restricted Access Control Lists (RACL) to enforce user-specific access to ingested content.

* When restricted access is enabled, the **Project ID** is stored as the value of the `sys_racl` field for all ingested tasks.
* The `sys_racl` field acts as the permission entity and determines which users can access each task.
* Use the **Permission Entity APIs** to associate users with the appropriate Project IDs stored in `sys_racl`.
