← Back to Integrations

OpenClaw + GitHub Actions Setup

Let your AI agent monitor CI pipelines, get notified on failed builds, create issues, review PRs, and trigger deployments — all through Telegram or WhatsApp. OpenClaw connects to GitHub via the built-in github skill and can receive real-time events through webhooks.

OpenClaw guide · Updated 2026 · Practical setup steps

What You Need

A GitHub account with a Personal Access Token (or fine-grained token), at least one repository, and a running OpenClaw gateway. The github skill is one of the most mature skills in the registry — it covers repos, issues, PRs, Actions, and release management.

Step 1: Create a GitHub Token

Go to github.com/settings/tokens and create a Fine-Grained Personal Access Token. Select the repositories you want OpenClaw to access and grant these permissions: Issues (read/write), Pull Requests (read/write), Actions (read), Contents (read). For private repos, also grant Metadata (read). Copy the token.

export GITHUB_TOKEN="github_pat_your_token_here"

Step 2: Install the GitHub Skill

clawhub install github

Configure it in openclaw.json:

{
  "skills": {
    "entries": {
      "github": {
        "enabled": true,
        "apiKey": {
          "source": "env",
          "id": "GITHUB_TOKEN"
        }
      }
    }
  }
}

Restart: openclaw gateway restart.

Step 3: Set Up Webhook Notifications (Optional)

For real-time CI alerts, configure a GitHub webhook to ping your OpenClaw gateway. In your repo, go to Settings → Webhooks → Add webhook:

OpenClaw's webhook surface receives the payload and the agent can process it in context — "Build failed on main, here's the error log" delivered to your Telegram.

Without webhooks, you can still use cron-based polling (see below), which requires no public endpoint.

Step 4: Add Context to TOOLS.md

## GitHub
- Main repos: mycompany/frontend, mycompany/api, mycompany/infra
- Default branch: main
- CI: GitHub Actions (test + deploy workflows)
- When creating issues, add labels: bug, enhancement, or chore
- PRs require at least 1 approval before merge
- Never force-push or merge without tests passing

Example Commands

Automate with Cron

# Morning CI health check — 8am weekdays
openclaw cron add \
  --name "CI check" \
  --cron "0 8 * * 1-5" \
  --session isolated \
  --model "google/gemini-2.5-flash" \
  --message "Check GitHub Actions status for mycompany/api and mycompany/frontend. If any workflow failed on main in the last 12 hours, list the failures with error summaries. If all green, say so briefly." \
  --announce --channel telegram

# Weekly dependency review — Monday 10am
openclaw cron add \
  --name "Dependency audit" \
  --cron "0 10 * * 1" \
  --session isolated \
  --message "Check Dependabot alerts for mycompany/api. List critical and high severity alerts with suggested fixes." \
  --announce --channel slack

Tips

The github skill works through the GitHub REST API via the gh CLI or direct curl calls. If you have the gh CLI installed and authenticated, the skill can use it directly for a smoother experience.

Combine with the linear skill for a full development loop: failed CI triggers an alert, you create a Linear ticket from Telegram, your agent tracks the fix through PR and deploy.

For larger teams, use per-repo webhook channels so alerts from different repos go to different Slack channels or Telegram groups. Configure this through OpenClaw's channel routing and agent bindings.

Recommended Next Steps