Skip to main content

Deploy Hook

Open in QuickMonitoring→ Sites → [Your Site] → Settings → Deploy Hook

A deploy hook is a unique secret URL generated per site. Send a POST request to that URL right after your deploy finishes and QuickMonitoring will trigger a standard scan automatically. No authentication headers are needed — the secret key in the URL is sufficient.


What you'll see​

Go to Sites → your site → Settings → Deploy Hook.

The page shows:

  • The full hook URL (e.g. https://api.quickmonitoring.com/api/v1/deploy-hook/YOUR_HOOK_KEY)
  • A Copy button
  • A Regenerate button — generates a new key and immediately invalidates the old URL

Setup instructions​

Copy the hook URL from Site Settings and add a POST step to your deployment pipeline. The sections below cover the most common platforms.

Railway​

  1. Open your Railway project
  2. Select the service you deploy to
  3. Go to Settings → Deploy → Webhooks
  4. Paste the hook URL and save

Railway posts to the URL after each successful deploy.

Vercel​

  1. Open your Vercel project
  2. Go to Settings → Git → Deploy Hooks
  3. Give the hook a name (e.g. QuickMonitoring QA) and select the branch
  4. Copy the generated Vercel hook URL — note that this is a Vercel-side hook, not the QuickMonitoring URL
  5. Alternatively, add the QuickMonitoring URL as a post-deploy script in your build command: next build && curl -X POST YOUR_HOOK_URL

Netlify​

  1. Open your Netlify site dashboard
  2. Go to Site → Build & deploy → Deploy notifications
  3. Click Add notification → Outgoing webhook
  4. Set the event to Deploy succeeded
  5. Paste the QuickMonitoring hook URL and save

GitHub Actions​

Add a step at the end of your deploy workflow:

- name: Trigger QA scan
run: curl -X POST https://api.quickmonitoring.com/api/v1/deploy-hook/YOUR_HOOK_KEY

Replace YOUR_HOOK_KEY with the key shown in Site Settings. Place this step after your deploy step so it only runs once the deploy is confirmed.

Full example workflow step in context:

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to production
run: ./deploy.sh
- name: Trigger QA scan
run: curl -X POST https://api.quickmonitoring.com/api/v1/deploy-hook/YOUR_HOOK_KEY

Behavior details​

  • No body required — the POST request can have an empty body; QuickMonitoring ignores the payload
  • Already running — if a scan is already in progress for the site, the hook call is acknowledged but no second scan is started
  • Regenerating the URL — the old key stops working immediately; update all pipelines that use it before regenerating

Pass condition​

✅ You've earned this achievement when the deploy hook URL is generated for a site and at least one scan has been triggered via a POST to that URL.


Common issues​

  • Hook returns a non-200 response — Verify you are sending a POST (not a GET). Some platforms default to GET for outgoing webhook notifications. Check the platform-specific settings to ensure the method is POST.

  • Scan not triggered after the hook fires — If a scan was already running, the request is silently skipped. Wait for the current scan to finish and then fire the hook again, or check the scan history to confirm whether a scan started.

  • Old hook URL still working after regeneration — There may be a brief propagation delay (a few seconds) after regeneration. After that, the old URL returns a 404. Update your pipeline immediately after regenerating.

  • Hook URL exposed in logs — The URL acts as a secret. If it appears in CI logs, regenerate it from Site Settings and update your pipeline to store the key as a secret environment variable (e.g. ${{ secrets.QM_DEPLOY_HOOK }} in GitHub Actions).