Scheduling
Automate recurring tasks with cron schedules, heartbeats, and webhooks
Foxl can run tasks on schedules — automating work 24/7 without you having to prompt it each time.
Three Trigger Types
Cron (Time-Based)
Standard cron expressions for time-based scheduling. Tell the agent in natural language and it creates the schedule automatically.
| What you say | Cron expression | When it runs |
|---|---|---|
| "Every morning at 7am" | 0 7 * * * | Daily at 7:00 AM |
| "Every Monday at 9am" | 0 9 * * 1 | Mondays at 9:00 AM |
| "Every hour" | 0 * * * * | Top of every hour |
| "First of every month" | 0 0 1 * * | 1st of month, midnight |
Heartbeat (Periodic)
Runs at fixed intervals. Good for monitoring and status checks.
- Default interval: 5 minutes
- Configurable per schedule
- Ideal for: checking unread messages, service monitoring, status updates
Webhook (External Trigger)
HTTP endpoints that trigger agent tasks when called from external services.
- GitHub push events trigger code review
- Calendar events trigger meeting preparation
- Custom integrations via webhook URLs
Creating Schedules
Just tell the agent what you want automated:
"Summarize my email every morning at 8am"
The agent will:
- Create a cron schedule (
0 8 * * *) - Set the task prompt ("Check Gmail and summarize unread emails")
- Start executing on schedule
You can also be more specific:
"Every weekday at 6pm, check my GitHub notifications and send me a summary on Slack"
Managing Schedules
Open the Schedules page in the sidebar to see:
- All active schedules with their trigger type and timing
- Human-readable descriptions (e.g., "Every day at 7:00 AM")
- Run history with success/failure status and duration
- Enable/disable toggles for each schedule
Use Cases
Morning Briefing
Schedule a daily briefing that checks your email, calendar, and news:
"Every morning at 7am, read my Gmail, check my Google Calendar for today, and give me a briefing"
Competitive Monitoring
Track competitor activity on a daily basis:
"Every day at noon, check competitor.com for any new blog posts or product updates"
Git Status Reports
Get daily summaries of repository activity:
"Every weekday at 5pm, show me a summary of today's git commits across all my repos"
Health Checks
Monitor your services with regular pings:
"Every 5 minutes, check if api.myapp.com is responding and alert me if it's down"
The desktop app must be running for schedules to execute. Foxl runs locally — if you quit the app or your machine sleeps, schedules pause.
Missed schedules are skipped, not queued. If a cron job was supposed to run at 7am but your laptop was asleep, it will not execute retroactively when you wake up. Only the next scheduled time fires. Plan accordingly for critical automations — keep the app running or use an always-on machine.
Execution History
Every schedule run is logged with:
- Timestamp
- Duration
- Success or failure status
- Output summary
View the full history on the Schedules page or ask the agent: "Show me the last 5 runs of my morning briefing schedule."