Skip to content
HookDeploy
On this page

Cron jobs

Schedule HTTP requests to any HTTPS URL on a recurring cadence with timezone-aware scheduling, run history, and failure notifications.

HTTP cron jobs let you schedule outbound HTTP requests to any HTTPS URL on a recurring schedule. Use them to keep serverless endpoints warm, run health checks, trigger batch jobs, or send test traffic to your HookDeploy endpoints.

What cron jobs do

Each cron job stores:

  • Target URL (HTTPS only)
  • HTTP method (GET, POST, PUT, PATCH, DELETE, HEAD)
  • Optional headers and request body
  • Cron expression and timezone
  • Notification preferences

HookDeploy runs due jobs according to their saved schedule and records the result for inspection in the dashboard.

Use cases

Use caseExample expressionDescription
Keep services warm*/5 * * * *Ping a serverless function every 5 minutes
Health checks* * * * *Call /health every minute (Team plan minimum interval)
Daily reports0 9 * * *Trigger ETL at 9am in your timezone
Weekday monitoring0 9 * * 1-5Weekday morning checks only
Webhook replay0 */6 * * *POST sample payloads to your endpoint every 6 hours

Cron expression syntax

HookDeploy uses standard 5-field cron expressions:

minute  hour  day-of-month  month  day-of-week
FieldRangeNotes
minute0–59
hour0–2324-hour clock
day-of-month1–31
month1–12
day-of-week0–70 and 7 = Sunday

Examples

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour at minute 0
0 9 * * *Daily at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 9 * * 1Every Monday at 9:00 AM
0 0 1 * *First day of every month at midnight
0 9,17 * * *Daily at 9:00 AM and 5:00 PM
*/30 9-17 * * 1-5Every 30 minutes, 9am–5pm on weekdays

Second-precision (6-field) expressions are not supported.

Timezone configuration

Each job has a timezone field using IANA timezone strings (UTC, America/New_York, Europe/London, etc.). The cron expression is evaluated in that timezone when calculating due times.

Example: 0 9 * * * with timezone America/New_York runs at 9:00 AM Eastern Time, not UTC.

Creating and managing jobs

In the dashboard, go to Cron in your organization sidebar. You need the endpoints.edit permission to create, edit, delete, or manually trigger jobs.

When creating a job:

  1. Enter name and HTTPS URL
  2. Choose method and optional headers/body
  3. Set cron expression (presets available) and timezone
  4. Configure email notification on failure (optional)

After creation, HookDeploy calculates next_run_at automatically.

Run history and response inspection

Every run is logged with:

  • Timestamp and duration
  • HTTP status code or error message
  • Response body (first 10KB, truncated with a note if longer)
  • Trigger source: schedule or manual

View run history on the cron job detail page. New runs appear in the dashboard as they complete.

Filter by time range: last 24 hours, 7 days, 30 days, or all time.

Failure notifications

When a run fails (network error, timeout, or non-2xx status) and email notifications are enabled on the job:

  1. Email — the organization owner receives a failure email with status, duration, and error details

The dashboard toggle is stored as slack_notify_on_failure for compatibility; it currently controls email delivery only. Slack failure notifications for cron jobs are not implemented yet.

Auto-disable behavior

After 10 consecutive failures, HookDeploy automatically disables the job to prevent runaway failures and records the reason.

When auto-disabled:

  • Scheduled runs stop
  • Email notifications include an auto-disable warning when enabled on the job
  • Run history is preserved

Re-enabling a disabled job

From the dashboard:

  1. Open the cron job (card shows a red banner when auto-disabled)
  2. Click Re-enable or Edit and toggle enabled back on
  3. Consecutive failure count resets to zero
  4. The next run is recalculated from the current time

Fix the underlying issue (wrong URL, auth, server down) before re-enabling.

Plan limits

PlanMax cron jobsMinimum interval
Free21 hour
Starter105 minutes
Team501 minute
EnterpriseUnlimited1 minute

The dashboard validates expressions against your plan’s minimum interval before saving. Attempting to create a job with too-frequent scheduling returns a validation error.

Dashboard support

Create, edit, trigger, and inspect cron jobs from the HookDeploy dashboard. Cron job management is not currently exposed through the public REST API.

Common expressions reference

ExpressionDescription
* * * * *Every minute
*/5 * * * *Every 5 minutes
*/15 * * * *Every 15 minutes
*/30 * * * *Every 30 minutes
0 * * * *Every hour
0 */6 * * *Every 6 hours
0 0 * * *Daily at midnight
0 9 * * *Daily at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 9 * * 1Every Monday at 9:00 AM
0 0 1 * *Monthly on the 1st at midnight

Next steps

  • Slack integration — webhook delivery alerts on Starter and above
  • Plans — compare cron job limits across plans