> For the complete documentation index, see [llms.txt](https://docs.expel.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expel.io/connect-your-technology/d-j-integrations/github/github-cloud-setup-for-workbench.md).

# GitHub Cloud Setup for Workbench

{% hint style="info" %}
This procedure is specifically for cloud-hosted GitHub deployments. For on-prem, refer to [GitHub Self-Hosted (On-Prem) Setup for Workbench](/connect-your-technology/d-j-integrations/github/github-self-hosted-on-prem-setup-for-workbench.md).
{% endhint %}

## Prerequisites <a href="#h_01j4q02z5a8syde1966k936wvv" id="h_01j4q02z5a8syde1966k936wvv"></a>

You must have:

1. A GitHub Enterprise account license. For more information, see [GitHub's products](https://docs.github.com/en/articles/github-s-products).

## Step 1: Install the Cloud-Hosted GitHub App <a href="#uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25636" id="uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25636"></a>

Expel uses a GitHub App as part of the onboarding process. During installation, the Expel GitHub App receives the following organization-level privileges:

* Administration: Read-Only
* Members: Read and Write

1. Go to the [ExpelGitHubIntegration](https://github.com/apps/expelgithubintegration) installation and select **Configure**.
2. Follow the steps to install the application within the GitHub organization you want to onboard.
3. Copy the **installation ID from the URL** in your browser’s address bar for use later in this process. It is the number sequence at the end of the URL after the last /.

## Step 2: Add GitHub as a Security Device in Workbench <a href="#uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25658" id="uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25658"></a>

{% hint style="info" %}
If you have multiple organizations, create a separate [security device](/connect-your-technology/security-devices/manage-security-devices.md) in Workbench for each organization.
{% endhint %}

Now that you have the correct access configured and noted the credentials, you can integrate your tech with Workbench.

1. In a new browser tab, log in to <https://workbench.expel.io/settings/security-devices?setupIntegration=github>.<br>

   <div align="left"><figure><img src="/files/ujQeLYxxsJ8xUgph0OFn" alt="GitHub Cloud integration add a security device form in Workbench." width="329"><figcaption></figcaption></figure></div>
2. For Where is your device? select **Cloud**.
3. Complete these fields using the credentials and information from [Step 1](#uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25636):
   * **Name** - enter the name of your GitHub organization.
   * **Location** - enter "Cloud".
   * **Organization name** - enter the name of your GitHub organization.
   * **Enterprise slug** - enter the enterprise slug URL. This is only required if you use an enterprise SAML identity provider; otherwise you can leave it blank.
   * **Application Installation ID** - enter the installation ID from [Step 1](#uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-25636).
4. Leave the other fields blank.
5. Click **Save**.

Your device should be created successfully within a few seconds. A few reminders:

* After your connection is healthy, it will take some time for your device to begin polling and receiving data.
* To check on the status, select the downward arrow for your device in the first column and choose **View details**.
* Polling will happen first; data will be received after that. **You must refresh the page to see updates.**
* If your device does not begin polling within 15 minutes, and does not begin receiving data within 30 minutes, [contact our support team for help](/support/how-to-reach-us.md).
* To check if alerts are coming through, navigate to **Dashboards > Alert Analysis**. Scroll to the device you want to check, and select the **Expel Alerts** tab to reveal more alert information. It can take 36 to 72 hours for alerts to appear after setup, as we [tune your device](/workbench-reference/alerts/how-expel-alerts-work.md#device-tuning).

## Step 3: Update your GitHub Logs to Record/Display IP Addresses <a href="#uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-idm4532644787227233673099798435" id="uuid-54f0653f-3326-04ab-a183-ee9f09f149a1_bridgehead-idm4532644787227233673099798435"></a>

While not required, consider updating your GitHub audit logs to record/display IP addresses. These addresses are not automatically logged in GitHub. This is a key field when the SOC analysts investigate GitHub activity. [Follow these instructions](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/displaying-ip-addresses-in-the-audit-log-for-your-enterprise#enabling-display-of-ip-addresses-in-the-audit-log) to set this up.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.expel.io/connect-your-technology/d-j-integrations/github/github-cloud-setup-for-workbench.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
