GitHub

Code hosting, version control, and collaboration platform for software development

58 tools available · OAuth authentication

SDK Usage #

// Import typed helpers for full type safety
import { Hotglue } from "@hotglue/sdk";
import { toolName } from "@hotglue/sdk/github";
const client = new Hotglue({ apiKey: "hg_live_xxx" });
const result = await client.execute({
...toolName({ /* typed input */ }),
userId: "user_123",
});
// result is fully typed!
import { Hotglue } from "@hotglue/sdk";
const client = new Hotglue({ apiKey: "hg_live_xxx" });
const result = await client.execute({
integration: "github",
tool: "tool_name",
userId: "user_123",
input: { /* ... */ },
});
import { createHotglueTools } from "@hotglue/sdk";
import { Agent } from "@mastra/core/agent";
const hotglueTools = createHotglueTools({ apiKey: "hg_live_xxx" });
const agent = new Agent({
name: "GitHub Agent",
model: "anthropic/claude-sonnet-4-0",
tools: () => hotglueTools({
integrations: ["github"],
userId: "user_123",
}),
});

Authentication Setup #

Create an OAuth App in GitHub to get a Client ID and Client Secret.

1. Access Developer Settings

  1. Log in to github.com
  2. Click your profile picture → Settings
  3. Scroll down and click Developer settings
  4. Click OAuth Apps

2. Create OAuth App

Click New OAuth App and fill in:

Application name
Your app name (users see this)
Homepage URL
Your application URL
Callback URL
https://hotglue.tech/api/auth/callback

3. Get Credentials

Client ID — shown after creation
Client Secret — click "Generate a new client secret"

// Store the secret immediately — GitHub only shows it once.

Recommended Scopes

repo — full repository access
read:user — read user profile
user:email — access email addresses
gist — create and manage gists

Scopes #

When users connect their GitHub account, they'll be asked to grant some of these permissions, depending on which tools you configured for connection:

repo Full control of private repositories including code, commit statuses, invitations, and more
public_repo Access to public repositories only
repo:status Read/write access to commit statuses
repo_deployment Access to deployment statuses
delete_repo Delete repositories
admin:repo_hook Full control of repository webhooks
write:repo_hook Read, write, and ping access to repository webhooks
read:repo_hook Read and ping access to repository webhooks
admin:org Full control of organizations including teams, projects, and memberships
write:org Read and write organization membership and projects
read:org Read-only access to organization membership and projects
user Read/write access to profile info including email addresses and follow/unfollow
read:user Read-only access to user profile data
user:email Read access to user email addresses
user:follow Follow and unfollow other users
gist Create, read, and modify gists
notifications Read access to notifications and mark as read
project Read/write access to user and organization projects
read:project Read-only access to user and organization projects
workflow Add and update GitHub Actions workflow files
write:packages Upload packages to GitHub Package Registry
read:packages Download packages from GitHub Package Registry
delete:packages Delete packages from GitHub Package Registry