> ## 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 Discourse connector

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

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

## Capabilities

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

The connector syncs users and groups, and resolves the group membership graph:
each group exposes a **member** entitlement and an **owner** entitlement, with
grants linking groups to the users who belong to or own them.

## Gather Discourse credentials

<Warning>
  You need Discourse **administrator** access to create an API key that can read
  every user and group.
</Warning>

<Steps>
  <Step>
    In Discourse, go to **Admin** > **API** > **Keys** and click **New API
    Key**.
  </Step>

  <Step>
    Give the key a description. For **User Level**, choose **All Users** so the
    key can read every account and group, and set **User** to an administrator
    account such as `system`. Leave the scope as **Global** (read access is
    sufficient; the connector never writes).
  </Step>

  <Step>
    Click **Save** and copy the generated API key. Also note the username you
    selected — you will provide both when configuring the connector.
  </Step>
</Steps>

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

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

        * **Discourse Base URL**: The origin of your forum, with no trailing slash and no path — for example `https://forum.example.com`.
        * **Discourse API Key**: The API key you created.
        * **Discourse API Username**: The username the key acts on behalf of, such as `system` for an All Users key.
      </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 Discourse connector is now pulling access data into C1.
  </Tab>

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

    <Steps>
      <Step>
        Create secrets for the Discourse credentials.
      </Step>

      <Step>
        Configure the connector environment variables:

        * **DISCOURSE\_BASE\_URL**: The origin of your forum (for example `https://forum.example.com`).
        * **DISCOURSE\_API\_KEY**: The API key you created (store this as a secret).
        * **DISCOURSE\_API\_USERNAME**: The username the key acts on behalf of, such as `system`.
      </Step>

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

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