← Blog

October 27, 2026 · 5 min read

Your GitHub Actions run history is not your bill

A workflow run tells you what ran. GitHub billing tells you what was charged. Here is how to check both before sending a cost alert from an OpenClaw runbook.

Can you work out your GitHub Actions bill by subtracting run_started_at from updated_at for every workflow? No. Those are workflow-run timestamps, not a statement of billable usage. A useful OpenClaw cost monitor keeps the run ledger and GitHub's account billing view separate, then reports what each can actually prove.

We had to make that distinction in our own GitHub Actions Cost Tracker template. Its earlier draft multiplied a workflow's elapsed time by fixed Linux, macOS, and Windows factors and called the result cost. That shortcut could turn a useful activity alert into a false spending claim. The template now asks for the billing source when a real charge matters.

Two ledgers, two different questions

SourceUseful questionDo not infer
GitHub workflow runs APIWhich workflow ran, failed, or was retried in the window?Charged minutes or money from workflow start and update times
Account or organization Actions billing viewWhat usage and charges does GitHub report for the billing owner?Which single workflow caused every line item without further evidence
Runbook notificationDid the scheduled check find an anomaly and reach an operator?That an alert was delivered just because the automation ran

GitHub says standard GitHub-hosted runner use in public repositories and self-hosted runner use are free under its Actions billing model. Private repositories have plan allowances; additional usage can be billed to the repository owner. Storage and larger runners have their own treatment. A single multiplication rule cannot cover those cases. Check the current billing page and your actual account before attaching a currency figure to a report.

A check you can rehearse

  1. Pick one repository owner and a reporting window. List workflow runs with their IDs, names, statuses, conclusions, and timestamps. Keep the source query and timezone in the report.
  2. Open that owner's Actions billing view for the same window. Record its reporting period and any included allowance. If the runbook cannot access billing, say 'billing not checked' and send a run-activity report instead.
  3. Re-run a harmless workflow in a test repository. Confirm the activity report changes without assuming a matching charge appeared immediately. Check the official billing view when it updates; don't invent a latency guarantee.
  4. Simulate an unavailable billing source and a failed notification. The first must be 'unknown spend', not '$0'; the second must be an undelivered alert, not a successful warning.

This is an acceptance procedure, not a claim that the gallery prompt has been tested against your GitHub account. The template text alone does not create an Automation or grant billing permissions. Keep budget enforcement in GitHub's billing controls; let the agent assemble a bounded explanation with links to the authoritative records.

Inspect the GitHub Actions Cost Tracker template

Sources and further reading

More posts

October 23, 2026

A DNS record changed. Should your OpenClaw monitor alert?

October 20, 2026

Zero errors is not always good news: checking the log pipeline before an agent alerts

October 17, 2026

A running container is not a healthy service: an OpenClaw monitoring runbook

October 14, 2026

OpenClaw database backup checks vs restore tests: what each proves

October 5, 2026

OpenClaw automation ran, but no message arrived: diagnose execution and delivery

October 2, 2026

OpenClaw SecretRefs for recurring workflows: a practical migration checklist

September 29, 2026

The scheduled blog queue ran dry: a runway check that catches it early

August 24, 2026

Agent workflow validation checklist before you reuse a template

August 21, 2026

Bounded background tasks for coding agents

August 18, 2026

Agent runbook status files that actually work

August 15, 2026

7 OpenClaw workflows worth running, and 5 that are not

August 12, 2026

The OpenClaw workflow security checklist we use before turning on tools

August 9, 2026

Your HEARTBEAT.md should be boring

August 6, 2026

How to build an OpenClaw automation that survives retries

August 3, 2026

OpenClaw cron vs heartbeat: the production rule that actually works

April 30, 2026

OpenClaw just shipped real voice agent calls. Here are 5 workflows worth setting up.

March 27, 2026

The best OpenClaw skills nobody knows about

March 25, 2026

Top AI agent workflow templates for developers in 2026

March 23, 2026

OpenClaw vs n8n: when to use each for agent automation

March 20, 2026

How to automate Make.com workflows with AI agents

March 18, 2026

Best n8n workflow templates for email automation

March 15, 2026

OpenClaw starter packs: the fastest way to a useful agent

March 12, 2026

How to build your own OpenClaw runbook from scratch

March 9, 2026

5 OpenClaw workflows that save 10 hours/week