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
- Log in to github.com
- Click your profile picture → Settings
- Scroll down and click Developer settings
- 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/callback3. 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