Skip to content

Scheduled Tasks

Scheduled tasks let Atlas do things for you automatically at specified times. Set up a morning briefing that runs at 7 AM, a weekly review prompt every Friday afternoon, or a webhook that pings your team’s Slack channel — all without you having to remember to ask.

Tasks are defined in a file in your vault:

<vault>/atlas/memory/functions/schedule.md

Atlas checks this file periodically and runs any tasks whose scheduled time has arrived. Each task specifies what to do and when to do it using a cron expression.

Runs an AI conversation with a specified prompt. This is the most common type — use it for things like:

  • Morning briefings (“Check my calendar and tasks, give me a summary of today”)
  • Daily standup prep (“Summarize what I worked on yesterday”)
  • Weekly reviews (“What did I accomplish this week?”)
  • Regular reminders (“Remind me to review my goals every Sunday evening”)

The AI response appears as a message in your chat.

Sends an HTTP request to a URL. Useful for integrating with external services:

  • Posting a summary to a Slack channel
  • Triggering a Zapier or Make automation
  • Calling a custom API endpoint

You specify the URL, HTTP method, headers, and body.

Runs a local shell command on your machine. Use with care — this executes directly on your system.

Cron expressions define when a task runs using 5 space-separated fields:

minute hour day-of-month month day-of-week
FieldRange
minute0–59
hour0–23
day of month1–31
month1–12
day of week0–6 (0 = Sunday)

Use * to mean “every” for that field.

Cron expressionWhen it runs
0 7 * * *Every day at 7:00 AM
0 9 * * 1Every Monday at 9:00 AM
0 17 * * 5Every Friday at 5:00 PM
*/30 * * * *Every 30 minutes
0 8 1 * *First of every month at 8:00 AM
0 12 * * 1-5Weekdays at noon

New tasks are created in a disabled state by default. Before a task will run, you must review it and explicitly enable it. This prevents automations from running accidentally or before you’ve had a chance to check what they do.

To enable a task, edit schedule.md and set enabled: true for the task, or ask Atlas: “enable my morning briefing task.”

Atlas keeps a log of every time a scheduled task runs, including whether it succeeded, what output it produced, and how long it took. You can view this history by asking Atlas: “show me the execution history for my morning briefing task.”

Logs are stored as JSONL files in your vault and are retained for 30 days by default.

If a task fails, Atlas retries it automatically with exponential backoff:

RetryDelay before retry
1st retry30 seconds
2nd retry1 minute
3rd retry5 minutes
4th retry15 minutes
5th retry60 minutes

After 5 failed retries, the task stops trying and logs the failure. You’ll see a notification so you know something went wrong.

Tasks can be limited to run only during your active hours. If a task is configured with active_hours_only: true, it will skip any scheduled run that falls outside your configured active hours (default: 8 AM to 10 PM).

This prevents a task scheduled with */30 * * * * from running every 30 minutes at 3 AM when you’re asleep.

Configure your active hours in Settings > Automation.


Next: Reminders