Every 5 minutes
Get pinged when a pull request is opened
You hear about each new pull request within minutes of it being opened.
- Runs
- Every 5 minutes
- Apps
- GitHub
- AI
- Not needed
- Access
- Pull requests: read
Send this to your assistant
Create a ClickRuntime automation: send me a Slack message within 5 minutes whenever a new pull request is opened in acme/app, with the title, author and link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
If you maintain a project or lead a code review rota, the time between a pull request being opened and someone responding decides how contributors feel about the project. A first-time contributor who opens a PR and hears nothing for three days rarely opens a second one. An internal PR on a release branch can hold up a deploy simply because the right person was not told it existed.
Every 5 minutes the repository's pull requests are listed by creation date. Any PR that has not been announced yet is posted to Slack with its title, author and link, and its ID is remembered. The post arrives soon after the PR opens, so the first reply can too.
Open source maintainers and team leads who want fast first responses can get the most from it. Teams with a formal review rota can also use it to confirm that every PR was seen.
What you get out of it
First responses arrive quickly
Hearing about a PR within minutes makes a welcoming comment possible the same hour, which shapes whether a new contributor sticks around. Fast welcomes turn drive-by contributors into regulars, which is how small projects grow their maintainer base.
Release-blocking PRs get seen
A change aimed at a release branch reaches the people who must approve it immediately, avoiding the afternoon where a deploy is waiting on a review nobody knew about. Quick replies also reveal blockers early.
Reviewers can volunteer in the open
Posting to a channel lets teammates reply with a quick I'll take it, which spreads review work more evenly than leaving it all to the same person. Visible volunteering makes the workload fairer and the reviewers less likely to burn out.
No emails to filter through
GitHub's own notification emails mix with everything else, so a single clear Slack message per PR is easier to notice than a line in a crowded inbox. It also works on a phone, where a notification is hard to ignore.
Every PR announced exactly once
Remembering announced IDs prevents repeats, so the channel stays readable even in a busy repository with several new PRs an hour. Readers trust a feed that never repeats itself, so they keep paying attention to it over months and busy weeks.
How it works
What happens, step by step
Every five minutes, the automation checks your GitHub repo for newly opened pull requests.
It skips any it has already posted.
Each new pull request is posted to your Slack channel with its number, title, author and link.
Before it runs live
- Connect GitHub
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other GitHub steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
def gh(method, path, **kw):
resp = http.request(method, f"https://api.github.com{path}", headers={
"Authorization": f"Bearer {credentials.connection('github', 'work')}",
"Accept": "application/vnd.github+json"}, **kw)
resp.raise_for_status()
return resp.json() if resp.content else None
REPO = "acme/app"
@on_trigger
def run(event):
prs = gh("GET", f"/repos/{REPO}/pulls", params={"state": "open", "sort": "created", "direction": "desc", "per_page": 30})
last = state.get("last_number")
new = [p for p in prs if last is not None and p["number"] > last]
report_fetched(len(new))
if prs:
state.set("last_number", max([p["number"] for p in prs] + [last or 0]))
if not new:
return {"posted": 0}
for p in reversed(new):
notify.slack(f"New PR #{p['number']}: {p['title']} by {p['user']['login']}\n{p['html_url']}", channel="#dev")
return {"posted": len(new)}FAQ
Common questions
Does it announce pull requests from forks?
Can I ignore pull requests from bots?
Why check every 5 minutes instead of using a webhook?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Assign new issues automatically
New issues get an owner based on their label, and anyone can take an issue by commenting /assign.
See how it worksGet a Slack message for every new issue
Each new issue on your repo shows up in Slack with its title, author and link.
See how it worksHear about new releases of repos you follow
When a project you depend on ships a release, you get the version and release notes.
See how it worksKeep exploring
Set up “Get pinged when a pull request is opened” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.