# Monitor scheduled GitHub Actions with HookPulse

Add one step to a scheduled workflow. The first run creates the monitor with the workflow schedule, with no secret.

HookPulse · Updated 2026-10-14

## Step 1. Add the HookPulse step

Add it at the end of the job, with if: always() so failures are reported too. The id-token permission identifies the repository.

```
on:
  schedule:
    - cron: "17 3 * * *"
permissions:
  contents: read
  id-token: write
jobs:
  backup:
    runs-on: ubuntu-latest
    steps:
      - run: ./backup.sh
      - uses: wrpbr/hookpulse-action@v1
        if: always()
        with:
          status: ${{ job.status }}
```

## Step 2. Run the workflow once

Run it from the Actions tab, or wait for the schedule. The job summary links to the new monitor and its status page.

## Step 3. Choose where the alert goes

Set alert-url for Slack, Discord or another app. For e-mail alerts, add your setup key as the hookpulse-key secret.

[Open HookPulse](https://hookpulse.net/#routines)

[Monitor scheduled GitHub Actions with HookPulse](https://hookpulse.net/guides/github-actions)
