Skip to content
cronpad
Introduction / cronpad documentation

cronpad

cronpad is an open-source job scheduler built for reliability. You describe when (a cron expression, a Quartz expression, or plain English like second tuesday of every month at 9am) and what (an HTTP webhook, or a shell command on self-hosted installs). cronpad fires it on time, retries it when it fails, alerts you when something is wrong, and records how late every single run started.

It ships as one Go binary with no other services to run: SQLite files on a local volume hold everything. Use the hosted service for free, or run it yourself.

What makes it different

  • Measured, not promised. Every run records when it was scheduled, claimed, started and finished. “How late was my 09:00 job?” has an exact answer, and the SLA definition is public: Delivery guarantees.
  • Schedules people can read. Cron, Quartz (L, W, #), RFC 5545 RRULE, or natural language, all with a live preview of the next fire times. See Schedules.
  • Built to survive failure. Two SQLite databases are the source of truth, the queue is a rebuildable SQLite index, and every failure mode has a documented recovery path. See How cronpad works.
  • AI-native. A built-in MCP server and an agent skill let AI assistants create, inspect and debug jobs. See AI integration.
  • Free and open source. No feature gates. The hosted service charges (later) only for larger workloads.

Start here

I want to…Go to
Schedule my first webhook in two minutesGet started on cronpad Cloud
Run cronpad on my own serverSelf-host cronpad
Understand the architectureHow cronpad works
Write a scheduleSchedules
Receive and verify webhooksWebhooks
Automate with codeAPI reference · CLI
Let an AI assistant manage jobsMCP server
Configure every knobConfiguration reference

For AI agents

These docs are written to be read by people and by agents. Every page has a one-paragraph summary at the top. Machine-friendly versions:

  • /llms.txt: index of every page with a one-line description.
  • /llms-full.txt: all documentation as a single Markdown file.
  • Append .md to any docs URL to get that page as raw Markdown.