# 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="/files/hXFMNcqkIprFjewais2t" 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="/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=""><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=""><figcaption></figcaption></figure>

   <br>

   <figure><img src="/files/7YLEbBRbkocnOzR1r3r7" 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="/files/6j4OEANlI8WB3YBcHlWZ" 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.


---

# Agent Instructions: 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:

```
GET https://docs.hivel.ai/integrations/scm/github/how-to-integrate-github-with-account-wide-access.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
