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

# Set up a Zulip connector

> C1 provides identity governance for Zulip. Integrate your Zulip organization with C1 for unified visibility and governance over who has access and what role they hold.

C1 provides identity governance for Zulip. Integrate your Zulip organization
with C1 for unified visibility and governance over who can sign in and what
organization role they hold.

## Capabilities

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

The connector syncs the members of your Zulip organization as user identities.
Each user carries their organization role (**Owner**, **Administrator**,
**Moderator**, **Member**, or **Guest**), their login email, and whether their
account is active. Bot accounts are synced as service identities.

<Note>
  This connector is identities-only: it lists users and surfaces each person's
  organization role as an attribute on their identity, but it does not sync
  entitlements or grants and does not change anyone's access.
</Note>

## Gather Zulip credentials

<Warning>
  You need a Zulip **bot** and its **API key**. The connector signs in as the
  bot, so the bot must be able to see your organization's members. Treat the API
  key as a secret.
</Warning>

<Steps>
  <Step>
    Sign in to your Zulip organization (for example
    `https://your-org.zulipchat.com`).
  </Step>

  <Step>
    Open **Settings**, then **Bots** (under your personal settings, or under
    **Organization settings** if you manage the organization), and click **Add
    a new bot**. Choose a **Generic bot**, give it a name, and create it.
  </Step>

  <Step>
    Copy the new bot's **email** and its **API key** from the bot's entry in the
    bot list. You will enter both when configuring the connector.
  </Step>

  <Step>
    Note your organization URL — the address you use to reach Zulip, for example
    `https://your-org.zulipchat.com`.
  </Step>
</Steps>

## Configure the Zulip 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 **Zulip** and click **Add**.
      </Step>

      <Step>
        Choose how to set up the new Zulip 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 Zulip credentials:

        * **Organization URL**: Your organization's full Zulip URL (for example `https://your-org.zulipchat.com`).
        * **Bot email**: The email address of the bot you created.
        * **Bot API key**: The API key shown for that bot.
      </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 Zulip connector is now pulling access data into C1.
  </Tab>

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

    <Steps>
      <Step>
        Create a secret for the Zulip bot API key.
      </Step>

      <Step>
        Configure the connector environment variables:

        * **BATON\_ZULIP\_BASE\_URL**: Your organization's full Zulip URL (for example `https://your-org.zulipchat.com`).
        * **BATON\_ZULIP\_BOT\_EMAIL**: The email address of the bot.
        * **BATON\_ZULIP\_API\_KEY**: The bot's API key (store this as a secret).
      </Step>

      <Step>
        Deploy the connector using your standard self-hosted connector process.
      </Step>
    </Steps>

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