> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-mcp-bridge-private-server.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up a Teamwork connector

> C1 provides identity governance for Teamwork. Integrate your Teamwork instance with C1 for unified visibility and governance over user access.

C1 provides identity governance for Teamwork. Integrate your Teamwork
instance with C1 for unified visibility and governance over user access.

## Capabilities

| Resource  | Sync                                                          | Provision |
| --------- | ------------------------------------------------------------- | --------- |
| Users     | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |           |
| Companies | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |           |

## Gather Teamwork credentials

<Warning>
  You need a Teamwork account that can see the site's people and companies. The
  API key inherits the access of the account that owns it.
</Warning>

<Steps>
  <Step>
    In Teamwork, click your avatar and open **Edit My Details**.
  </Step>

  <Step>
    Open the **API & Mobile** section.
  </Step>

  <Step>
    Copy your API key. Treat it like a password.
  </Step>

  <Step>
    Note your Teamwork site URL — the address you use to open Teamwork in a
    browser, such as `https://yourcompany.teamwork.com`.
  </Step>
</Steps>

## Configuration fields

| Field       | Required | Description                                                                                                              |
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| `base-url`  | Yes      | The full URL of your Teamwork site, with no trailing slash and no path — for example `https://yourcompany.teamwork.com`. |
| `api-token` | Yes      | A Teamwork API key. It is sent as the username half of HTTP Basic authentication.                                        |

## Synced resource types

* **Users**: people on the Teamwork site. Each person becomes a user.
* **Companies**: companies on the Teamwork site. Each company becomes a group
  with a single `member` entitlement.
* **Company membership**: a person is a member of the company recorded on the
  person's record. Each person belongs to one company.

## Special notes

* Provisioning is not supported. The connector reads people and companies
  only.
* The connector authenticates with an API key sent as the username half of
  HTTP Basic authentication.
* A person with no company on their record is synced as a user but holds no
  company membership.
* Teamwork does not list the members of a company directly, so the connector
  reads each person's company from the person record and matches it to the
  company.

## Configure the Teamwork connector

<Tabs>
  <Tab title="Cloud-hosted">
    Follow these instructions to use a built-in, no-code connector hosted by C1.

    <Steps>
      <Step>
        In C1, navigate to **Integrations** > **Connectors** and click **Add connector**.
      </Step>

      <Step>
        Search for **Teamwork** and click **Add**.
      </Step>

      <Step>
        Choose how to set up the new Teamwork connector.
      </Step>

      <Step>
        Set the owner for this connector.
      </Step>

      <Step>
        Click **Next**.
      </Step>

      <Step>
        Find the **Settings** area of the page and click **Edit**.
      </Step>

      <Step>
        Enter the Teamwork credentials:

        * **Teamwork site URL**: The full URL of your Teamwork site, such as
          `https://yourcompany.teamwork.com`.
        * **API key**: The API key you copied from Teamwork.
      </Step>

      <Step>
        Click **Save**.
      </Step>

      <Step>
        The connector's label changes to **Syncing**, followed by
        **Connected**. You can view the logs to ensure that information is
        syncing.
      </Step>
    </Steps>

    **Done.** Your Teamwork connector is now pulling access data into C1.
  </Tab>

  <Tab title="Self-hosted">
    Follow these instructions to run the Teamwork connector in your own
    environment.

    <Steps>
      <Step>
        In C1, navigate to **Integrations** > **Connectors** and click **Add connector**.
      </Step>

      <Step>
        Search for **Baton** and click **Add**.
      </Step>

      <Step>
        Choose how to set up the new Teamwork connector, set the owner, and
        click **Next**.
      </Step>

      <Step>
        In the **Settings** area, click **Edit**, then click **Rotate** to
        generate a new Client ID and Client Secret. Store these values
        securely for your deployment.
      </Step>

      <Step>
        Configure C1 credentials and Teamwork credentials as environment
        variables:

        ```bash theme={"theme":{"light":"css-variables","dark":"css-variables"}}
        BATON_CLIENT_ID=<C1 client ID>
        BATON_CLIENT_SECRET=<C1 client secret>
        BATON_HOST_ID=baton-teamwork
        BATON_BASE_URL=https://yourcompany.teamwork.com
        BATON_API_TOKEN=<Teamwork API key>
        ```
      </Step>

      <Step>
        Deploy the connector using the Public ECR image:

        ```bash theme={"theme":{"light":"css-variables","dark":"css-variables"}}
        public.ecr.aws/conductorone/baton-teamwork:<version>
        ```

        Use a version tag without the leading `v`, such as `0.0.1`.
      </Step>
    </Steps>

    **Done.** Your Teamwork connector is now pulling access data into C1.
  </Tab>
</Tabs>
