CronPup

← Guides

Monitoring AI agents that run in GitHub Actions

Updated 5 November 2026.

A scheduled GitHub Actions workflow that runs an agent (triage issues, update docs, summarise activity) has extra blind spots: scheduled runs can be delayed or skipped when GitHub is busy, schedules are disabled automatically in repositories with no recent activity, and a run can pass while the agent did nothing.

Report every run, success or failure

on:
  schedule: [{ cron: "0 7 * * 1-5" }]
jobs:
  agent:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v4
      - run: curl -fsS -m 10 https://cronpup.com/p/YOUR-UUID/start
      - run: ./scripts/run-agent.sh
      - if: always()
        run: curl -fsS -m 10 --retry 3 https://cronpup.com/p/YOUR-UUID/${{ job.status == 'success' && '0' || 'fail' }}

Use a cron monitor with the same expression in UTC (Actions schedules are UTC) and a grace that covers GitHub's scheduling delays plus the run time; 30-60 minutes is typical.

Check that it produced something

Before the final ping, fail the job if the agent's output is empty (no PR opened, no comment posted, empty summary). The run then reports /fail and you get the output tail in the alert.

Out of credits and rate limits

Make the agent script exit non-zero when the model API returns quota or rate-limit errors instead of retrying forever; timeout-minutes bounds the worst case. See the AI agents use-case page. Start free.