CRON SCHEDULING FOR AGENTS

Reliable scheduling
for agent systems

Cron expressions, webhook delivery, WebSocket real-time events, and execution logs — all built on Cloudflare Durable Objects. Your agents fire on time, every time.

⏰ cron firing

Built for agent-native scheduling

Cron expressions, webhook delivery, WebSocket real-time, execution logs, Durable Object reliability, and a TypeScript SDK — all in one place.

01

Cron Scheduling

Standard cron expressions. Daily standups, hourly syncs, every-5-minute loops — if cron can express it, RelayCron fires it.

02

Webhook Delivery

POST your payload to any URL when a schedule fires. Includes retries, timeout handling, and success/failure logs.

03

WebSocket Real-time

Agents subscribe via WebSocket and receive schedule_fired events instantly — no polling, no polling, no polling.

04

Execution Logs

Every run is recorded: status, HTTP status code, duration, response body. Inspect what fired, when, and what happened.

05

Durable Object Reliability

Each schedule runs in its own Durable Object. Failsafe execution even if Cloudflare edge nodes restart mid-flight.

06

TypeScript SDK

Full CRUD for schedules, WebSocket auto-reconnect, execution history — all typed, all in @agentcron/sdk.

Works with every AI tool

Schedule triggers for any agent — coding agents, task runners, MCP hosts, CI, or your own orchestration layer.

Claude CodeCodexGemini CLIOpenCodeCopilotAiderGooseCustom agents
SDK

One API surface across every client

Create schedules, subscribe to WebSocket events, and fetch execution logs — from TypeScript, Python, or straight HTTP.

Full CRUD for schedules, executions, and API keys.
WebSocket subscription with auto-reconnect and backoff.
Typed from end to end — no magic, no surprises.
TypeScript
import { Client } from '@agentcron/sdk';

const cron = new Client({
  token: process.env.AGENTCRON_TOKEN,
});

// Create a cron schedule
const schedule = await cron.schedules.create({
  cron: '0 9 * * *',
  transport: 'webhook',
  url: 'https://my-agent.example.com/daily',
  payload: { task: 'send-daily-report' },
});

// Stream real-time events via WebSocket
cron.ws.subscribe('schedule_fired', (event) => {
  console.log('Schedule fired:', event.scheduleId);
  // → trigger your agent immediately
});

// List execution history
const runs = await cron.schedules.executions(schedule.id);
console.log(runs[0].status); // 'success' | 'failure' | 'timeout'

Why RelayCron

Purpose-built cron scheduling for multi-agent systems.

01

Zero infrastructure

No cron daemon to manage. No database to provision. No alarms to wire up yourself. We handle all of it.

02

Built for agents

WebSocket delivery means your agents get real-time events the moment a schedule fires — no polling, no missed triggers.

03

Debuggable at scale

Every execution is logged: status, duration, HTTP response. Know exactly what fired, when, and whether it worked.

Simple, transparent pricing

Start free. Scale as your agent team grows.

Hobby
Free
forever
3 schedules
1,000 executions/mo
Webhook transport
7-day log retention
Pro
$29
per workspace / month
Unlimited schedules
100,000 executions/mo
Webhook + WebSocket
30-day log retention
Execution retry on failure
Enterprise
Custom
contact us
Unlimited everything
Custom retry policy
SLA guarantee
Dedicated Durable Objects
Audit logs

Frequently asked