🧪 Skills

PulseMon

Monitor cron jobs and background tasks with PulseMon. Check monitor status, create/update/delete monitors, view incidents, and manage alerts.

v1.0.1
❤️ 1
⬇️ 113
👁 1
Share

Description


name: pulsemon description: Monitor cron jobs and background tasks with PulseMon. Check monitor status, create/update/delete monitors, view incidents, and manage alerts. metadata: openclaw: requires: env: - PULSEMON_API_KEY

PulseMon Skill

Monitor your cron jobs and background tasks through PulseMon.

Setup

The user needs a PulseMon API key. They can generate one at https://pulsemon.dev/dashboard/settings under "API Keys".

Store it as the environment variable PULSEMON_API_KEY.

Base URL

All API requests go to: https://pulsemon.dev/api/v1

Authentication

Every request must include the header:

Authorization: Bearer {PULSEMON_API_KEY}

Available Actions

List all monitors

GET /api/v1/monitors

Returns an array of monitors with their name, slug, status (up/down/waiting/paused), last ping time, and expected interval.

Get a specific monitor

GET /api/v1/monitors/{id}

Returns full monitor details including recent pings and incidents.

Create a monitor

POST /api/v1/monitors

Content-Type: application/json

Body:

{
  "name": "Nightly Backup",
  "slug": "nightly-backup",
  "expectedInterval": 86400,
  "gracePeriod": 300,
  "tags": ["production"]
}
  • name: Human-readable name (required, 1-100 characters)
  • slug: URL-safe identifier, lowercase letters, numbers, and hyphens only (required, 3-60 characters)
  • expectedInterval: Seconds between expected pings (required, minimum 10, maximum 2592000)
  • gracePeriod: Extra seconds before alerting (optional, 0-86400, defaults to a sensible value based on the interval)
  • tags: Array of string tags for organisation (optional)

Update a monitor

PATCH /api/v1/monitors/{id}

Content-Type: application/json

Body: any of these fields (at least one required):

  • name: string (1-100 characters)
  • expectedInterval: number (10-2592000)
  • gracePeriod: number (0-86400)
  • isPaused: boolean
  • tags: array of strings

Delete a monitor

DELETE /api/v1/monitors/{id}

Pause a monitor

POST /api/v1/monitors/{id}/pause

Resume a monitor

POST /api/v1/monitors/{id}/resume

List pings for a monitor

GET /api/v1/monitors/{id}/pings?limit=20&offset=0

List incidents for a monitor

GET /api/v1/monitors/{id}/incidents?limit=20&offset=0

Response Format

All responses are JSON with this shape:

{
  "data": { ... },
  "error": null
}

On error:

{
  "data": null,
  "error": { "code": "NOT_FOUND", "message": "Monitor not found" }
}

Common Intervals

When the user says a time like "every hour" or "daily", convert to seconds:

  • Every minute: 60
  • Every 5 minutes: 300
  • Every 15 minutes: 900
  • Every 30 minutes: 1800
  • Every hour: 3600
  • Every 6 hours: 21600
  • Every 12 hours: 43200
  • Daily: 86400
  • Weekly: 604800

Guidelines

  • When listing monitors, show name, status, and last ping time in a readable format.
  • When a monitor is "down", mention how long it's been down.
  • When creating a monitor, suggest a sensible grace period if the user doesn't specify one (e.g. 10% of the interval, minimum 30 seconds).
  • After creating a monitor, show the user the ping URL: https://pulsemon.dev/api/ping/{slug}
  • Always confirm before deleting a monitor.
  • When the user says "check my monitors" or similar, use the list endpoint and summarise the results.
  • Format durations in human-readable form (e.g. "2 hours ago" instead of a raw timestamp).

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs