Completed is not done. Crontinel is an outcome monitor for background jobs. It tells you when a job finished with exit code 0 but did no work.
Every runtime sends the same HTTP receipt when a job ends. Crontinel checks it against your rules (for example, "processed at least one record") and alerts by email, Slack or webhook.
curl -X POST https://app.crontinel.com/api/v1/ingest/cron \
-H "Authorization: Bearer $CRONTINEL_INGEST_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_key": "run-1",
"command": "reports:generate",
"status": "completed",
"exit_code": 0,
"started_at": "2026-10-06T12:00:00Z",
"finished_at": "2026-10-06T12:00:05Z",
"outcomes": { "metrics": { "processed_records": 0 } }
}'Recipes for curl, Node.js, Python, Sidekiq and GitHub Actions are in the check-in docs. Any other scheduler can post the same body.
| Repo | What it is |
|---|---|
| laravel | Laravel package. Attaches the receipt to the scheduler and adds queue depth and Horizon freshness. MIT. |
| mcp-server | @crontinel/mcp-server. Lets your AI assistant read and manage your monitors. |
| terraform-provider-crontinel | Terraform provider for schedules, heartbeats and outcome rules. On the Terraform Registry. |
| cli | Command-line tool. |
| docs | Source of docs.crontinel.com. |
| landing | Source of crontinel.com. |
| php | PHP library. |
Other language repos in this organization (Node, Python, Go, Ruby, Rails, Rust, .NET) are not maintained for outcome monitoring. Use the HTTP receipt above instead.
We love open source. Issues and pull requests are welcome on any repo above.
The open-source repositories are MIT licensed. The hosted app at app.crontinel.com is the commercial product.
Built by Harun R Rayhan · crontinel.com