Use case
Schedule an AI agent to run at random times
Create an Untimely event with a Webhook action pointing at your agent's HTTPS endpoint. Choose an interval (how often a cycle repeats), a frequency (how many triggers per cycle), and a time window in UTC. Untimely picks unpredictable trigger times inside that window and calls your endpoint — your agent wakes, does its work, and goes back to sleep.
Why random beats cron for agents
A cron-scheduled agent produces output that is timestamped identically every day, which reads as automation to everyone downstream — and samples the world at the same moment every time. A random window means the agent observes different states of your systems, feeds, or inboxes, and its output lands at believable, varied times.
The scheduling model
Random schedules have three knobs: interval in days, frequency per interval (1–5), and a betweenTimeStart–betweenTimeEnd window in UTC, optionally restricted by daysOfWeek. A deterministic schedule type also exists when an exact time in an IANA timezone is genuinely what you want.
Wiring it to your agent
The webhook action supports GET, POST, PUT, PATCH, and DELETE with custom headers and a body, so it can call a Cloudflare Worker, a Vercel function, or any agent framework's trigger endpoint. Event creation is idempotent when you send an Idempotency-Key header, so agents can safely retry their own setup calls.
Try it
Create it with one API call (create an API key in dashboard settings first):
curl -sS "https://untimely.app/api/events" \
-H "authorization: Bearer $UNTIMELY_API_KEY" \
-H "content-type: application/json" \
-H "idempotency-key: agent-random-heartbeat-001" \
-d '{
"name": "Agent heartbeat at random times",
"interval": 1,
"frequency": 2,
"betweenTimeStart": "13:00",
"betweenTimeEnd": "21:00",
"daysOfWeek": [1, 2, 3, 4, 5],
"actionType": "WEBHOOK",
"webhook": {
"method": "POST",
"url": "https://agent.example.com/run",
"headers": [{"key": "x-api-key", "value": "your-agent-key"}],
"body": "{\"task\": \"heartbeat\"}"
}
}'FAQ
Questions about this use case
How random is the timing?
Each trigger is scheduled at an unpredictable time inside your window; runs are recorded in the event's history so you can audit exactly when they fired.
Can the endpoint be private?
The URL must be a public HTTP or HTTPS endpoint. Authenticate it with a header — the webhook config supports custom headers.
What plans does this need?
The free tier includes 3 events; Pro removes the cap.