HookPulse

Monitor cron jobs, webhooks, backups and scheduled GitHub Actions workflows with HookPulse (hookpulse.net), a dead man's switch. Create a monitor with an interval or a cron schedul…

wendel

@wrpbr

Install

$ openclaw skills install @wrpbr/hookpulse

HookPulse

HookPulse watches routines that should run on a schedule. The routine sends a check-in to its link when it runs. If the check-in is late, or the routine reports a failure, HookPulse sends an alert. The next good check-in sends a recovery message.

Connect

  • MCP server (preferred): https://hookpulse.net/mcp?checkout=site. Transport: Streamable HTTP. With checkout=site, the person buys on the site and the agent never pays.
  • HTTP API: base URL https://hookpulse.net. Each MCP tool calls one route of this API.
  • Identity: create_guest returns a guest token hp_…. Send it as X-Guest-Token on later calls. Keep it: the monitors belong to it until the person signs in on the site.
  • Discovery: GET https://hookpulse.net/api/ lists the routes, prices and limits. https://hookpulse.net/llms-full.txt has the full reference.

MCP tools

ToolHTTPUse it to
create_guestPOST /api/guestGet the guest token that owns the monitors.
create_endpointPOST /api/endpointsCreate a monitor: interval_sec, or cron + tz + grace_sec, and the alert destinations.
import_crontabPOST /api/import/crontabRead a crontab and propose one monitor per line. Nothing is written without apply=1.
list_endpointsGET /api/endpointsList the monitors and their state.
get_endpointGET /api/endpoints/{id}Read one monitor: state, next expected time, last check-in.
list_eventsGET /api/endpoints/{id}/eventsRead the latest check-ins of a monitor.
delete_endpointDELETE /api/endpoints/{id}Remove a monitor.
ping_ingestGET /in/{id}Send a success check-in, as the routine does.
signal_startGET /in/{id}/startRecord that a run started, to measure its duration.
signal_failGET /in/{id}/failRecord a failed run; the alert leaves on the next five-minute check.
signal_exit_codeGET /in/{id}/{exit_code}Record the shell exit code: 0 is success, 1 to 255 a failure.
ingest_keyGET /api/ingest-keyGet the setup key for /in/{key}/{slug}: the first check-in of a name creates its monitor.
ping_slugGET /in/{key}/{slug}Check in by name with the setup key, creating the monitor the first time.
status_feed_urlGET /api/status-feedGet the public status page and feed of all monitors of the owner.
list_templatesGET /api/templatesGet ready snippets: curl, crontab line, n8n, GitHub Actions and the alert JSON.
billingGET /api/billingRead the free allowances, prices and the account trial.
pricingGET /api/pricingRead the current prices.

Rules

  1. Read billing before you create more than ten monitors or add e-mail alerts to more than one monitor. Do not use a price from memory.
  2. Never pay by yourself. If a call returns HTTP 402, show the price and https://hookpulse.net/pricing to the user. The person buys on the site.
  3. The monitor ID is a credential: whoever has it can send check-ins and silence the alarm. Do not print it in public logs or issues. The status page link is the one to share.
  4. A start or failure signal is not proof of life. Only a success check-in resets the expected time.
  5. For a schedule, prefer cron with tz and a grace_sec that covers the usual delay and run time.
  6. If you get HTTP 429 or 503, wait for the time in Retry-After and try once more.

Examples

# Guest token, then a monitor for a backup at 03:00 São Paulo time with 15 minutes of allowed delay
HP=$(curl -s -XPOST https://hookpulse.net/api/guest | jq -r .token)
curl -s -XPOST https://hookpulse.net/api/endpoints -H "X-Guest-Token: $HP" -H 'content-type: application/json' \
  -d '{"name":"nightly-backup","cron":"0 3 * * *","tz":"America/Sao_Paulo","grace_sec":900}'

# At the end of the routine: the exit code of the last command
curl -fsS "https://hookpulse.net/in/$ID/$?"

Limits

Top skills in this category

Free Ride - Unlimited free AI

@shaivpidadi

Manages free AI models from OpenRouter for OpenClaw. Automatically ranks models by quality, configures fallbacks for rate-limit handling, and updates opencla...

49172k

Playwright (Automation + MCP + Scraper)

@ivangdavila

Automates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).

13043k

n8n

@thomasansems

Manage n8n workflows and automations via API. Use when working with n8n workflows, executions, or automation tasks - listing workflows, activating/deactivating, checking execution status, manually triggering workflows, or debugging automation issues.

6121k

OpenClaw Command Center

@jontsai

Mission control dashboard for OpenClaw - real-time session monitoring, LLM usage tracking, cost intelligence, and system vitals. View all your AI agents in one place.

7914k

google-slides

@byungkyu

Google Slides API integration with managed OAuth. Create presentations, add slides, insert content, and manage slide formatting. Use this skill when users want to interact with Google Slides. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Slides connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Slides action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Slides examples; they add no Google Slides capability - Google Slides is not an event source, a trigger cannot read Google Slides data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

3420k