# How to integrate GitHub with account wide 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

* Hivel employs GitHub's OAuth for authentication.
* 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="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FfuGFYrIfn5oKmyDnw7jx%2Fimage.png?alt=media&#x26;token=0c265b13-9ca8-453d-aac0-66fa167d5b25" alt=""><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="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FDmotpSsSvrB8r1MBb0T5%2Fimage.png?alt=media&#x26;token=c92a0ff2-6213-4940-bce6-63d9ae5057d8" 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="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FfVfy42xatexMl1W1PPI9%2Fimage.png?alt=media&#x26;token=f9f44662-e81f-4b21-b7cf-8704c7a24322" 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="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FnJ0BKgHQiKefu7VRE9lr%2Fimage.png?alt=media&#x26;token=ee8a5e0a-82a8-4cc0-9baa-5aa656b52b74" alt=""><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="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FUQAoNSCeIcGUzlnNLtbP%2Fimage.png?alt=media&#x26;token=4ba1f406-10f8-4eaa-ac5f-5a91dbb7d506" alt=""><figcaption></figcaption></figure>

   <br>

   <figure><img src="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FDxJ4nfVPl7dPBiS9zIor%2Fimage.png?alt=media&#x26;token=2527cee4-5417-47f8-b07f-cbf97f74ec00" alt=""><figcaption></figcaption></figure>

8. Click '**Integrate Github**' .

9. Make sure you click on '**Gran**t' all the organization you want to integrate with Hivel.\ <br>

   <figure><img src="https://3057781534-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5KAIOUWph0JLSgQqbzyT%2Fuploads%2FhqkNBgy8OVtUGxOWy10H%2Fimage.png?alt=media&#x26;token=31cb29df-456e-4635-a852-fe8950a24d72" alt=""><figcaption></figcaption></figure>

10. 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.
