# 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](https://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](../sinks/webhooks.md#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:

```sh
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

- Learn every schedule format: [Schedules](../schedules/index.md).
- Make failures loud: [Alerts](../alerts/index.md).
- Tune retries: [Retries](../retries-and-failures/retries.md).
- Let your AI assistant manage jobs: [MCP server](../ai/mcp-server.md).