Skip to content

Frona has two ways to run work on a schedule: scheduled tasks and heartbeats. They serve different purposes.

Scheduled tasksHeartbeats
What it doesRuns a specific task at specific timesWakes the agent up at regular intervals
InstructionsDefined when you create the scheduleWritten by the agent to a HEARTBEAT.md file in its workspace
Best forReports, briefings, recurring jobsOngoing monitoring, watching for changes
Example"Every Monday, compile a weekly report""Keep an eye on my project and let me know if anything needs attention"

Scheduled tasks

Ask an agent in chat to set up a recurring task:

  • "Every weekday at 9 AM, summarize overnight news and my pending items"
  • "Every Monday morning, compile a weekly status report"
  • "Check the status of my deployments every hour"

The agent creates a scheduled task that runs automatically at the specified times. Just describe the schedule in natural language.

How it works

  1. You ask an agent to schedule a recurring task
  2. The agent creates the schedule with your instructions
  3. The scheduler checks for due tasks every 60 seconds
  4. When a task is due, it creates a session for the assigned agent
  5. The agent runs the task and stores the results
  6. The next run time is calculated automatically

Managing scheduled tasks

View schedules. Ask the agent: "What tasks do I have scheduled?" It shows all active schedules with their next run times.

Cancel a schedule. Ask the agent: "Cancel the daily briefing" or "Stop the deployment monitoring."

Modify a schedule. Ask the agent to cancel the old one and create a new one: "Change the weekly report to run on Fridays instead of Mondays."

Heartbeats

Heartbeats are different from scheduled tasks. Instead of running a fixed set of instructions, a heartbeat wakes the agent up at regular intervals to read a HEARTBEAT.md checklist in its workspace and autonomously decide what to do.

The key difference: a scheduled task runs the same instruction every time. A heartbeat gives the agent a checklist to reason about. The agent can update its own checklist, skip items that don't apply, and adapt its behavior over time.

How heartbeats work

  1. The agent writes a checklist to HEARTBEAT.md in its workspace (this must exist before enabling a heartbeat)
  2. The agent sets its own heartbeat interval using the set_heartbeat tool
  3. At each interval, the agent wakes up, reads HEARTBEAT.md, and acts on the checklist
  4. All heartbeat runs share the same persistent chat, so the agent has context from previous runs
  5. The agent can update HEARTBEAT.md during a run to change what it does next time

Setting up a heartbeat

Ask the agent: "Keep an eye on my project and let me know if anything needs attention."

The agent decides what to watch for, writes its checklist to HEARTBEAT.md, sets its own heartbeat interval, and starts waking up periodically.

When to use heartbeats vs. scheduled tasks

  • Use scheduled tasks when you know exactly what needs to happen and when. "Every Monday at 9 AM, send a weekly report."
  • Use heartbeats when the agent needs to continuously monitor something, reason about changing conditions, or evolve its behavior over time.

Example: daily morning briefing

You: "Every weekday at 8 AM, check the latest tech news and summarize the top 5 stories for me."

What happens:

  1. The agent creates a scheduled task for weekdays at 8 AM
  2. Every weekday at 8 AM, the Researcher wakes up
  3. It searches for recent tech news, reads articles, and creates a summary
  4. The summary is available in your chat

Next steps