> For the complete documentation index, see [llms.txt](https://docs.hivel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hivel.ai/integrations/scm/github/how-to-integrate-github-with-repository-level-access.md).

# How to integrate GitHub with repository level access?

#### Data Access by Hivel

* Hivel accesses the past 60-90 days of commits and pull requests from active repositories during the initial sync.

#### Authorization Mechanism

* In this method, Hivel uses the GitHub app flow for the integration
* Users maintain full control and can withdraw access anytime via GitHub's authorized apps section.

#### Requirements

* Ensure to log in with an account possessing write permissions to relevant GitHub repositories.
* Write permissions are mandatory for webhook publication, facilitating real-time data sync.

#### Best Practice

* Opt for a service account rather than an individual-linked account.
* Service accounts are typically overseen by the company's admin.<br>

**Permissions Required**

<figure><img src="/files/VuWhSIk0y34ej6XsqWnC" alt="" width="336"><figcaption></figcaption></figure>

{% hint style="success" %}
**You can either create a service account or use one with access to only the required workspaces.**
{% endhint %}

### How to create a service account and give access to the required workspaces

{% hint style="info" %}
Skip this section if you are using an existing account with required access.
{% endhint %}

1. Sign up on [<mark style="color:purple;">github.com</mark>](https://github.com/) using a generic email ID which does not belong to any developer and can be accessed by the admin.
2. Once created, open the required workspace using an admin account.
3. Under **People** section, click on **Invite member** to invite the newly created service account.
4. Do the same for **all the required workspaces**.
5. Once invited, log into the account mail and **accept the invite**. This will give the service account permission for only the required workspaces.<br>

   <figure><img src="/files/pJrQbDf7flXdSmwkCYM2" alt=""><figcaption></figcaption></figure>

### **Sign in to Hivel**

1. Navigate to the Hivel [<mark style="color:purple;">sign-up page</mark>](https://app.hivel.ai/signup)

2. Add your work email id (If you'd like to use your personal email id please contact [<mark style="color:purple;">support@hivel.ai</mark>](mailto:support@hivel.ai)

3. Now, you can use your Google or Microsoft login with your work email ID, or create a password.

4. Create your Company Profile, and click '**Get Started**'.<br>

   <figure><img src="/files/gPP1Pg2iNTIpnGxfW8ZW" alt=""><figcaption></figcaption></figure>

5. Once you've successfully created your Company Profile you will be redirected to the Integrations Page under **Settings.**<br>

   <figure><img src="/files/XunwJF39GpZphtMWm7o6" alt="" width="175"><figcaption></figcaption></figure>

6. Select GitHub, and use your company's GitHub account (**either service account or the account which has access to the required workspaces**).

7. Click on **Connect.**<br>

   <figure><img src="/files/46hx3dDJKmNEFNUaW2HV" alt="" width="375"><figcaption></figcaption></figure>

8. Select **"Repository-level Access"**<br>

   <figure><img src="/files/BSoLMiLoIXCxsH0XhSSK" alt="" width="375"><figcaption></figcaption></figure>

9. You will be redirected to the Github app installation page where you have to click on **"Install"** for the Hivel app.<br>

   <figure><img src="/files/BSvmD5v6faLvuDOCfDoN" alt="" width="563"><figcaption></figcaption></figure>

10. Select the org where you want to integrate Hivel<br>

    <figure><img src="/files/pk5JC3cCJQZgSqczUW8f" alt="" width="375"><figcaption></figcaption></figure>

11. You can either select to give access to all repositories or a few select repositories as required.<br>

    <figure><img src="/files/uilbLsnlDT8lAow4ZsqB" alt="" width="332"><figcaption></figcaption></figure>

12. Click '**Install & Authorize'**.

13. After authorization, you'll be redirected back to Hivel. <br>

\
Once your GitHub is successfully integrated, we will start to pull data. It will take between 2 - 48 hours for the complete sync, depending on the volume of the data.
