Skip to content
cronpad
Get started / Get started on cronpad Cloud

Get started on cronpad Cloud

In this tutorial you create a job that sends an HTTP request every five minutes, trigger it once by hand, and read its run history. It takes about two minutes.

Before you start

You need a URL that accepts POST requests. If you don’t have one, use any request-inspection service, or a tiny server of your own.

1. Sign in

Open the cronpad dashboard at app.cronpad.com and sign in with Google or GitHub. A personal workspace is created for you. Workspaces hold your jobs, API keys, secrets and alert settings.

2. Create a job

  1. Select New job.
  2. Name: heartbeat.
  3. Schedule: type every 5 minutes. The preview under the field shows the next fire times in your timezone. If the text can’t be parsed, the problem is underlined with a suggestion.
  4. Timezone: defaults to your browser’s timezone.
  5. Sink: choose Webhook, method POST, and paste your URL.
  6. Select Send test. cronpad makes one real request and shows the status code and response body. Nothing is recorded as a run.
  7. Select Create.

The job page shows a signing secret (whsec_…) once. Copy it if you want to verify that requests really come from cronpad. See Verify signatures.

3. Trigger it now

Select Run now. A run appears in the Runs table within a second, with its status, how late it started (start lag), how long the request took, and the number of attempts. Select the run to see each attempt’s request summary, status code and response.

Manual runs don’t change the schedule. The next scheduled run still happens at its normal time.

4. Do the same from the command line

Create an API key under Settings → API keys, then:

export CRONPAD_URL=https://app.cronpad.com
export CRONPAD_API_KEY=cp_…

curl -sS "$CRONPAD_URL/api/v1/jobs" \
  -H "Authorization: Bearer $CRONPAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "heartbeat-api",
    "schedule": {"expr": "every 5 minutes", "timezone": "UTC"},
    "sink": {"kind": "webhook", "config": {"url": "https://example.com/hook"}}
  }'

Next steps