To get notified when a GitHub build fails, add a step to your workflow that calls your Hook.Notifier URL when a job fails. The red build reaches your phone right away.
From GitHub Actions
Add one step at the end of your workflow that only runs on failure.
- name: Notify on failure
if: failure()
run: |
curl "https://hooknotifier.com/{IDENTIFIER}/{KEY}?object=Build%20failed&body=${{ github.repository }}%20on%20${{ github.ref_name }}&color=%23EE6767&priority=high"
The next time CI goes red, your phone lights up. The priority=high makes the alert cut through your quiet hours, because a broken build at 11pm is still a broken build.
One card for the whole build
For a long job, you can send one notification when the build starts and update it in place when it ends. Sending returns an id, and a PUT on the same URL plus that id replaces the previous push on your phone instead of stacking a new one.
- name: Notify start
id: notify
run: |
RES=$(curl -s -X POST "https://hooknotifier.com/{IDENTIFIER}/{KEY}?object=Build%20running&body=${{ github.repository }}")
echo "nid=$(echo "$RES" | jq -r .id)" >> "$GITHUB_OUTPUT"
- name: Update on failure
if: failure()
run: |
curl -s -X PUT "https://hooknotifier.com/{IDENTIFIER}/{KEY}/${{ steps.notify.outputs.nid }}?object=Build%20failed&color=%23EE6767&priority=high"
One build, one card, always showing the latest state.
For pull requests and other events
If you want repo events like new pull requests, use a repository webhook instead of a workflow step.
- In Hook.Notifier, go to Dashboard → Hooks and create a hook named GitHub. It gets its own URL and defaults (tag, color, priority).
- In your repo, go to Settings → Webhooks → Add webhook and paste that URL as the payload URL.
- Choose the events you care about, like Pull requests, Pushes or Workflow runs.
GitHub sends a big raw payload. Add a payload template on the hook so the notification reads like a sentence, with paths resolved against the JSON GitHub posts. For the workflow_run event:
- objectTemplate:
{{workflow_run.name}} {{workflow_run.conclusion}} - bodyTemplate:
{{repository.full_name}}
For pull requests, {{pull_request.title}} and {{sender.login}} work the same way. No Zapier or middleman needed.
First get your URL
Your Hook.Notifier URL is https://hooknotifier.com/{IDENTIFIER}/{KEY}. Create a free account to get yours, then drop it into the workflow or the webhook.
Why it matters
A broken build blocks everyone behind it. The faster you know, the faster you unblock the team. A notification the moment CI fails turns a silent red X into a two minute fix.
New to this? Start with how to send yourself a native push notification.


