Scheduler0
A Unified Platform for Cron Jobs
Set up, run, and scale scheduled jobs — without the guesswork.
Say goodbye to silent failures, timezone headaches, and clunky UIs. Scheduler0 helps modern teams schedule jobs across any cloud, monitor execution in real time, and recover automatically when things go wrong.
Built for Developers
Scheduler0 is more than a cron runner — it's your automation engine, built with DX and observability in mind.
📊 Full Observability
Real-time logs, job history, success rates, and alerts.
🐳 Flexible Execution
Run containers, webhooks, scripts, or cloud functions.
🌍 Cloud-Native & Multi-Cloud
Execute jobs to AWS, GCP, Azure — or bring your own environment.
Schedule with Natural Language
Let your end users describe their scheduling needs in plain English. AI handles the complexity, you focus on building.
📅 Event-Based Follow-ups
Perfect for sales teams, customer success, and any workflow that needs to respond to calendar events.
End User Says:
"Follow up 2 days after the demo"
No cron expressions, no complex timing logic
AI Delivers:
Type: FOLLOW_UP
Start Date: demo + 2 days
Subject: "How was your demo?"
Perfect timing, professional messaging
// AI Prompt Scheduling - Let your end users describe scheduling in plain English
import Client from '@scheduler0/node';
const event = await client.events.create({
event: "demo_scheduled",
data: {
customerName: "Acme Corp",
customerEmail: "john@acme.com",
demoDate: "2024-01-15T14:00:00Z",
product: "Enterprise Plan",
salesRep: "sarah@company.com"
},
projectId: 123,
startDate: "2024-01-15T14:00:00Z",
endDate: "2024-01-15T15:00:00Z",
timezone: "America/New_York"
});
const promptResponse = await client.ai.createJobFromPrompt({
prompt: "Follow up 2 days after the demo", // End user's natural language
purposes: ["sales_follow_up", "customer_engagement"],
events: ["demo_scheduled"],
metadata: {
eventId: event.data.id,
customerEmail: "john@acme.com",
salesRep: "sarah@company.com"
},
timezone: "America/New_York"
});
const followUpJob = await client.jobs.create({
projectId: 123,
timezone: promptResponse.timezone,
spec: promptResponse.cronExpression,
startDate: promptResponse.startDate, // AI calculated: demo + 2 days
data: JSON.stringify({
subject: promptResponse.subject,
body: promptResponse.body,
delivery: promptResponse.delivery,
eventId: event.data.id
}),
retryMax: 2,
status: 'active',
executorId: 'email-executor-id',
});⏰ One-Off Task Scheduling
Let users schedule one-time tasks like file sharing, report delivery, and reminders through natural conversation.
End User Says:
"Send the quarterly report to john@company.com tomorrow at 2 PM"
Chatbot understands file, recipient, and timing
AI Delivers:
Subject: "Quarterly Report - Q4 2024"
Timing: Tomorrow 2 PM EST
Attachment: q4-2024-report.pdf
Professional email with perfect timing
// AI File Delivery - Let your users describe file sharing naturally
import Client from '@scheduler0/node';
const userPrompt = "Send the quarterly report to john@company.com tomorrow at 2 PM";
const promptResponse = await client.ai.createJobFromPrompt({
prompt: userPrompt,
purposes: ["file_delivery", "document_sharing"],
events: ["user_request"],
metadata: {
filePath: "/reports/q4-2024-report.pdf",
recipientEmail: "john@company.com",
senderEmail: "bot@company.com"
},
timezone: "America/New_York"
});
const deliveryJob = await client.jobs.create({
projectId: 123,
timezone: promptResponse.timezone,
spec: promptResponse.cronExpression,
startDate: promptResponse.startDate,
data: JSON.stringify({
subject: promptResponse.subject,
body: promptResponse.body,
delivery: promptResponse.delivery,
filePath: "/reports/q4-2024-report.pdf",
recipientEmail: "john@company.com"
}),
retryMax: 2,
status: 'active',
executorId: 'email-with-attachment-executor',
createdBy: 'chatbot'
});🔄 Recurring Event-Based Tasks
Perfect for ongoing workflows that start after an event and repeat on a schedule.
End User Says:
"Send weekly check-ins every Monday after the trial starts"
Recurring task triggered by an event
AI Delivers:
Cron: 0 9 * * 1
Start: trial_start + 1 week
Subject: "How's your trial going?"
Perfect recurring schedule after event
// AI Recurring Event-Based Tasks - Start recurring tasks after events
import Client from '@scheduler0/node';
const trialEvent = await client.events.create({
event: "trial_started",
data: {
customerName: "Acme Corp",
customerEmail: "john@acme.com",
trialStartDate: "2024-01-15T00:00:00Z",
plan: "Enterprise Trial"
},
projectId: 123,
startDate: "2024-01-15T00:00:00Z",
endDate: "2024-01-15T00:00:00Z",
timezone: "America/New_York"
});
const promptResponse = await client.ai.createJobFromPrompt({
prompt: "Send weekly check-ins every Monday after the trial starts",
purposes: ["customer_success", "trial_engagement"],
events: ["trial_started"],
metadata: {
eventId: trialEvent.data.id,
customerEmail: "john@acme.com",
trialDuration: "30 days"
},
timezone: "America/New_York"
});
const recurringJob = await client.jobs.create({
projectId: 123,
timezone: promptResponse.timezone,
spec: promptResponse.cron, // Recurring schedule
startDate: promptResponse.startDate, // Start after event
data: JSON.stringify({
subject: promptResponse.subject,
body: promptResponse.body,
delivery: promptResponse.delivery,
eventId: trialEvent.data.id
}),
retryMax: 2,
status: 'active',
executorId: 'email-executor-id',
createdBy: 'ai-assistant'
});
📅 Recurring Scheduled Tasks
Perfect for regular maintenance, reports, and routine tasks that run on a fixed schedule.
End User Says:
"Send monthly reports every first Monday at 9 AM"
Standalone recurring task
AI Delivers:
Cron: 0 9 1-7 * 1
Frequency: Monthly
Subject: "Monthly Report - [Month]"
Complex cron expression made simple
// AI Recurring Scheduled Tasks - Standalone recurring tasks
import Client from '@scheduler0/node';
const promptResponse = await client.ai.createJobFromPrompt({
prompt: "Send monthly reports every first Monday at 9 AM",
purposes: ["reporting", "monthly_updates"],
events: [],
metadata: {
reportType: "monthly_summary",
recipients: ["team@company.com", "management@company.com"]
},
timezone: "America/New_York"
});
const monthlyJob = await client.jobs.create({
projectId: 123,
timezone: promptResponse.timezone,
spec: promptResponse.cron, // Complex recurring schedule
data: JSON.stringify({
subject: promptResponse.subject,
body: promptResponse.body,
delivery: promptResponse.delivery,
reportType: "monthly_summary"
}),
retryMax: 1,
status: 'active',
executorId: 'report-generator-executor',
createdBy: 'ai-assistant'
});Developer Experience You'll Love
From CLI to UI to Terraform — schedule and manage jobs however you work.
🧑💻 scheduler0-cli
Create, test, and monitor jobs from your terminal.
🔧 API & SDKs
Automate everything with REST or native SDKs (Go, Python, JS).
Cloud-Native Architecture
Scheduler0 is designed to be truly cloud-native. The core platform doesn't rely on cloud providers for data storage, using SQLite and Raft consensus instead.
🚀 Built with Go
High-performance, compiled language ensures reliability and speed across all environments.
💾 SQLite & Raft
No cloud provider lock-in. Self-contained data storage with distributed consensus for high availability.
☁️ Deploy Anywhere
Run on AWS, GCP, Azure, on-premises, or any infrastructure that fits your needs.
Enterprise Deployment Options
For teams that need more control, we offer deployment on your infrastructure with full support and management.
🏢 Custom Deployment
Deploy Scheduler0 on your own infrastructure. We work directly with your team to set up and configure the platform.
- ✓ Deploy to your cloud or on-premises
- ✓ Full control over data and infrastructure
- ✓ Custom SLAs and configurations
🔧 Managed Infrastructure
Let us manage the infrastructure for you. We handle deployment, updates, and maintenance while you focus on building.
- ✓ Fully managed deployment
- ✓ Automatic updates and monitoring
- ✓ Dedicated support and priority assistance
Simple Pricing
Free Tier
$0
- 1,000 job executions per month
- Job payload up to 3kb
- Up to 3 retries
- 30 days executions logs retention
- Free 100 AI prompt credits
Additional credits: $25 per 2000 credits
Paid
/month
/year
Save $70/year (17% off)
- 100,000 job executions per month
- Job payload up to 1mb
- Up to 15 retries
- 90 days execution logs retention
- 10 seat for team members
- 2000 AI prompt credits / month
Additional credits: $25 per 2000 credits
Enterprise
Contact Us
- Everything in Paid plan
- Deploy to your infrastructure
- Custom SLAs
- SSO
- Group based access control
- Dedicated support
- Migration support
- Priority feature requests