Dependabot PRs, on your phone
When Dependabot opens a pull request, Zenhook sends you the title, repository, and a button that opens the PR. No GitHub App and no repository write access.
Trigger
New Dependabot PR
Destination
One Zenhook channel
Action
Tap “View PR”
1. Create a channel
Create a channel named dependabot, then copy its complete webhook URL from channel settings.
2. Test the channel
Replace the placeholder and run this once. The sample alert should arrive on your phone immediately.
curl -X POST "YOUR_ZENHOOK_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"title": "Bump lodash from 4.17.20 to 4.17.21",
"level": "info",
"emoji": "package",
"source": "Dependabot",
"message": "Dependency update proposed in acme/api",
"linkUrl": "https://github.com/acme/api/pull/42",
"linkText": "View PR"
}'3. Add one Dependabot secret
In GitHub, open Settings → Secrets and variables → Dependabot. Create a repository secret named ZENHOOK_WEBHOOK_URL and paste the complete channel webhook URL.
Use a Dependabot secret, not a regular Actions secret. GitHub only exposes Dependabot secrets to workflows initiated by Dependabot.
4. Copy the workflow
Save this as .github/workflows/zenhook-dependabot.yml on your default branch.
name: Zenhook - Dependabot alerts
on:
pull_request:
types: [opened, reopened]
permissions:
contents: read
jobs:
notify:
if: github.event.pull_request.user.login == 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: Send the pull request to Zenhook
env:
ZENHOOK_WEBHOOK_URL: ${{ secrets.ZENHOOK_WEBHOOK_URL }}
PR_TITLE: ${{ github.event.pull_request.title }}
PR_URL: ${{ github.event.pull_request.html_url }}
PR_NUMBER: ${{ github.event.pull_request.number }}
REPOSITORY: ${{ github.repository }}
run: |
jq -n \
--arg title "$PR_TITLE" \
--arg url "$PR_URL" \
--arg number "$PR_NUMBER" \
--arg repository "$REPOSITORY" \
'{
title: $title,
level: "info",
emoji: "package",
source: "Dependabot",
message: ("Dependency update proposed in " + $repository),
fields: [
{ label: "Repository", value: $repository },
{ label: "Pull request", value: ("#" + $number) }
],
linkUrl: $url,
linkText: "View PR"
}' | curl --fail-with-body --retry 2 \
-X POST "$ZENHOOK_WEBHOOK_URL" \
-H "Content-Type: application/json" \
--data-binary @-The workflow does not check out or execute pull-request code. Its GitHub token is read-only; it only sends the PR metadata already present in the event to your private Zenhook URL.
One repository or several?
- One: add the secret and workflow to that repository.
- Several: create an organization-level Dependabot secret, grant it only to the selected repositories, and add the same workflow file to each.
This recipe sends an alert and a link. It does not approve or merge the PR. See GitHub’s documentation onDependabot workflowsandDependabot secrets.