Create Your Own GitHub App
Set up a custom GitHub App to deploy Matter AI in your own environment
This guide walks you through the process of creating and configuring your own GitHub App for Matter AI, giving you complete control over permissions and data access.
Prerequisites
- GitHub organization or personal account with admin privileges
Step 1: Register a New GitHub App
- Navigate to your GitHub organization settings (or personal settings)
- Select Developer settings > GitHub Apps > New GitHub App
- Configure the basic app settings:
- GitHub App name: Choose a descriptive name (e.g., “YourCompany Matter AI”)
- Homepage URL: Your company website or internal documentation URL
- Callback URL:
https://matter-backend.example.com/api/v1/auth/github/callback
. Replace your domain later. - Webhook URL:
https://local-wave.matterai.dev/github/webhook
. Replace your domain later. - Webhook secret: Generate a secure random string to validate webhook payloads
Keep your webhook secret secure. You’ll need to provide this to your Matter AI instance during configuration.
Step 2: Set Required Permissions
Matter AI requires specific permissions to function properly. Configure the following permission settings:
Repository Permissions
Organization Permissions
Account Permissions
Subscribe to Events
Enable the following webhook events:
Step 3: Generate Private Key
- After creating the app, scroll down to the “Private keys” section
- Click Generate a private key
- Save the downloaded
.pem
file securely
The private key is generated only once and cannot be recovered if lost. Store it securely as you would any sensitive credential.
Step 4: Install the GitHub App
- Navigate to your GitHub App’s settings page
- Click on Install App in the sidebar
- Choose the organization or account where you want to install the app
- Select the repositories you want Matter AI to have access to
- You can choose specific repositories or grant access to all repositories
Next Steps
Now that you’ve created your GitHub App, you can proceed to deploy Matter AI using one of our self-hosting options: