crontap-schedule-http-job
Create, update, and verify recurring Crontap HTTP requests with cron or plain English, timezones, headers, and JSON bodies. Use when a user wants to schedule a webhook, API call, or cloud function through MCP or REST.
How do I install this agent skill?
npx skills add https://github.com/crontap/skills --skill crontap-schedule-http-jobIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides instructions for scheduling HTTP requests using the Crontap service via MCP or REST. It follows security best practices by recommending the use of secure stores for credentials and environment variables for API keys rather than hardcoding secrets. No malicious patterns or significant security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Schedule an HTTP job
Prerequisites
Before using the required tools, check whether they are available. If any are missing, stop and offer the user exactly two choices:
- Connect Crontap MCP at
https://mcp.crontap.com/mcp. MCP access works on every Crontap tier. - Configure
$CRONTAP_CLIENT_IDand$CRONTAP_API_KEYfor the raw API. Raw API access requires Ultra.
Do not silently choose a path or continue until the user selects one.
- Confirm the absolute HTTP or HTTPS endpoint, method, cadence, and IANA timezone.
- Ask whether the endpoint needs headers, a JSON body, or an idempotency key.
- Keep credentials out of URLs and logs. Refer to values from a secure store.
Workflow
- Preview plain-English cadence and resolve every clarification.
- Show the resolved cron, timezone, and next runs to the user.
- Create the schedule with exactly one of
textorcron. - For changes, identify the existing schedule and send only changed fields.
- After execution, inspect retained history and verify the endpoint outcome.
MCP examples
Preview without saving:
{
"tool": "preview_schedule",
"arguments": {
"text": "every weekday at 09:15",
"timezone": "Europe/Copenhagen"
}
}
Create a protected JSON request:
{
"tool": "create_schedule",
"arguments": {
"url": "https://app.example.com/api/daily-report",
"text": "every weekday at 09:15",
"timezone": "Europe/Copenhagen",
"method": "POST",
"headers": {
"Authorization": "Bearer <secret-from-secure-store>",
"Content-Type": "application/json"
},
"body": {
"source": "crontap"
},
"label": "Daily report"
}
}
Partially update a schedule:
{
"tool": "update_schedule",
"arguments": {
"scheduleId": "<schedule-id>",
"cron": "30 9 * * 1-5",
"timezone": "Europe/Copenhagen"
}
}
Omitted update fields preserve the existing configuration, including hidden
request secrets. An empty headers object replaces and clears headers.
Read recent runs:
{
"tool": "get_schedule_history",
"arguments": {
"scheduleId": "<schedule-id>",
"limit": 20
}
}
Use a returned cursor unchanged to request the next page.
REST fallback
Use REST only when MCP is unavailable and the account has Ultra API access.
REST uses interval, verb, and data instead of the MCP aliases.
curl --fail-with-body https://api.crontap.com/v1/schedule \
-X POST \
-H "ClientId: $CRONTAP_CLIENT_ID" \
-H "ApiKey: $CRONTAP_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"url": "https://app.example.com/api/daily-report",
"interval": "30 9 * * 1-5",
"timezone": "Europe/Copenhagen",
"verb": "POST",
"headers": {
"Authorization": "Bearer <secret-from-secure-store>",
"Content-Type": "application/json"
},
"data": {"source": "crontap"},
"label": "Daily report"
}'
Verification
- Confirm the saved URL, method, cron, timezone, and next runs.
- Verify the endpoint handles the selected method and returns a success status.
- Inspect history after the first run for status, duration, timeout, and retry evidence.
Safety and plan limits
- Preview local-time schedules before creating them, especially around DST.
- Do not overwrite headers or integrations during an unrelated partial update.
- Make write endpoints idempotent when retries or overlapping calls are possible.
- If a plan cap or cadence floor blocks creation, explain the structured four-option upgrade ladder and its smallest viable option.
Troubleshooting
- A clarification response is not a failure. Ask the returned question, then preview again.
- A 401 or 403 from the target usually means an expired or malformed endpoint credential.
- A timeout means Crontap did not receive a response in time. Check endpoint runtime and downstream calls before increasing retries.
- A 404 from MCP means the schedule ID is stale. List schedules before retrying.
References
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/crontap/skills/crontap-schedule-http-job">View crontap-schedule-http-job on skillZs</a>