Documentation

Everything you need to get started with QuietPulse in under 5 minutes.

# Quick Start

1. Create an Account

Sign up with your email. It's free โ€” no credit card required.

2. Create a Job

In your dashboard, click "New Job" and configure:

  • โ€ขName โ€” a human-readable label (e.g. "Nightly DB Backup")
  • โ€ขExpected Interval โ€” how often the job should run (in minutes)
  • โ€ขGrace Period โ€” extra time before alerting (in minutes)

3. Ping Your Heartbeat URL

After creating a job, you'll get a unique heartbeat URL. Call it after each successful run:

bash
curl -s https://quietpulse.xyz/ping/your-unique-token

4. Connect Telegram or Webhooks

In your dashboard, you'll see two notification options. Click "Connect Telegram" to link your Telegram bot for direct personal alerts. Or configure "Webhook" to route alerts to your own systems, automation tools, or incident platforms. You can use both simultaneously.

# Integration Examples

Crontab

Add the ping call at the end of your cron command:

crontab
# Backup every hour, ping on success
0 * * * * /usr/local/bin/backup.sh && curl -s https://quietpulse.xyz/ping/TOKEN

# Cleanup daily at 3am
0 3 * * * /usr/local/bin/cleanup.sh && curl -s https://quietpulse.xyz/ping/TOKEN2

GitHub Actions

Store the full QuietPulse ping URL in a GitHub Actions secret, then send the heartbeat after the scheduled workflow finishes successfully.

yaml
name: Nightly maintenance

on:
  schedule:
    - cron: '0 2 * * *'
  workflow_dispatch:

jobs:
  maintenance:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run maintenance
        run: ./scripts/maintenance.sh

      - name: Send heartbeat to QuietPulse
        if: success()
        uses: vadyak/quietpulse-actions@v1
        with:
          ping_url: ${{ secrets.QUIETPULSE_PING_URL }}

Action source and README: vadyak/quietpulse-actions.

Bash Script

bash
#!/bin/bash
set -e

# Your task here
pg_dump mydb > /backups/mydb_$(date +%Y%m%d).sql
gzip /backups/mydb_$(date +%Y%m%d).sql

# Ping QuietPulse on success
curl -sf https://quietpulse.xyz/ping/YOUR_TOKEN

Python

python
import requests

def my_scheduled_task():
    # ... your logic here ...
    pass

if __name__ == "__main__":
    my_scheduled_task()
    requests.get("https://quietpulse.xyz/ping/YOUR_TOKEN")

Node.js

javascript
async function runTask() {
  // ... your logic here ...
}

await runTask();
await fetch("https://quietpulse.xyz/ping/YOUR_TOKEN");

# Job Statuses

PENDING

Job created but hasn't received its first ping yet.

OK

Last ping received on time. Everything is running smoothly.

LATE

Ping is overdue but still within the grace period.

MISSING

Ping missed beyond the grace period. Alert sent via your configured notification channels (Telegram and/or webhook).

DISABLED

Job is paused. No monitoring or alerts will be triggered.

# FAQ

What happens if my job fails?

If the ping doesn't arrive within the expected interval + grace period, QuietPulse marks the job as MISSING and sends you an alert via your configured notification channels (Telegram and/or webhook).

Do I need to install anything?

No. QuietPulse works with a simple HTTP GET request. If you have curl, wget, or any HTTP client, you're good to go.

Is it free?

Yes. The free tier includes up to 5 monitored jobs with expected intervals from 1 minute. For higher job limits, see our pricing page.

What notification channels are available?

QuietPulse supports two notification channels: Telegram for direct personal alerts and Webhooks for routing alerts to your own systems, automation tools, or incident management platforms. You can use both simultaneously.