Intro
I now know about actions but these aren’t the same as GitHub bots, so what’s up?
Are GitHub bots just automated programs that use GitHub Actions?
Clarification
No, they’re not. bots are standalone services/apps (programs) that are built to respond to events triggered by GitHub Webhooks, residing on their own servers. // defined by you the programmer.
They have their own identity (a GitHub App or user account) and can interact with repos autonomously; commenting, labeling, merging, etc.
Sometimes, these bots interact with the GitHub Actions.
Structure and Implementation
These bots are built using tools like Probot or GitHub’s REST/GraphQL APIs.
Ultimately the final implementation depends on their purpose and how the programmer’s built them.
Comparison
| Feature | GitHub Bots | GitHub Actions |
|---|---|---|
| Where it runs | External server (yours or a service) | GitHub’s cloud runners |
| Defined by | Code + webhook config | .github/workflows/*.yml |
| Identity | Has its own GitHub account/App | Runs as github-actions[bot] |
| Trigger method | Webhook events pushed to your server | Events declared in workflow YAML |
| Complexity | Higher : needs hosting & auth setup | Lower : built into the repo |
| Flexibility | Very high : full custom logic | High within workflow steps |
| Best for | Persistent, stateful, cross-repo logic | Per-repo CI/CD & automation |
Examples
GitHub Bots
- Dependabot : A bot (now GitHub-native) that monitors your dependencies and automatically opens PRs when updates are available. It runs on GitHub’s infrastructure and has its own bot identity.
- Stale bot : Watches for issues/PRs that haven’t had activity in a while and automatically labels or closes them. Runs as a GitHub App on an external server.
GitHub Actions
- CI pipeline : A workflow that runs your test suite on every pull request, posting a pass/fail status check before merging is allowed.
- Auto-release : A workflow triggered when you push a
v*tag that builds your app, creates a GitHub Release, and uploads build artifacts automatically.
References
- https://staging-graphite-splash.vercel.app/guides/how-to-configure-github-bots-on-your-prs
- https://dev.to/alwil17/automate-github-like-a-pro-build-your-own-bot-with-typescript-and-serverless-58fg
- https://www.geeksforgeeks.org/git/making-a-github-bot/
- https://claude.ai/share/695944ac-b245-4447-8e3a-8b20d7e8b424