GitHub Google Sheets Integration: PR Tracker That Holds the Merge
Connect GitHub and Google Sheets to log pull requests and releases automatically, and run the same connection as an AI agent that pauses for a human before a risky merge ships.
How do you connect GitHub to Google Sheets?
Connect GitHub’s On Pull Request Opened (or On Release Published) trigger to Google Sheets’ Add Row action, and the tracker fills itself: every PR or release lands as a row with the author, branch, and check status already mapped. FlowRunner is a visual AI-agent orchestration platform where automations run autonomously and pause for human judgment on the steps that carry real consequence. Run this same connection as an AI agent, and it does more than copy data: it reads the check results, decides whether a merge is routine or risky, and pauses for a human before a production-touching change goes out.
The problem it solves
An engineering manager or release lead is usually the one holding this together by hand. Pull requests open, checks run, and reviewers get pinged one Slack DM at a time. When a release ships, someone copies the release notes and the pipeline status into a spreadsheet, or into nothing at all, because there isn’t time. Ask “what shipped last month and who approved it” and the honest answer is a scroll through chat history and a guess.
The exceptions are what actually cost time. A PR with failing checks gets merged anyway because nobody was watching. A release tag touches a production branch and nobody flagged it before it went out. None of this is a tooling gap exactly; GitHub has all the data. It’s a tracking gap. There’s no single record that ties the PR, the check status, the reviewer decision, and the release outcome together, so it falls through the cracks and the team spends its Monday reconstructing what happened instead of building.
How it works: the connection
On Pull Request Opened fires for a watched repository and starts the flow. The connection reads the PR title, author, branch, and touched files, then calls List Workflow Run Jobs to pull the current check status for that branch. That data maps into an Add Row call against your Google Sheets tracker: one row per PR, with columns for author, branch, check status, and a blank decision field waiting to be filled in.
When the PR is eventually merged, Merge Pull Request runs and an Update Row call writes the outcome, the approver, and the merge timestamp back into the same row. On Release Published, the same tracker gets a second pass: List Workflow Runs confirms the release pipeline ran clean, and Update Row (or a fresh Add Row for a release log) records the workflow status and changelog. Nobody exports anything. The sheet is populated and updated as the events happen, not reconstructed from memory at the end of the sprint.

Can an AI agent run it? (and why a human stays in the loop)
A plain sync tool copies PR data into a row and stops there; it has no opinion about whether the PR should merge. An AI agent reads the check results, reasons about what it’s looking at, and calls GitHub and Google Sheets actions as tools in whatever order the situation calls for. Most PRs it can walk through end to end: log the row, wait for checks to pass, merge, update the row. This is not a sync tool. The agent knows when to stop and ask.
Here’s the decision moment. A pull request opens against a release branch and List Workflow Run Jobs comes back with two failing jobs. In a normal flow, that PR either blocks silently or someone merges it anyway without checking. The agent instead recognizes this specific combination, a production-tagged branch with failing checks, as exactly the kind of moment that needs a person, and it invokes a human-in-loop flow as a callable tool rather than proceeding. It packages the context that matters: the PR number, the branch, the author, and the list of failing jobs, then posts it to the on-call engineer in Slack: “Merge PR #482 into release/v3.2. Failing checks: integration-tests, deploy-smoke-test. Approve, request changes, or hold for review?” The workflow pauses. The engineer decides. On approval, the agent calls Merge Pull Request and writes the decision, the approver’s identity, and the timestamp into the tracker row, so the audit trail and the merge happen in the same motion. This is the digital andon cord: the agent pulls it itself when the data says something’s off, not because a person told it to check that one thing.

FlowRunner vs n8n
n8n is a strong choice for technical teams who want to wire GitHub and Google Sheets together with full control over the logic, and its node-based editor is genuinely flexible for engineers comfortable building and debugging flows themselves. That flexibility is also the tradeoff: routing a risky merge to a human for approval means hand-building an approval branch, a wait state, and a way to resume the flow with the decision, and maintaining it as your process changes.
| Capability | FlowRunner | n8n |
|---|---|---|
| Human-in-the-loop | Native: the agent invokes a human-approval flow as a callable tool and resumes with the decision | Not built in; requires manually wired wait/webhook nodes to approximate |
| AI decision-making | Agent reads check status and reasons about which PRs need a person | Workflow logic is deterministic unless you wire in a separate LangChain-style agent node |
| Users included | Unlimited on every tier | Priced per seat on most cloud tiers |
| AI provider keys | BYOK: connect your own OpenAI/Anthropic keys | Also supports BYOK for AI nodes |
| Self-hosting | Community Edition free; Enterprise adds clustering and full compliance | Fair-code self-hosting model, strong community track record |
| Pricing model | Flat workflow-based tiers with a stated execution ceiling | Execution-based pricing that gets harder to predict at scale |
Before and after
| What changes | Before | After |
|---|---|---|
| PR visibility | Status hidden in tabs: checks, workflow runs, and release status live in separate UI tabs and chat threads | Status surfaced on event: PR events drive a single notification with check summary, failing jobs, and author context |
| Reviewer routing | Reviewers pinged manually by an engineer after opening or fixing a PR | Reviewers pulled in automatically with the change scope and risk context attached |
| Release record | Releases tracked in chat: notes and approvals scattered across DMs with no single record | Releases recorded as a flow: release events drive the tracker, notifications, and audit record together |
| Tracker maintenance | Spreadsheets kept by hand, exported from other systems and pasted in weekly | Sheets stay current in the flow, updated as PR and release events fire |
| Merge risk | Failing-check merges depend on someone noticing before approving | Failing-check merges into production branches are held for the on-call engineer by default |

What you can build
PR and release tracker with a merge gate. Every pull request logs to a Google Sheets row on open, gets its check status attached, and is merged automatically unless it fails checks on a production branch, in which case it’s held for the on-call engineer.
Bug intake sheet that files GitHub issues. A support-facing Google Sheet takes bug reports; On New Row triggers the agent to call Search Issues and Pull Requests for duplicates and Find or Create Issue to file a new one with the reproduction steps attached, so support stops keeping a private list.
Release report on a schedule. On a schedule, the agent reads the tracker sheet, calls Export Sheet to generate the current release log as a file, and emails it to stakeholders without anyone opening the spreadsheet.
Reviewer load balancer. New Review Request in GitHub logs to a Google Sheets row that tallies open reviews per engineer, so a lead can see review load at a glance instead of asking around.

Getting started
Connect GitHub and Google Sheets on FlowRunner with a $100 credit on the Growth tier, roughly 67 days of real usage, no credit card required. Start with the plain connection (PR events into a tracker row) and add the AI agent and human-in-loop step whenever you’re ready to let it decide which merges need a person.
Explore the GitHub integration and the Google Sheets integration for the full list of triggers and actions. Start building at flowrunner.ai, or book time to walk through your specific setup at calendly.com/flowrunner/intro.