Integrations
GitHub Integration
Connect your GitHub account to sync issues with board cards — import open issues, create issues from cards, and keep everything in sync.
What you can do
Import issues
Pull open GitHub issues into your board as cards in one click.
Create from cards
Open a card and spin up a new GitHub issue or link an existing one.
Bi-directional sync
Keep issue status and card position aligned across both systems.
How it connects
Account
OAuth connect
Repository
Linked to board
Board
Kanban workspace
Sync
Cards ↔ issues
Using the hosted app?
GitHub OAuth is already configured at whatthehellhaveidone.net. Skip the self-hosting setup below and jump straight to Connect your account.
Self-hosting — GitHub OAuth App
Create an OAuth App
Set the callback URL
https://your-domain.com/github/callback
Copy credentials
Add to your .env
GITHUB_CLIENT_ID=your_client_id GITHUB_CLIENT_SECRET=your_client_secret GITHUB_REDIRECT_URL=https://your-domain.com/github/callback
Reload config
php artisan config:clear to pick up the new variables.Connect your GitHub account
Open Integrations
Authorize on GitHub
Add more accounts (optional)
Link a repository to a board
Open board settings
Select a repository
Connect
Working with issues
Once a repository is connected, click the refresh icon next to the repo name in board settings.
Open issues are imported as cards in the first list of the board — ready to drag through your workflow.
Open any card and use the GitHub panel to create a new issue or link to an existing one.
The card stays linked so status changes can sync in both directions when webhooks are configured.
Workflow automation
Read the full GitHub + board workflow guide →
Create issues when work starts
⋯), enable Create GitHub issue on your In Progress column. Moving a card there creates a linked issue when the board has a connected repository.Choose who works on it
Move pull requests into review automatically
Reference the issue in your pull request
Mention the linked issue in the PR title or body with Fixes #12 or #12. The app moves the card automatically, and Copilot review is requested only when the card was assigned to Copilot on move.
Sync direction
Two-way sync
Changes in GitHub reflect on the board and vice versa when webhooks are configured on the repository.
Import only
Pull issues into the board without pushing card changes back to GitHub.
Webhook setup (two-way sync)
For GitHub → board updates, add a repository webhook with this payload URL:
https://your-domain.com/webhooks/github
Connecting a repository registers this webhook for issues and pull_request events. GitHub must be able to reach your app over HTTPS.
See GitHub's webhook documentation for event types, secrets, and delivery settings.
Local testing checklist
- Set
APP_URLto your public tunnel URL, notlocalhost. - Expose the app over HTTPS with a tunnel such as
ngrok http https://whatthehellhaveidone.testor Herd Share. - Run
php artisan queue:workso webhook jobs can process deliveries. - Reconnect the repository in board settings so GitHub picks up the refreshed webhook URL.
Ready to connect?
