---
title: GitHub overview & authentication
sidebarTitle: Overview & authentication
---
## Overview
Our GitHub integration allows you to create triggers and tasks that interact with GitHub. For examples of some of the things you can do with it, check out our Jobs Showcase:
Check out pre-built GitHub jobs in our showcase.
## Installing the GitHub packages
```bash npm
npm install @trigger.dev/github@latest
```
```bash pnpm
pnpm install @trigger.dev/github@latest
```
```bash yarn
yarn add @trigger.dev/github@latest
```
## Authentication
GitHub supports Personal Access Tokens and OAuth. You can use either of these to authenticate with GitHub.
### Personal Access Token
To create a personal access token on GitHub, login and [follow the instructions](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token). Information on the required scopes can be found [here](https://docs.github.com/en/developers/apps/scopes-for-oauth-apps).
```ts my-job.ts
import { GitHub } from "@trigger.dev/github";
//create GitHub client using a token
const github = new GitHub({
id: "github",
token: process.env.GITHUB_TOKEN!,
});
...
```
### OAuth
To use OAuth you can connect to GitHub via the Trigger.dev [web app](https://cloud.trigger.dev). Click 'Integrations' in the side panel of any project, and configure GitHub with the ID you want to use in your job and the required [scopes](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps).
```ts my-job.ts
import { GitHub } from "@trigger.dev/github";
//create GitHub client using OAuth
const github = new GitHub({
id: "github",
});
...
```
## Triggers and Tasks
Once you have set up a GitHub client, you can use it to create triggers and tasks.
Trigger Jobs when events happen in GitHub, such as a new commit or a new issue.
Perform tasks such as creating a new issue or a new comment.